libctf, types: enhance ctf_type_aname to print function arg types
authorNick Alcock <nick.alcock@oracle.com>
Thu, 4 Jun 2020 14:25:32 +0000 (15:25 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Wed, 22 Jul 2020 17:02:17 +0000 (18:02 +0100)
commitc6e9a1e576ce4d948393b29e77b37e4ad934ee8f
tree9d1aa02a06b41c5c2cf446d5006152805f8b4c31
parent8b37e7b63ed77fa66e08c7dd08147db6a263d0fb
libctf, types: enhance ctf_type_aname to print function arg types

Somehow this never got implemented, which makes debugging any kind of
bug that has to do with argument types fantastically confusing, because
it *looks* like the func type takes no arguments though in fact it does.

This also lets us simplify the dumper slightly (and introduces our first
uses of ctf_assert and ctf_err_warn: there will be many more).

ctf_type_aname dumps function types without including the function
pointer name itself: ctf_dump search-and-replaces it in.  This seems to
give the nicest-looking results for existing users of both, even if it
is a bit fiddly.

libctf/
* ctf-types.c (ctf_type_aname): Print arg types here...
* ctf-dump.c (ctf_dump_funcs): ... not here: but do substitute
in the type name here.
libctf/ChangeLog
libctf/ctf-dump.c
libctf/ctf-types.c