diff options
author | Josh Haberman <jhaberman@gmail.com> | 2019-02-01 16:34:52 -0800 |
---|---|---|
committer | Josh Haberman <jhaberman@gmail.com> | 2019-02-01 16:34:52 -0800 |
commit | 32e3f394b42cff2b94c5ef84cb31009ce33c864f (patch) | |
tree | 00d782daf791f909613a7ec8f267dbd06dd0bfe4 /upb | |
parent | 2b62fbce6734eb672ae6ff6fcf258bfff4267ae8 (diff) |
A few small API tweaks.
- Foo_parsenew() -> Foo_parse().
- parse function takes plain (const char*, size_t) instead of
upb_strview. The latter is mainly useful for strings inside
message objects.
Diffstat (limited to 'upb')
-rw-r--r-- | upb/bindings/lua/upb/pb.c | 3 | ||||
-rw-r--r-- | upb/decode.c | 7 | ||||
-rw-r--r-- | upb/decode.h | 3 |
3 files changed, 7 insertions, 6 deletions
diff --git a/upb/bindings/lua/upb/pb.c b/upb/bindings/lua/upb/pb.c index b5284df..824ac13 100644 --- a/upb/bindings/lua/upb/pb.c +++ b/upb/bindings/lua/upb/pb.c @@ -16,9 +16,8 @@ static int lupb_pb_decode(lua_State *L) { const upb_msglayout *layout; upb_msg *msg = lupb_msg_checkmsg2(L, 1, &layout); const char *pb = lua_tolstring(L, 2, &len); - upb_strview buf = upb_strview_make(pb, len); - upb_decode(buf, msg, layout); + upb_decode(pb, len, msg, layout); /* TODO(haberman): check for error. */ return 0; diff --git a/upb/decode.c b/upb/decode.c index c54ee3c..5315187 100644 --- a/upb/decode.c +++ b/upb/decode.c @@ -584,11 +584,12 @@ static bool upb_decode_message(upb_decstate *d, const char *limit, return true; } -bool upb_decode(upb_strview buf, void *msg, const upb_msglayout *l) { +bool upb_decode(const char *buf, size_t size, void *msg, + const upb_msglayout *l) { upb_decstate state; - state.ptr = buf.data; + state.ptr = buf; - return upb_decode_message(&state, buf.data + buf.size, 0, msg, l); + return upb_decode_message(&state, buf + size, 0, msg, l); } #undef CHK diff --git a/upb/decode.h b/upb/decode.h index dee4c0f..224e606 100644 --- a/upb/decode.h +++ b/upb/decode.h @@ -9,7 +9,8 @@ UPB_BEGIN_EXTERN_C -bool upb_decode(upb_strview buf, upb_msg *msg, const upb_msglayout *l); +bool upb_decode(const char *buf, size_t size, upb_msg *msg, + const upb_msglayout *l); UPB_END_EXTERN_C |