Pour en finir avec Lulu la Nantaise
Par hr le lundi 17 mars 2008, 12:32 - code - Lien permanent
Au final, je me suis occupé des espaces, le but de ce script étant au départ de fournir un code nettoyé qui pourra passer au banc des statistiques. Le script sed est disponible et placé sous license type *BSD. Quelques corrections d'erreur et de nouvelles fonctions constituent cette dernière version du script.
J'utilise un petit fichier de définition test.h :
/* * Big story here * my life */ // one line #define HEHE 1 /* includes */ #include "blah" #include "foo" // end line comment #include /* weird comment */ "pouet" int woop /* to see */ /* let's continue with weird comments */ void sigpipe_handle(int); /*------------- bloh ---------------*/ int main(int argc, char **argv); int parseCommandLine(int argc, char* argv[]);
Ce qui donne, une fois passé par sed :
$ sed -nf ccmtstrip.sed test.h #define HEHE 1 #include "blah" #include "foo" #include "pouet" int woop void sigpipe_handle(int); int main(int argc, char **argv); int parseCommandLine(int argc, char* argv[]);
Commentaires
Juste pour le plaisir de prendre ce script en défaut, je lui ait donné ce fichier :
/*/
* very weird comment
/*/
int main(void);
Et visiblement, il n'a pas détecté le commentaire.
Indeed, je vais me pencher sur cas particulier évident mais qui m'était passé sous le nez ::)
Merci pour ce commentaire judicieux, j'ai déjà une piste.