Ctags: C : Une fonction est détectée comme variable

Créé le 29 juin 2016  ·  3Commentaires  ·  Source: universal-ctags/ctags

Bonjour,

Le ctags e5b7a2508db6e1374ea78a300cc9b45f4b26b02a détecte une fonction comme variable dans l'entête epan/except.h de la librairie Wireshark :

WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

La commande

ctags -x --c-kinds=fpvx --language-force=c epan/except.h | grep except_unhandled_catcher

Retour:

except_t variable 100 epan/except.h WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

Cependant, c'est une fonction except_unhandled_catcher (le type de valeur de retour et le type de paramètre sont des pointeurs de fonction).

Merci.

Parser buenhancement

Commentaire le plus utile

bon sang... cette syntaxe est difficile :D
Je vais essayer de lui donner un sens.

Tous les 3 commentaires

Je peux le confirmer, et que l'ancien analyseur C a raison. Ignorer/supprimer WS_DLL_PUBLIC ne change rien dans les deux cas.

$ ./ctags -x --OldC-kinds=+pv --languages=OldC /tmp/1012.c
except_unhandled_catcher prototype     1 /tmp/1012.c      WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);

bon sang... cette syntaxe est difficile :D
Je vais essayer de lui donner un sens.

Cela devrait être corrigé par #1119.

Cette page vous a été utile?
0 / 5 - 0 notes