• [^] # Re: And ze winner iz:

    Posté par . En réponse au message Supprimer tous les appels d'une fonction dans l'ensemble du code source. Évalué à 2.

    Ca résiste sans problème au retour à la ligne. Mais pas aux commentaires contenant ce caractère:

    printk(KERN_DEBUG "%s: Encryption failed: len=%d.\n", /* ugly hack ; must be rewritten*/
    ieee->dev->name, frag->len);


    Pour ce genre de besoin, il faut une sorte de parser C simplifié. Le faire en awk est je pense possible. Sinon flex/bison est vraiment fait pour (bonjour la doc si tu débutes).

    Quelle que soit la solution utilisée, il ne faut pas que le code soit compliqué.
    Exemple avec erreur à la compilation une fois que c'est passé à la moulinette:

    if ( truc() && printk(KERN_DEBUG "%s: Encryption failed: len=%d.\n", ieee->dev->name, frag->len) ) {
    blah;
    }
    /* oui, c'est crade. Mais c'est valide */


    Exemple avec bug:

    result = printk(KERN_DEBUG "%s: Encryption failed: len=%d.\n", ieee->dev->name, frag->len);
    if (result<=0 && errorstop=true) {
    blah;
    }