--- rpl/src/rplexternals.h 2017/07/04 10:28:09 1.79 +++ rpl/src/rplexternals.h 2017/07/06 10:18:04 1.81 @@ -101,6 +101,15 @@ if (((*s_etat_processus).erreur_execution != d_ex) || \ ((*s_etat_processus).erreur_systeme != d_es)) \ { __VA_ARGS__; return(0); } } while(0) +#define structObject struct_objet +#define initializeObject(a, b) do { \ + (*a).descripteur_bibliotheque = (*b).descripteur_bibliotheque; \ + (*a).extension_type = (*b).extension_type; } while(0) +#define objectContainer(a) (*a).objet +#define ifIsExternal(a, b) if (((*a).type == EXT) && ((*a).extension_type == b)) +#define elseIfIsExternal(a, b) } else if (((*a).type == EXT) && \ + ((*a).extension_type == b)) +#define subType(a) ((*a).extension_type) #define integerFormat(a) formateur_nombre(s_etat_processus, a, 'I') /* @@ -172,8 +181,8 @@ #define declareUnion typedef union { #define as(name) } name; -#define target(a) (*a) -#define address(a) (&a) +#define target(a) (*(a)) +#define address(a) (&(a)) #define subroutine(name) int name() #define beginGroup { __CATCH_SYSTEM_ERROR__; @@ -1057,7 +1066,7 @@ ((*rpl_object).type == CHN) #define ifIsString(rpl_object) if (isString(rpl_object)) -#define elseIfIsString(rpl_object) else if (isString(rpl_object)) +#define elseIfIsString(rpl_object) } else if (isString(rpl_object)) #define setString(rpl_object, string) do { \ struct_processus *s_etat_processus; \