Add upb_symtab_lookupfile2 (#281)

* Add upb_symtab_lookupfile2

Similar to upb_symtab_lookupfile but doesn't assume file name ends with '\0'

* Fix
pull/13171/head
Paul Yang 5 years ago committed by GitHub
parent c26e8db53d
commit 55f5bcd62c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      upb/def.c
  2. 2
      upb/def.h

@ -2042,6 +2042,13 @@ const upb_filedef *upb_symtab_lookupfile(const upb_symtab *s, const char *name)
: NULL;
}
const upb_filedef *upb_symtab_lookupfile2(
const upb_symtab *s, const char *name, size_t len) {
upb_value v;
return upb_strtable_lookup2(&s->files, name, len, &v) ?
upb_value_getconstptr(v) : NULL;
}
int upb_symtab_filecount(const upb_symtab *s) {
return (int)upb_strtable_count(&s->files);
}

@ -303,6 +303,8 @@ const upb_msgdef *upb_symtab_lookupmsg2(
const upb_symtab *s, const char *sym, size_t len);
const upb_enumdef *upb_symtab_lookupenum(const upb_symtab *s, const char *sym);
const upb_filedef *upb_symtab_lookupfile(const upb_symtab *s, const char *name);
const upb_filedef *upb_symtab_lookupfile2(
const upb_symtab *s, const char *name, size_t len);
int upb_symtab_filecount(const upb_symtab *s);
const upb_filedef *upb_symtab_addfile(
upb_symtab *s, const google_protobuf_FileDescriptorProto *file,

Loading…
Cancel
Save