version 1.81, 2017/07/06 10:18:04
|
version 1.89, 2018/05/30 09:27:39
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.27 |
RPL/2 (R) version 4.1.29 |
Copyright (C) 1989-2017 Dr. BERTRAND Joël |
Copyright (C) 1989-2018 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 105
|
Line 105
|
#define initializeObject(a, b) do { \ |
#define initializeObject(a, b) do { \ |
(*a).descripteur_bibliotheque = (*b).descripteur_bibliotheque; \ |
(*a).descripteur_bibliotheque = (*b).descripteur_bibliotheque; \ |
(*a).extension_type = (*b).extension_type; } while(0) |
(*a).extension_type = (*b).extension_type; } while(0) |
#define objectContainer(a) (*a).objet |
#define objectContainer(type, a) ((type *) ((*a).objet)) |
|
#define objectOf(a) ((*a).objet) |
#define ifIsExternal(a, b) if (((*a).type == EXT) && ((*a).extension_type == b)) |
#define ifIsExternal(a, b) if (((*a).type == EXT) && ((*a).extension_type == b)) |
#define elseIfIsExternal(a, b) } else if (((*a).type == EXT) && \ |
#define elseIfIsExternal(a, b) } else if (((*a).type == EXT) && \ |
((*a).extension_type == b)) |
((*a).extension_type == b)) |
#define subType(a) ((*a).extension_type) |
#define subType(a) ((*a).extension_type) |
#define integerFormat(a) formateur_nombre(s_etat_processus, a, 'I') |
#define integerFormat(a) formateur_nombre(s_etat_processus, a, 'I') |
|
#define procStatus(a) (*a).s_etat_processus |
|
|
/* |
/* |
-------------------------------------------------------------------------------- |
-------------------------------------------------------------------------------- |
Line 148
|
Line 150
|
({ __CATCH_SYSTEM_ERROR__; typeof(daisyChain) __daisyChain = daisyChain; \ |
({ __CATCH_SYSTEM_ERROR__; typeof(daisyChain) __daisyChain = daisyChain; \ |
if (__daisyChain == NULL) executionError("End of daisy chain"); \ |
if (__daisyChain == NULL) executionError("End of daisy chain"); \ |
(__daisyChain == NULL) ? NULL : (*__daisyChain).suivant; }) |
(__daisyChain == NULL) ? NULL : (*__daisyChain).suivant; }) |
|
|
|
#define next suivant |
|
#define data donnee |
|
#define daisyChain struct_liste_chainee |
|
|
#define null NULL |
#define null NULL |
#define nullify(ptr) __CATCH_SYSTEM_ERROR__; do { ptr = NULL; } while(0) |
#define nullify(ptr) __CATCH_SYSTEM_ERROR__; do { ptr = NULL; } while(0) |
Line 222
|
Line 228
|
unsigned char __taille_bloc; \ |
unsigned char __taille_bloc; \ |
unsigned char __type; \ |
unsigned char __type; \ |
t_8_bits __masque; \ |
t_8_bits __masque; \ |
|
void *s_etat_processus = (*rpl_arguments).s_etat_processus; \ |
|
DISABLE_SET_BUT_NOT_USED_WARNING(s_etat_processus); \ |
{ \ |
{ \ |
(*rpl_arguments).instruction_valide = 'Y'; \ |
(*rpl_arguments).instruction_valide = 'Y'; \ |
(*rpl_arguments).erreur = 0; \ |
(*rpl_arguments).erreur = 0; \ |
Line 363
|
Line 371
|
#define endSubroutine END } |
#define endSubroutine END } |
|
|
#define notice(s, ...) __CATCH_SYSTEM_ERROR__; \ |
#define notice(s, ...) __CATCH_SYSTEM_ERROR__; \ |
do { if (affichage_rplso == d_vrai) \ |
do { ufprintf(s, __VA_ARGS__); fflush(s); } while(0) |
{ ufprintf(s, __VA_ARGS__); fflush(s); } } while(0) |
|
#define logger(...) __CATCH_SYSTEM_ERROR__; \ |
#define logger(...) __CATCH_SYSTEM_ERROR__; \ |
do { syslog(LOG_NOTICE, __VA_ARGS__); } while(0) |
do { syslog(LOG_NOTICE, __VA_ARGS__); } while(0) |
|
|
Line 1246
|
Line 1253
|
} \ |
} \ |
} } while(0) |
} } 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 |
// EXT |
#define createExternalObject(rpl_object, subtype) do { \ |
#define createExternalObject(rpl_object, subtype) do { \ |
if (rpl_object != NULL) \ |
if (rpl_object != NULL) \ |