libctf: disambiguate hex output in dumps

We were sometimes printing hex values without prefixing them with '0x',
leading to confusion about what base the numbers were actually in.

libctf/
	* ctf-dump.c (ctf_dump_format_type): Prefix hex strings with 0x.
	(ctf_dump_funcs): Likewise.
This commit is contained in:
Nick Alcock 2019-06-27 13:15:37 +01:00
parent 900e33b9cf
commit c550e7ba93
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2019-06-28 Nick Alcock <nick.alcock@oracle.com>
* ctf-dump.c (ctf_dump_format_type): Prefix hex strings with 0x.
(ctf_dump_funcs): Likewise.
2019-06-19 Nick Alcock <nick.alcock@oracle.com>
* ctf-open-bfd.c: Add swap.h and ctf-endian.h.

View File

@ -121,7 +121,7 @@ ctf_dump_format_type (ctf_file_t *fp, ctf_id_t id)
}
else
{
if (asprintf (&bit, " %lx: %s (size %lx)", id, buf[0] == '\0' ?
if (asprintf (&bit, " %lx: %s (size 0x%lx)", id, buf[0] == '\0' ?
"(nameless)" : buf,
(unsigned long) ctf_type_size (fp, id)) < 0)
goto oom;
@ -280,12 +280,12 @@ ctf_dump_funcs (ctf_file_t *fp, ctf_dump_state_t *state)
sym_name = ctf_lookup_symbol_name (fp, i);
if (sym_name[0] == '\0')
{
if (asprintf (&bit, "%lx ", (unsigned long) i) < 0)
if (asprintf (&bit, "0x%lx ", (unsigned long) i) < 0)
goto oom;
}
else
{
if (asprintf (&bit, "%s (%lx) ", sym_name, (unsigned long) i) < 0)
if (asprintf (&bit, "%s (0x%lx) ", sym_name, (unsigned long) i) < 0)
goto oom;
}
str = ctf_str_append (str, bit);