diff options
-rw-r--r-- | tests/test_def.c | 2 | ||||
-rw-r--r-- | upb/def.c | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/tests/test_def.c b/tests/test_def.c index 76914c7..d82fddb 100644 --- a/tests/test_def.c +++ b/tests/test_def.c @@ -164,7 +164,7 @@ static void test_symbol_resolution() { static void test_fielddef_unref() { bool ok; - upb_symtab *s = load_test_proto(&s); + upb_symtab *s = load_test_proto(); const upb_msgdef *md = upb_symtab_lookupmsg(s, "A"); const upb_fielddef *f = upb_msgdef_itof(md, 1); upb_fielddef_ref(f, &f); @@ -378,13 +378,14 @@ bool _upb_def_validate(upb_def *const*defs, size_t n, upb_status *s) { } else if (def->type == UPB_DEF_FIELD) { upb_status_seterrmsg(s, "standalone fielddefs can not be frozen"); goto err; - } else if (def->type == UPB_DEF_ENUM) { - if (!upb_validate_enumdef(upb_dyncast_enumdef(def), s)) { - goto err; - } } else { /* Set now to detect transitive closure in the second pass. */ def->came_from_user = true; + + if (def->type == UPB_DEF_ENUM && + !upb_validate_enumdef(upb_dyncast_enumdef(def), s)) { + goto err; + } } } |