--- rpl/src/rplexternals.h 2017/07/05 13:53:40 1.80 +++ rpl/src/rplexternals.h 2017/07/10 14:47:59 1.83 @@ -105,9 +105,13 @@ #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 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') +#define procStatus(a) (*a).s_etat_processus /* -------------------------------------------------------------------------------- @@ -1063,7 +1067,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; \ @@ -1243,6 +1247,15 @@ } \ } } while(0) +// NON +#define createObject(rpl_object) do { \ + if (rpl_object != NULL) \ + systemError("Reallocated object"); \ + if ((rpl_object = _allocation(NON)) == NULL) \ + systemError("Memory allocation error"); \ + (*rpl_object).objet = NULL; \ + } while(0) + // EXT #define createExternalObject(rpl_object, subtype) do { \ if (rpl_object != NULL) \