--- rpl/src/rplexternals.h 2010/03/17 14:14:37 1.5 +++ rpl/src/rplexternals.h 2011/06/24 20:31:42 1.25 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.13 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.0.prerelease.4 + Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -39,9 +39,10 @@ ================================================================================ */ -#define allocation(a) allocation((*rpl_arguments).s_etat_processus, a) -#define copie_objet(a, b) copie_objet((*rpl_arguments).s_etat_processus, a, b) -#define liberation(a) liberation((*rpl_arguments).s_etat_processus, a) +#define allocation(a) librpl_allocation((*rpl_arguments).s_etat_processus, a) +#define copie_objet(a, b) librpl_copie_objet( \ + (*rpl_arguments).s_etat_processus, a, b) +#define liberation(a) librpl_liberation((*rpl_arguments).s_etat_processus, a) /* -------------------------------------------------------------------------------- @@ -193,12 +194,19 @@ #define logger(...) do { syslog(LOG_NOTICE, __VA_ARGS__); } while(0) #define exportExternalFunctions(...) \ - char **__external_symbols(unsigned long *nb_symbols) { \ + char **__external_symbols(unsigned long *nb_symbols, \ + const char *version) { \ char arguments[] = #__VA_ARGS__; \ char **tableau; \ char *ptr1, *ptr2; \ int drapeau; \ unsigned long i; \ + if (strcmp(version, _d_version_rpl) != 0) \ + { \ + notice(stdout, "Versions mismatch : library %s, expected %s\n", \ + _d_version_rpl, version); \ + (*nb_symbols) = -1; return(NULL); \ + } \ (*nb_symbols) = 0; ptr1 = arguments; drapeau = 0; \ while((*ptr1) != 0) \ { \