./8 ah non là pour moi c'est totalement illisible, et en plus t'as besoin d'un flag pour savoir si ça a merdé ou pas !
Un autre truc qu'on fait parfois au taf c'est:
int ret = OK;
ret = action1();
if(ret==ok) {
ret = action2();
}
if(ret==ok) {
ret = action3();
}
return ret;
Dans les fonctions qui n'ont pas besoin de cleanup c'est top, et quand y'en a besoin on analyse les valeurs des variables, genre if(f) fclose(f);
Pour malloc ça se passe bien encore plus simplement puisque free(NULL) fait NOP.