Ctags: C: una función se detecta como variable

Creado en 29 jun. 2016  ·  3Comentarios  ·  Fuente: universal-ctags/ctags

Hola,

El ctags e5b7a2508db6e1374ea78a300cc9b45f4b26b02a detecta una función como variable en el encabezado epan / except.h de la biblioteca Wireshark:

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

El comando

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

devoluciones:

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

Sin embargo, es una función except_unhandled_catcher (tanto el tipo de valor de retorno como el tipo de parámetro son punteros de función).

Gracias.

Parser buenhancement

Comentario más útil

Dios ... esta sintaxis es difícil: D
Intentaré darle sentido.

Todos 3 comentarios

Puedo confirmar esto, y que el antiguo analizador de C lo hizo bien. Ignorar / eliminar WS_DLL_PUBLIC no cambia nada en ninguno de los casos.

$ ./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 *);

Dios ... esta sintaxis es difícil: D
Intentaré darle sentido.

Esto debería ser arreglado por # 1119.

¿Fue útil esta página
0 / 5 - 0 calificaciones