Ctags: C: Uma função é detectada como variável

Criado em 29 jun. 2016  ·  3Comentários  ·  Fonte: universal-ctags/ctags

Olá,

O ctags e5b7a2508db6e1374ea78a300cc9b45f4b26b02a detecta uma função como variável no cabeçalho epan / except.h da biblioteca Wireshark:

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

O comando

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

retorna:

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

No entanto, é uma função except_unhandled_catcher (tanto o tipo de valor de retorno quanto o tipo de parâmetro são ponteiros de função).

Obrigada.

Parser buenhancement

Comentários muito úteis

caramba ... essa sintaxe é difícil: D
Vou tentar entender isso.

Todos 3 comentários

Posso confirmar isso, e que o antigo analisador C acertou. Ignorar / remover WS_DLL_PUBLIC não muda nada em nenhum dos 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 *);

caramba ... essa sintaxe é difícil: D
Vou tentar entender isso.

Isso deve ser corrigido em # 1119.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

jayceekay picture jayceekay  ·  13Comentários

EvanCarroll picture EvanCarroll  ·  14Comentários

jespinal picture jespinal  ·  8Comentários

trevordmiller picture trevordmiller  ·  9Comentários

hisnawi picture hisnawi  ·  25Comentários