Привет,
Ctags e5b7a2508db6e1374ea78a300cc9b45f4b26b02a определяет функцию как переменную в заголовке epan / except.h библиотеки Wireshark:
WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);
Команда
ctags -x --c-kinds=fpvx --language-force=c epan/except.h | grep except_unhandled_catcher
возвращает:
except_t variable 100 epan/except.h WS_DLL_PUBLIC void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);
Однако это функция except_unhandled_catcher (и тип возвращаемого значения, и тип параметра являются указателями на функции).
Спасибо.
Я могу подтвердить это, и что старый синтаксический анализатор C понял это правильно. Игнорирование / удаление WS_DLL_PUBLIC
в любом случае ничего не меняет.
$ ./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 *);
боже ... этот синтаксис сложен: D
Я постараюсь разобраться в этом.
Это должно быть исправлено # 1119.
Самый полезный комментарий
боже ... этот синтаксис сложен: D
Я постараюсь разобраться в этом.