Ma mystérieuse directive #(var)
Bonjour,
J'ai un code C que je souhaite analyser (elle utilise les bibliothèque Ncurses et Form).
elle utilise la fonction
form=new_form(field);
cette fonction renvoit un pointeur NULL en cas d'erreur
Pour gérer les erreurs, le code que je dois analyser à écrit l'instruction:
form=TESTNULL(new_form(field));
Ou TESTNULL est une fonction. Jusqu'ici tout va bien.
Cependant: j'ai dans un fichier include la définition de TESTNULL suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11
| static void* testnull(void *const a,char *const ou) {
if (a != NULL) {
return a;
} else {
end_curse();
printf("erreur return testnull in %s\n",ou);
exit(1);
}
}
#define TESTNULL(a) testnull(a,#a) |
J'aimerai connaitre le rapport entre a et #a.
Merci de me donner une répondre