libctf, dump: correctly dump non-root-visible types

The flag test when dumping non-root-visible tyeps was doubly wrong: the
flags word is a *bitfield* containing CTF_ADD_ROOT as one possible
value, so needs | and & testing, not just ==, and CTF_ADD_NONROOT is 0,
so cannot be tested for this way: one must check for the non-presence of
CTF_ADD_ROOT.

libctf/
	* ctf-dump.c (ctf_dump_format_type): Fix non-root flag test.
This commit is contained in:
Nick Alcock
2024-07-15 19:39:48 +01:00
parent b404bf7270
commit 2b35088f30

View File

@@ -106,7 +106,7 @@ ctf_dump_format_type (ctf_dict_t *fp, ctf_id_t id, int flag)
const char *idstr = "";
id = new_id;
if (flag == CTF_ADD_NONROOT)
if (!(flag & CTF_ADD_ROOT))
{
nonroot_leader = "{";
nonroot_trailer = "}";