diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2012-08-24 20:43:21 +0300 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2012-08-24 20:43:39 +0300 |
commit | 9383f305dc42eeca8b043c5c6dff3fe2e3e8f4f2 (patch) | |
tree | f612bef3fe96720101b2e4c8a6bb4387ea8f8361 /pb_decode.h | |
parent | 2941e90e041b0d7872a4ea458e77dcc787ca6ff2 (diff) |
Revert "Change the substream implementation in pb_decode."
This reverts commit dc2da0edc568b29361479fb7405c96b1a13442cf.
Add pb_close_string_substream() for copying back the state.
This makes adding error messages easier in the future, as also
them need to be propagated back from the substream.
Diffstat (limited to 'pb_decode.h')
-rw-r--r-- | pb_decode.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pb_decode.h b/pb_decode.h index 27535c10..2880c070 100644 --- a/pb_decode.h +++ b/pb_decode.h @@ -23,6 +23,10 @@ * * 3) You can use state to store your own data (e.g. buffer pointer), * and rely on pb_read to verify that no-body reads past bytes_left. + * + * 4) Your callback may be used with substreams, in which case bytes_left + * is different than from the main stream. Don't use bytes_left to compute + * any pointers. */ struct _pb_istream_t { @@ -69,6 +73,7 @@ bool pb_decode_fixed64(pb_istream_t *stream, void *dest); /* Make a limited-length substream for reading a PB_WT_STRING field. */ bool pb_make_string_substream(pb_istream_t *stream, pb_istream_t *substream); +void pb_close_string_substream(pb_istream_t *stream, pb_istream_t *substream); /* --- Internal functions --- * These functions are not terribly useful for the average library user, but |