Remplacer une fonction ou définir par le texte lui-même

Comment puis-je remplacer toutes les occurrences de

check_free_set_to_null(&pointer) 

par

 if (pointer) { free(pointer) printf(pointer have been freed) } else { printf(pointer couldnt had been freed) return (1) } 

peut-être en utilisant une sorte de

{1} = check_free_set_to_null (CONTENT)

  if ({1}) { free({1}) printf({1} have been freed) } else { printf({1} couldnt had been freed) return (1) } 

Comment pourrais-je faire ça? (notez que ce n’est pas exactement ce qui doit être remplacé, c’est juste un exemple) Je ne cherche pas le compilateur à l’interpréter comme plusieurs lignes, je cherche à modifier le fichier.

Vous pouvez utiliser des macros pour ce travail.

 #define check_free_set_to_null(pointer) if (pointer) { \ free(pointer)\ printf(pointer have been freed)\ } else {\ printf(pointer couldnt had been freed)\ return (1)\ }