summaryrefslogtreecommitdiff
path: root/c/unpack.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/unpack.h')
-rw-r--r--c/unpack.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/c/unpack.h b/c/unpack.h
index 46777b9..77fbd54 100644
--- a/c/unpack.h
+++ b/c/unpack.h
@@ -33,6 +33,7 @@ typedef struct msgpack_unpacker {
size_t used;
size_t free;
size_t off;
+ size_t parsed;
msgpack_zone* z;
bool referenced;
size_t initial_buffer_size;
@@ -46,7 +47,6 @@ void msgpack_unpacker_destroy(msgpack_unpacker* mpac);
msgpack_unpacker* msgpack_unpacker_new(size_t initial_buffer_size);
void msgpack_unpacker_free(msgpack_unpacker* mpac);
-static inline size_t msgpack_unpacker_buffered_size(const msgpack_unpacker* mpac);
static inline bool msgpack_unpacker_reserve_buffer(msgpack_unpacker* mpac, size_t size);
static inline char* msgpack_unpacker_buffer(msgpack_unpacker* mpac);
static inline size_t msgpack_unpacker_buffer_capacity(const msgpack_unpacker* mpac);
@@ -61,6 +61,8 @@ msgpack_zone* msgpack_unpacker_release_zone(msgpack_unpacker* mpac);
void msgpack_unpacker_reset(msgpack_unpacker* mpac);
+static inline size_t msgpack_unpacker_parsed_size(const msgpack_unpacker* mpac);
+
typedef enum {
MSGPACK_UNPACK_SUCCESS = 2,
@@ -78,11 +80,6 @@ bool msgpack_unpacker_flush_zone(msgpack_unpacker* mpac);
bool msgpack_unpacker_expand_buffer(msgpack_unpacker* mpac, size_t size);
-size_t msgpack_unpacker_buffered_size(const msgpack_unpacker* mpac)
-{
- return mpac->used;
-}
-
bool msgpack_unpacker_reserve_buffer(msgpack_unpacker* mpac, size_t size)
{
if(mpac->free >= size) { return true; }
@@ -105,6 +102,11 @@ void msgpack_unpacker_buffer_consumed(msgpack_unpacker* mpac, size_t size)
mpac->free -= size;
}
+size_t msgpack_unpacker_parsed_size(const msgpack_unpacker* mpac)
+{
+ return mpac->parsed;
+}
+
#ifdef __cplusplus
}