Go to the documentation of this file.
38 #include "upb/port_def.inc"
54 size_t have =
a->end -
a->ptr;
68 a->overflow += (
n - have);
73 size_t ret =
d->ptr -
d->buf +
d->overflow;
76 if (
d->ptr ==
d->end)
d->ptr--;
180 if (vec->
cap - vec->
size < elems) {
181 size_t need = vec->
size + elems;
183 while (vec->
cap < need) vec->
cap *= 2;
192 if (!
ctx->save_paths)
return;
194 ctx->stack.path[
ctx->stack.size++] = ent;
198 if (!
ctx->save_paths)
return;
199 assert(
ctx->stack.size != 0);
213 ctx->has_unset_required =
true;
215 if (
ctx->save_paths) {
219 if (
ctx->stack.size) {
221 ctx->stack.size *
sizeof(*
ctx->stack.path));
223 ctx->out_fields.size +=
ctx->stack.size;
224 ctx->out_fields.path[
ctx->out_fields.size++] =
226 ctx->out_fields.path[
ctx->out_fields.size++] =
265 if (!val_m)
continue;
297 ctx.has_unset_required =
false;
299 ctx.ext_pool = ext_pool;
303 free(
ctx.stack.path);
306 ctx.out_fields.path[
ctx.out_fields.size] =
310 return ctx.has_unset_required;
upb_MessageValue upb_MapIterator_Key(const upb_Map *map, size_t iter)
const upb_DefPool * ext_pool
int __cdecl vsnprintf(char *buffer, size_t count, const char *format, va_list argptr)
upb_FieldPathVector out_fields
#define UPB_UNREACHABLE()
static struct test_ctx ctx
upb_MessageValue upb_Array_Get(const upb_Array *arr, size_t i)
static void upb_FieldPathVector_Reserve(upb_FindContext *ctx, upb_FieldPathVector *vec, size_t elems)
#define UPB_PRINTF(str, first_vararg)
const upb_Array * array_val
static void upb_FindContext_Push(upb_FindContext *ctx, upb_FieldPathEntry ent)
upb_Label upb_FieldDef_Label(const upb_FieldDef *f)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
#define UPB_PTRADD(ptr, ofs)
#define kUpb_Message_Begin
bool upb_FieldDef_IsMap(const upb_FieldDef *f)
bool upb_MapIterator_Next(const upb_Map *map, size_t *iter)
static void upb_FieldPathVector_Init(upb_FieldPathVector *vec)
bool upb_Message_Next(const upb_Message *msg, const upb_MessageDef *m, const upb_DefPool *ext_pool, const upb_FieldDef **out_f, upb_MessageValue *out_val, size_t *iter)
bool upb_util_HasUnsetRequired(const upb_Message *msg, const upb_MessageDef *m, const upb_DefPool *ext_pool, upb_FieldPathEntry **fields)
static void upb_util_FindUnsetRequiredInternal(upb_FindContext *ctx, const upb_Message *msg, const upb_MessageDef *m)
const upb_Message * msg_val
upb_CType upb_FieldDef_CType(const upb_FieldDef *f)
const upb_MessageDef * upb_FieldDef_MessageSubDef(const upb_FieldDef *f)
upb_FieldPathEntry * path
size_t upb_Array_Size(const upb_Array *arr)
bool upb_Message_Has(const upb_Message *msg, const upb_FieldDef *f)
upb_FieldPathVector stack
GTEST_API_ const char * fmt
static void upb_FieldPath_Printf(upb_PrintfAppender *a, const char *fmt,...)
bool upb_FieldDef_IsRepeated(const upb_FieldDef *f)
size_t upb_FieldPath_ToText(upb_FieldPathEntry **path, char *buf, size_t size)
UniquePtr< SSL_SESSION > ret
static void upb_FieldPath_PutMapKey(upb_PrintfAppender *a, upb_MessageValue map_key, const upb_FieldDef *key_f)
static void upb_util_FindUnsetInMessage(upb_FindContext *ctx, const upb_Message *msg, const upb_MessageDef *m)
bool upb_FieldDef_IsSubMessage(const upb_FieldDef *f)
const char * upb_FieldDef_Name(const upb_FieldDef *f)
int upb_MessageDef_FieldCount(const upb_MessageDef *m)
const upb_FieldDef * upb_MessageDef_Field(const upb_MessageDef *m, int i)
upb_MessageValue upb_MapIterator_Value(const upb_Map *map, size_t iter)
static size_t upb_FieldPath_NullTerminate(upb_PrintfAppender *d, size_t size)
#define UPB_LONGJMP(buf, val)
static void upb_FindContext_Pop(upb_FindContext *ctx)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:10