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 09:56:11 +0300 |
commit | f1d7640fe1be0f150f604c72108ea516222c2505 (patch) | |
tree | d6b08f5623bf6bee597284ddcc8181421ef20d32 /pb_decode.h | |
parent | 440da6959f36022185fc465590b53bd10acda862 (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.h | 6 |
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. */ |