Print this page
12259 CTF shouldn't assume enum size

*** 20,30 **** */ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. ! * Copyright (c) 2015 Joyent, Inc. All rights reserved. */ #include <strings.h> #include <stdlib.h> #include <limits.h> --- 20,30 ---- */ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. ! * Copyright 2020 Joyent, Inc. */ #include <strings.h> #include <stdlib.h> #include <limits.h>
*** 692,702 **** (void) snprintf(n, sizeof (n), "enum %s", name ? name : "(anon)"); if (name != NULL && (type = ctf_lookup_by_name(ctfp, n)) != CTF_ERR) { if (ctf_enum_iter(ctfp, type, dt_decl_hasmembers, NULL)) xyerror(D_DECL_TYPERED, "type redeclared: %s\n", n); ! } else if ((type = ctf_add_enum(ctfp, flag, name)) == CTF_ERR) { xyerror(D_UNKNOWN, "failed to define %s: %s\n", n, ctf_errmsg(ctf_errno(ctfp))); } ddp->dd_ctfp = ctfp; --- 692,702 ---- (void) snprintf(n, sizeof (n), "enum %s", name ? name : "(anon)"); if (name != NULL && (type = ctf_lookup_by_name(ctfp, n)) != CTF_ERR) { if (ctf_enum_iter(ctfp, type, dt_decl_hasmembers, NULL)) xyerror(D_DECL_TYPERED, "type redeclared: %s\n", n); ! } else if ((type = ctf_add_enum(ctfp, flag, name, 0)) == CTF_ERR) { xyerror(D_UNKNOWN, "failed to define %s: %s\n", n, ctf_errmsg(ctf_errno(ctfp))); } ddp->dd_ctfp = ctfp;