diff options
author | Joshua Haberman <joshua@reverberate.org> | 2011-01-10 20:37:04 -0800 |
---|---|---|
committer | Joshua Haberman <joshua@reverberate.org> | 2011-01-10 20:37:04 -0800 |
commit | bcc688a303439c758a47da9f0eb1c064ece6ce09 (patch) | |
tree | 4a6cfe35a040bffcb48a18ceac90506752244af6 /core/upb_msg.c | |
parent | 45599180905d45a882970f6ca8b6007436ac3f97 (diff) |
upb_def compiles again!
Diffstat (limited to 'core/upb_msg.c')
-rw-r--r-- | core/upb_msg.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/upb_msg.c b/core/upb_msg.c index 75f7a35..a0a5196 100644 --- a/core/upb_msg.c +++ b/core/upb_msg.c @@ -7,6 +7,8 @@ */ #include "upb_msg.h" +#include "upb_decoder.h" +#include "upb_strstream.h" void _upb_elem_free(upb_value v, upb_fielddef *f) { switch(f->type) { @@ -108,10 +110,13 @@ upb_value upb_field_tryrecycle(upb_valueptr p, upb_value val, upb_fielddef *f, void upb_msg_decodestr(upb_msg *msg, upb_msgdef *md, upb_string *str, upb_status *status) { - (void)msg; - (void)md; - (void)str; - (void)status; + upb_stringsrc *ssrc = upb_stringsrc_new(); + upb_stringsrc_reset(ssrc, str); + upb_decoder *d = upb_decoder_new(md); + upb_decoder_reset(d, upb_stringsrc_bytesrc(ssrc)); + + upb_decoder_free(d); + upb_stringsrc_free(ssrc); } void upb_msg_encodestr(upb_msg *msg, upb_msgdef *md, upb_string *str, |