aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2025-06-26 15:47:25 +0100
committerNick Alcock <nick.alcock@oracle.com>2025-06-27 13:08:28 +0100
commit8084797687b52e55c7330eea4a11b1011d3cb89c (patch)
treeaf494ce46d28c5865be1632570989498ea06bc36
parent22381f3dfd1a9431f4c6d01294a54b576d16a6db (diff)
downloadbinutils-8084797687b52e55c7330eea4a11b1011d3cb89c.zip
binutils-8084797687b52e55c7330eea4a11b1011d3cb89c.tar.gz
binutils-8084797687b52e55c7330eea4a11b1011d3cb89c.tar.bz2
libctf: create: check the right root-visible flag when adding enumerands
The root-visible flag we're dealing with here is directly out of the dict, not a flag passed in to the API, so it does not have the values CTF_ADD_ROOT or CTF_ADD_NONROOT: instead it's simply zero for non-root-visible, nonzero otherwise. Fix the test. libctf/ * ctf-create.c (ctf_add_enumerator): Fix root-visibility test.
-rw-r--r--libctf/ctf-create.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libctf/ctf-create.c b/libctf/ctf-create.c
index d165602..71ac6b0 100644
--- a/libctf/ctf-create.c
+++ b/libctf/ctf-create.c
@@ -1518,7 +1518,7 @@ ctf_add_enumerator (ctf_dict_t *fp, ctf_id_t enid, const char *name,
/* Enumeration constant names are only added, and only checked for duplicates,
if the enum they are part of is a root-visible type. */
- if (root == CTF_ADD_ROOT && ctf_dynhash_lookup (fp->ctf_names, name))
+ if (root && ctf_dynhash_lookup (fp->ctf_names, name))
{
if (fp->ctf_flags & LCTF_STRICT_NO_DUP_ENUMERATORS)
return (ctf_set_errno (ofp, ECTF_DUPLICATE));