diff --git a/sml/src/sml_number.c b/sml/src/sml_number.c index 659a40f..34455c0 100644 --- a/sml/src/sml_number.c +++ b/sml/src/sml_number.c @@ -74,6 +74,7 @@ void *sml_number_parse(sml_buffer *buf, unsigned char type, int max_size) { if (!(sml_number_endian() == SML_BIG_ENDIAN)) { sml_number_byte_swap(np, max_size); } + sml_buf_update_bytes_read(buf, l); return np; } diff --git a/test/src/sml_number_test.c b/test/src/sml_number_test.c index 87be968..7dcdf6a 100644 --- a/test/src/sml_number_test.c +++ b/test/src/sml_number_test.c @@ -56,6 +56,7 @@ TEST(sml_number, parse_unsigned8) { hex2binary("6201", sml_buf_get_current_buf(buf)); u8 *n = sml_u8_parse(buf); TEST_ASSERT_EQUAL(1, *n); + TEST_ASSERT_EQUAL(2, buf->cursor); } TEST(sml_number, parse_unsigned16) {