diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2012-08-26 09:56:11 +0300 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2012-08-26 11:04:55 +0300 |
commit | 160f02e4d0f8f404492ffd4d7611ba4478190da2 (patch) | |
tree | dc0548d7d3ca57af153627579164694deded3d26 /pb_decode.h | |
parent | a7a6cdad8885b48a648ad69c9c0a3f01e0707934 (diff) |
Add pb_decode_noinit and use it from pb_dec_submessage.
This avoids double initialization when decoding nested submessages.
Fixes an issue with submessage arrays that was present in previous
version of this patch.
Update issue 28
Status: FixedInGit
Diffstat (limited to 'pb_decode.h')
-rw-r--r-- | pb_decode.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pb_decode.h b/pb_decode.h index ad45efb..483665e 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. */ |