libctf: disambiguate hex output in dumps
authorNick Alcock <nick.alcock@oracle.com>
Thu, 27 Jun 2019 12:15:37 +0000 (13:15 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Mon, 1 Jul 2019 10:05:59 +0000 (11:05 +0100)
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.

libctf/ChangeLog
libctf/ctf-dump.c

index 2324aebc07c43205e72c5ef4683d3429386b4df1..d91abd278abe0f67bbafdc3ae63572980eed0949 100644 (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.
index 3dac435eba39e0587e4a3aa86c928edfee4d62ef..0e8ab202dd8240f1e3b3934dc9dcfd55c525af19 100644 (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);