• [^] # Re: Cast

    Posté par . En réponse au message Libnids. Évalué à 2.

    J'ajoute que la bibliothèque a l'air, à priori, d'avoir été salement écrite ! Extrait de nids.h :

    int nids_init (void);
    void nids_register_ip_frag (void (*));
    void nids_register_ip (void (*))
    void nids_register_tcp (void (*));
    void nids_register_udp (void (*));
    void nids_killtcp (struct tcp_stream *);


    Si cette fonction attend une fonction de callback, il me semble qu'elle n'attend rien d'autre et dans ce cas, le développeur aurait pu se fendre de faire le prototype d'un pointeur de fonction correct ! Ce raccourci t'oblige à introduire une ânerie dans ton code, pourtant propre à l'origine ...

    Ceci dit, même avec une bibliothèque correcte, tu aurais peut-être rencontré des ennuis dus au fait que le C++ décore les symboles de fonctions, principalement pour assurer les mécanismes de surcharge. Dans ce cas, il aurait fallu placer ton prototype dans un extern "C" { } ...