summaryrefslogtreecommitdiffstats
path: root/pb_decode.h
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2012-08-26 09:56:11 +0300
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2012-08-26 09:56:11 +0300
commitf1d7640fe1be0f150f604c72108ea516222c2505 (patch)
treed6b08f5623bf6bee597284ddcc8181421ef20d32 /pb_decode.h
parent440da6959f36022185fc465590b53bd10acda862 (diff)
Add pb_decode_noinit and use it from pb_dec_submessage.
This avoids double initialization when decoding nested submessages. Update issue 28 Status: FixedInGit
Diffstat (limited to 'pb_decode.h')
-rw-r--r--pb_decode.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/pb_decode.h b/pb_decode.h
index ad45efbf..483665ee 100644
--- a/pb_decode.h
+++ b/pb_decode.h
@@ -48,6 +48,12 @@ bool pb_read(pb_istream_t *stream, uint8_t *buf, size_t count);
*/
bool pb_decode(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct);
+/* Same as pb_decode, except does not initialize the destination structure
+ * to default values. This is slightly faster if you need no default values
+ * and just do memset(struct, 0, sizeof(struct)) yourself.
+ */
+bool pb_decode_noinit(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct);
+
/* --- Helper functions ---
* You may want to use these from your caller or callbacks.
*/