summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@github.mail.kapsi.fi>2016-12-23 20:46:06 +0200
committerGitHub <noreply@github.com>2016-12-23 20:46:06 +0200
commitaf848f61abff7d1ef972a140fc72eeeb2ed00e2e (patch)
tree8fa884fcf4d43ab5aaae510320b5a36887320a5f
parent283258dca59c470e8e209431e206a344839e0cf5 (diff)
parent1e4f46c92ab221df63a893467a2eec7ff9fa3004 (diff)
Merge pull request #231 from Tobba/expose-varint32
Make pb_decode_varint32 public API
-rw-r--r--pb_decode.c3
-rw-r--r--pb_decode.h4
2 files changed, 5 insertions, 2 deletions
diff --git a/pb_decode.c b/pb_decode.c
index b2a3a310..1fcc4e5a 100644
--- a/pb_decode.c
+++ b/pb_decode.c
@@ -24,7 +24,6 @@
typedef bool (*pb_decoder_t)(pb_istream_t *stream, const pb_field_t *field, void *dest) checkreturn;
static bool checkreturn buf_read(pb_istream_t *stream, pb_byte_t *buf, size_t count);
-static bool checkreturn pb_decode_varint32(pb_istream_t *stream, uint32_t *dest);
static bool checkreturn read_raw_value(pb_istream_t *stream, pb_wire_type_t wire_type, pb_byte_t *buf, size_t *size);
static bool checkreturn decode_static_field(pb_istream_t *stream, pb_wire_type_t wire_type, pb_field_iter_t *iter);
static bool checkreturn decode_callback_field(pb_istream_t *stream, pb_wire_type_t wire_type, pb_field_iter_t *iter);
@@ -170,7 +169,7 @@ pb_istream_t pb_istream_from_buffer(const pb_byte_t *buf, size_t bufsize)
* Helper functions *
********************/
-static bool checkreturn pb_decode_varint32(pb_istream_t *stream, uint32_t *dest)
+bool checkreturn pb_decode_varint32(pb_istream_t *stream, uint32_t *dest)
{
pb_byte_t byte;
uint32_t result;
diff --git a/pb_decode.h b/pb_decode.h
index 1d9bb194..e7eb209c 100644
--- a/pb_decode.h
+++ b/pb_decode.h
@@ -126,6 +126,10 @@ bool pb_skip_field(pb_istream_t *stream, pb_wire_type_t wire_type);
* int64, uint32 and uint64 field types. */
bool pb_decode_varint(pb_istream_t *stream, uint64_t *dest);
+/* Decode an integer in the varint format. This works for bool, enum, int32,
+ * and uint32 field types. */
+bool pb_decode_varint32(pb_istream_t *stream, uint32_t *dest);
+
/* Decode an integer in the zig-zagged svarint format. This works for sint32
* and sint64. */
bool pb_decode_svarint(pb_istream_t *stream, int64_t *dest);