Remove the "buf = NULL" => skip requirement from pb_istream_t callbacks.
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>
Thu, 18 Oct 2012 16:45:28 +0000 (19:45 +0300)
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>
Thu, 18 Oct 2012 16:45:28 +0000 (19:45 +0300)
commitdcab39a41c0a403db38860c22426075e6ae9f25d
tree7f1824628371ec59353b0765a209e6e5518401f7
parent900c8dd1252afe2b2474b852ae48dcb46e100505
Remove the "buf = NULL" => skip requirement from pb_istream_t callbacks.

Rationale: it's easy to implement the callback wrong. Doing so introduces
io errors when unknown fields are present in the input. If code is not
tested with unknown fields, these bugs can remain hidden for long time.

Added a special case for the memory buffer stream, where it gives a small
speed benefit.

Added testcase for skipping fields with test_decode2 implementation.

Update issue 37
Status: FixedInGit
docs/concepts.rst
example/common.c
pb_decode.c
pb_decode.h
tests/Makefile
tests/person_with_extra_field.pb [new file with mode: 0644]
tests/person_with_extra_field.txt [new file with mode: 0644]
tests/test_decode2.c