From 62e3464960dcb0b2a63785d1971856d6aa463e95 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Mon, 15 Jul 2024 19:39:48 +0100 Subject: 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. --- libctf/ctf-dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libctf/ctf-dump.c b/libctf/ctf-dump.c index 80a3b26..cd41996 100644 --- a/libctf/ctf-dump.c +++ b/libctf/ctf-dump.c @@ -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 = "}"; -- cgit v1.1