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 : Sélectionner tout - Visualiser dans une fenêtre à part
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