From 0a2c9882868a654d60ea692324e53e9538994bc0 Mon Sep 17 00:00:00 2001 From: Eric Salo Date: Fri, 25 Nov 2022 22:26:30 -0800 Subject: [PATCH] fix some mini_table function names to match the upb style guide: upb_MiniTable_BuildEnum() -> upb_MiniTableEnum_Build() upb_MiniTable_BuildExtension() -> upb_MiniTableExtension_Build() also make the status pointer argument optional for the mini table builders PiperOrigin-RevId: 490992866 --- upb/fuzz_test_util.cc | 4 ++-- upb/fuzz_test_util.h | 4 ++-- upb/mini_table/decode.c | 22 ++++++++++++---------- upb/mini_table/decode.h | 8 ++++---- upb/mini_table/encode_test.cc | 4 ++-- upb/reflection/enum_def.c | 2 +- upb/reflection/field_def.c | 2 +- upbc/file_layout.cc | 4 ++-- 8 files changed, 26 insertions(+), 24 deletions(-) diff --git a/upb/fuzz_test_util.cc b/upb/fuzz_test_util.cc index f60a0d3849..02f3f39c2e 100644 --- a/upb/fuzz_test_util.cc +++ b/upb/fuzz_test_util.cc @@ -100,7 +100,7 @@ void Builder::BuildEnums() { enum_tables_.reserve(input_->enum_mini_descriptors.size()); for (const auto& d : input_->enum_mini_descriptors) { upb_MiniTableEnum* enum_table = - upb_MiniTable_BuildEnum(d.data(), d.size(), arena_, status.ptr()); + upb_MiniTableEnum_Build(d.data(), d.size(), arena_, status.ptr()); if (enum_table) enum_tables_.push_back(enum_table); } } @@ -136,7 +136,7 @@ void Builder::BuildExtensions(upb_ExtensionRegistry** exts) { upb_MiniTableSub sub; const upb_MiniTable* extendee = NextMiniTable(); if (!extendee) break; - ptr = upb_MiniTable_BuildExtension(ptr, end - ptr, ext, extendee, sub, + ptr = upb_MiniTableExtension_Build(ptr, end - ptr, ext, extendee, sub, status.ptr()); if (!ptr) break; if (!LinkExtension(ext)) continue; diff --git a/upb/fuzz_test_util.h b/upb/fuzz_test_util.h index 4e1e968398..95a31fa324 100644 --- a/upb/fuzz_test_util.h +++ b/upb/fuzz_test_util.h @@ -43,11 +43,11 @@ struct MiniTableFuzzInput { std::vector mini_descriptors; // MiniDescripotrs for N enums, in the format accepted by - // upb_MiniTable_BuildEnum(). + // upb_MiniTableEnum_Build(). std::vector enum_mini_descriptors; // A MiniDescriptor for N extensions, in the format accepted by - // upb_MiniTable_BuildExtension(). + // upb_MiniTableExtension_Build(). std::string extensions; // Integer indexes into the message or enum mini tables lists. These specify diff --git a/upb/mini_table/decode.c b/upb/mini_table/decode.c index 07e44add80..e66716b206 100644 --- a/upb/mini_table/decode.c +++ b/upb/mini_table/decode.c @@ -88,11 +88,13 @@ typedef struct { UPB_PRINTF(2, 3) UPB_NORETURN static void upb_MtDecoder_ErrorFormat(upb_MtDecoder* d, const char* fmt, ...) { - va_list argp; - upb_Status_SetErrorMessage(d->status, "Error building mini table: "); - va_start(argp, fmt); - upb_Status_VAppendErrorFormat(d->status, fmt, argp); - va_end(argp); + if (d->status) { + va_list argp; + upb_Status_SetErrorMessage(d->status, "Error building mini table: "); + va_start(argp, fmt); + upb_Status_VAppendErrorFormat(d->status, fmt, argp); + va_end(argp); + } UPB_LONGJMP(d->err, 1); } @@ -799,7 +801,7 @@ static upb_MiniTableEnum* _upb_MiniTable_AddEnumDataMember(upb_MtDecoder* d, return d->enum_table; } -static void upb_MiniTable_BuildEnumValue(upb_MtDecoder* d, uint32_t val) { +static void upb_MiniTableEnum_BuildValue(upb_MtDecoder* d, uint32_t val) { upb_MiniTableEnum* table = d->enum_table; d->enum_value_count++; if (table->value_count || (val > 512 && d->enum_value_count < val / 32)) { @@ -818,7 +820,7 @@ static void upb_MiniTable_BuildEnumValue(upb_MtDecoder* d, uint32_t val) { } } -upb_MiniTableEnum* upb_MiniTable_BuildEnum(const char* data, size_t len, +upb_MiniTableEnum* upb_MiniTableEnum_Build(const char* data, size_t len, upb_Arena* arena, upb_Status* status) { upb_MtDecoder decoder = { @@ -860,7 +862,7 @@ upb_MiniTableEnum* upb_MiniTable_BuildEnum(const char* data, size_t len, if (ch <= kUpb_EncodedValue_MaxEnumMask) { uint32_t mask = _upb_FromBase92(ch); for (int i = 0; i < 5; i++, base++, mask >>= 1) { - if (mask & 1) upb_MiniTable_BuildEnumValue(&decoder, base); + if (mask & 1) upb_MiniTableEnum_BuildValue(&decoder, base); } } else if (kUpb_EncodedValue_MinSkip <= ch && ch <= kUpb_EncodedValue_MaxSkip) { @@ -870,7 +872,7 @@ upb_MiniTableEnum* upb_MiniTable_BuildEnum(const char* data, size_t len, kUpb_EncodedValue_MaxSkip, &skip); base += skip; } else { - upb_Status_SetErrorFormat(status, "Unexpected character: %c", ch); + upb_MtDecoder_ErrorFormat(&decoder, "Unexpected character: %c", ch); return NULL; } } @@ -878,7 +880,7 @@ upb_MiniTableEnum* upb_MiniTable_BuildEnum(const char* data, size_t len, return decoder.enum_table; } -const char* _upb_MiniTable_BuildExtension(const char* data, size_t len, +const char* _upb_MiniTableExtension_Build(const char* data, size_t len, upb_MiniTableExtension* ext, const upb_MiniTable* extendee, upb_MiniTableSub sub, diff --git a/upb/mini_table/decode.h b/upb/mini_table/decode.h index 9f79ed7b42..4587d32cf6 100644 --- a/upb/mini_table/decode.h +++ b/upb/mini_table/decode.h @@ -69,21 +69,21 @@ void upb_MiniTable_SetSubMessage(upb_MiniTable* table, void upb_MiniTable_SetSubEnum(upb_MiniTable* table, upb_MiniTableField* field, const upb_MiniTableEnum* sub); -const char* _upb_MiniTable_BuildExtension(const char* data, size_t len, +const char* _upb_MiniTableExtension_Build(const char* data, size_t len, upb_MiniTableExtension* ext, const upb_MiniTable* extendee, upb_MiniTableSub sub, upb_MiniTablePlatform platform, upb_Status* status); -UPB_INLINE const char* upb_MiniTable_BuildExtension( +UPB_INLINE const char* upb_MiniTableExtension_Build( const char* data, size_t len, upb_MiniTableExtension* ext, const upb_MiniTable* extendee, upb_MiniTableSub sub, upb_Status* status) { - return _upb_MiniTable_BuildExtension(data, len, ext, extendee, sub, + return _upb_MiniTableExtension_Build(data, len, ext, extendee, sub, kUpb_MiniTablePlatform_Native, status); } -upb_MiniTableEnum* upb_MiniTable_BuildEnum(const char* data, size_t len, +upb_MiniTableEnum* upb_MiniTableEnum_Build(const char* data, size_t len, upb_Arena* arena, upb_Status* status); diff --git a/upb/mini_table/encode_test.cc b/upb/mini_table/encode_test.cc index 88c57bedda..d18523eab1 100644 --- a/upb/mini_table/encode_test.cc +++ b/upb/mini_table/encode_test.cc @@ -227,7 +227,7 @@ TEST(MiniTableEnumTest, Enum) { e.EndEnum(); upb::Status status; - upb_MiniTableEnum* table = upb_MiniTable_BuildEnum( + upb_MiniTableEnum* table = upb_MiniTableEnum_Build( e.data().data(), e.data().size(), arena.ptr(), status.ptr()); ASSERT_NE(nullptr, table) << status.error_message(); @@ -269,7 +269,7 @@ TEST(MiniTableEnumTest, PositiveAndNegative) { e.EndEnum(); upb::Status status; - upb_MiniTableEnum* table = upb_MiniTable_BuildEnum( + upb_MiniTableEnum* table = upb_MiniTableEnum_Build( e.data().data(), e.data().size(), arena.ptr(), status.ptr()); ASSERT_NE(nullptr, table) << status.error_message(); diff --git a/upb/reflection/enum_def.c b/upb/reflection/enum_def.c index 789ab9b8af..d3eb6af105 100644 --- a/upb/reflection/enum_def.c +++ b/upb/reflection/enum_def.c @@ -219,7 +219,7 @@ static upb_MiniTableEnum* create_enumlayout(upb_DefBuilder* ctx, upb_Status status; upb_MiniTableEnum* layout = - upb_MiniTable_BuildEnum(sv.data, sv.size, ctx->arena, &status); + upb_MiniTableEnum_Build(sv.data, sv.size, ctx->arena, &status); if (!layout) _upb_DefBuilder_Errf(ctx, "Error building enum MiniTable: %s", status.msg); return layout; diff --git a/upb/reflection/field_def.c b/upb/reflection/field_def.c index c1b9e13cd9..11d5e403f5 100644 --- a/upb/reflection/field_def.c +++ b/upb/reflection/field_def.c @@ -878,7 +878,7 @@ static void resolve_extension(upb_DefBuilder* ctx, const char* prefix, } else if (_upb_FieldDef_IsClosedEnum(f)) { sub.subenum = _upb_EnumDef_MiniTable(f->sub.enumdef); } - bool ok2 = upb_MiniTable_BuildExtension(desc.data, desc.size, mut_ext, + bool ok2 = upb_MiniTableExtension_Build(desc.data, desc.size, mut_ext, upb_MessageDef_MiniTable(m), sub, ctx->status); if (!ok2) _upb_DefBuilder_Errf(ctx, "Could not build extension mini table"); diff --git a/upbc/file_layout.cc b/upbc/file_layout.cc index 7bf7b2cd0a..361a72a805 100644 --- a/upbc/file_layout.cc +++ b/upbc/file_layout.cc @@ -270,7 +270,7 @@ void FilePlatformLayout::BuildExtensions(const protobuf::FileDescriptor* fd) { // Note, we are not caching so this could use more memory than is necessary. upb_MiniTable* extendee = MakeMiniTable(f->containing_type()); bool ok = - _upb_MiniTable_BuildExtension(e.data().data(), e.data().size(), &ext, + _upb_MiniTableExtension_Build(e.data().data(), e.data().size(), &ext, extendee, sub, platform_, status.ptr()); if (!ok) { // TODO(haberman): Use ABSL CHECK() when it is available. @@ -371,7 +371,7 @@ upb_MiniTableEnum* FilePlatformLayout::MakeMiniTableEnum( absl::string_view str = e.data(); upb::Status status; - upb_MiniTableEnum* ret = upb_MiniTable_BuildEnum(str.data(), str.size(), + upb_MiniTableEnum* ret = upb_MiniTableEnum_Build(str.data(), str.size(), arena_.ptr(), status.ptr()); if (!ret) { fprintf(stderr, "Error building mini-table: %s\n", status.error_message());