summaryrefslogtreecommitdiff
path: root/upb_parse.c
diff options
context:
space:
mode:
authorJoshua Haberman <joshua@reverberate.org>2009-06-23 19:30:23 -0700
committerJoshua Haberman <joshua@reverberate.org>2009-06-23 19:30:23 -0700
commitedd137fe992a83c0f024bfd3752eeceea735e196 (patch)
treef8286ed9360511c9a818455949fdb9b5e90c1ff2 /upb_parse.c
parentb11730f2ed3b37af925a26b42b25689fd4769eef (diff)
Two small fixes.
Diffstat (limited to 'upb_parse.c')
-rw-r--r--upb_parse.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/upb_parse.c b/upb_parse.c
index f000501..088091b 100644
--- a/upb_parse.c
+++ b/upb_parse.c
@@ -212,7 +212,7 @@ upb_status_t upb_parse_wire_value(void *buf, size_t *offset,
READ(get_v_uint32_t(&b, &wv->_32bit));
size_t new_offset = *offset + wv->_32bit;
if (new_offset < *offset) return UPB_ERROR_OVERFLOW;
- *offset += new_offset;
+ *offset = new_offset;
break;
case UPB_WIRE_TYPE_START_GROUP:
case UPB_WIRE_TYPE_END_GROUP: break;
@@ -234,7 +234,7 @@ upb_status_t upb_skip_wire_value(void *buf, size_t *offset,
READ(get_v_uint32_t(&b, &len));
size_t new_offset = *offset + len;
if (new_offset < *offset) return UPB_ERROR_OVERFLOW;
- *offset += new_offset;
+ *offset = new_offset;
break;
}
case UPB_WIRE_TYPE_START_GROUP: /* TODO: skip to matching end group. */
@@ -328,7 +328,6 @@ upb_status_t upb_parse(struct upb_parse_state *s, void *buf, size_t len,
s->packed_end_offset = s->offset + v.delim_len;
} else {
/* The common case: a simple value. */
- CHECK(upb_parse_value(&b, ft, &v));
s->value_cb(s, &v, b, user_field_desc);
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback