diff options
author | Joshua Haberman <joshua@reverberate.org> | 2009-12-29 18:39:51 -0800 |
---|---|---|
committer | Joshua Haberman <joshua@reverberate.org> | 2009-12-29 18:39:51 -0800 |
commit | cc396257679698852380822bc6bfb61d33244172 (patch) | |
tree | a8aa652251198a9a47bcd2434ae490140accb986 /src/upb_data.c | |
parent | 2876225d0547ea7833991b9da8a72427e4bc69b9 (diff) |
Getting closer, only a few functions undefined now.
Diffstat (limited to 'src/upb_data.c')
-rw-r--r-- | src/upb_data.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/upb_data.c b/src/upb_data.c index 73a880f..b654fac 100644 --- a/src/upb_data.c +++ b/src/upb_data.c @@ -6,6 +6,7 @@ #include <stdlib.h> #include "upb_data.h" +#include "upb_def.h" INLINE void data_init(upb_data *d, int flags) { d->v = flags; @@ -64,8 +65,7 @@ void _upb_string_free(upb_string *s) free(s); } -char *upb_string_getrwbuf(upb_string *s, upb_strlen_t byte_len) -{ +void upb_string_resize(upb_string *s, upb_strlen_t byte_len) { check_not_frozen(&s->common.base); if(string_get_bytesize(s) < byte_len) { // Need to resize. @@ -74,7 +74,13 @@ char *upb_string_getrwbuf(upb_string *s, upb_strlen_t byte_len) string_set_bytesize(s, new_byte_size); } s->common.byte_len = byte_len; - return s->common.ptr; +} + +upb_msg *upb_msg_new(struct upb_msgdef *md) { + upb_msg *msg = malloc(md->size); + memset(msg, 0, md->size); + data_init(&msg->base, UPB_DATA_HEAPALLOCATED | UPB_DATA_REFCOUNTED); + return msg; } #if 0 |