Petteri Aimonen
f1d7640fe1
Add pb_decode_noinit and use it from pb_dec_submessage.
...
This avoids double initialization when decoding nested submessages.
Update issue 28
Status: FixedInGit
2012-08-26 09:56:11 +03:00
Petteri Aimonen
440da6959f
Add note that stream callbacks must read the whole requested length.
...
Fixes issue #22 .
2012-08-24 21:32:42 +03:00
Petteri Aimonen
0fb5e5e068
Implement error messages in the decoder side.
...
Update issue 7
Status: Started
2012-08-24 21:22:20 +03:00
Petteri Aimonen
ea57f74741
Document pb_close_string_substream.
2012-08-24 20:51:29 +03:00
Petteri Aimonen
9383f305dc
Revert "Change the substream implementation in pb_decode."
...
This reverts commit dc2da0edc5 .
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.
2012-08-24 20:43:39 +03:00
Petteri Aimonen
2941e90e04
Reorganize the field decoder interface.
...
This makes the field decoding functions more intuitive to use.
The old interface is still present if you specify NANOPB_INTERNALS.
Update issue 2
Status: FixedInGit
2012-08-24 20:23:25 +03:00
Petteri Aimonen
dc2da0edc5
Change the substream implementation in pb_decode.
...
This makes it unnecessary to copy back the state, and also relaxes
the requirements on callbacks (bytes_left will always be valid).
It decreases code size by a few bytes, but may be just slightly slower.
2012-08-24 19:35:17 +03:00
Petteri Aimonen
86257a2a70
Fix a confusing statement in a comment.
2012-08-24 19:25:29 +03:00
Stan Hu
07f24f9b70
Fix casting issues
2012-08-16 22:06:19 +03:00
Petteri Aimonen
8d5086f052
Declare warn_unused_result only on GCC >= 3.4.0.
...
Thanks to cea.max.simoes for bug report & fix.
Update issue 25
Status: FixedInGit
2012-08-09 16:15:23 +03:00
Petteri Aimonen
1aa61f108a
Fix signedness warning in example_unions.
nanopb-0.1.5
2012-08-04 14:34:19 +03:00
Petteri Aimonen
b582bc9bf6
Fix bug in decoder with packed arrays.
...
Update issue 23
Status: FixedInGit
2012-07-31 19:12:57 +03:00
Petteri Aimonen
5703ad0c55
Extend 'alltypes' testcase to cover repeated fields.
2012-07-31 19:10:33 +03:00
Petteri Aimonen
0a5b6852ec
Additional unsigned vs. signed fix for tag
2012-07-19 09:05:36 +03:00
Petteri Aimonen
8524de39ce
Fix an unsigned vs. signed warning on some compiler.
2012-07-18 21:21:07 +03:00
Petteri Aimonen
10b5da12dc
Fixed a few compiler warnings, added check.
...
Main code is now compiled (for tests) with -pedantic -Wextra.
The test programs are not as strictly bound, but this should
improve the chances that atleast the core library compiles with
most compilers without warnings.
2012-07-18 21:09:13 +03:00
Petteri Aimonen
d8bddabb83
Fix bug with .proto without messages (again), and add a test case for it.
nanopb-0.1.4
2012-07-05 20:02:06 +03:00
Petteri Aimonen
01a1556898
Apparently some compilers don't want to automatically cast size_t to uint64_t.
2012-07-05 18:27:07 +03:00
Petteri Aimonen
efef38cf78
Fix some typos in __BIG_ENDIAN__ code
2012-07-05 18:24:11 +03:00
Petteri Aimonen
72cca8d783
Replace #warning with the standard #error.
2012-07-05 18:19:38 +03:00
Stan Hu
7c5bb6541a
Cast enum vaules to integers and cast them back where appropraite
...
to prevent mixed enumeration type compiler warnings
2012-07-05 18:13:50 +03:00
Petteri Aimonen
9b1e1b440a
Replace PB_MANY_FIELDS with PB_FIELD_16BIT and PB_FIELD_32BIT.
...
This allows more precise control over the memory use vs. field size.
2012-07-01 10:15:37 +03:00
Petteri Aimonen
78086cc27d
Add PB_MANY_FIELDS option for supporting fields > 255.
...
Add generator warning if this is necessary.
Fixes issue #14 .
2012-06-30 19:28:49 +03:00
Petteri Aimonen
67add3259a
Warn if PB_MAX_REQUIRED_FIELDS is not large enough.
2012-06-30 18:23:18 +03:00
Petteri Aimonen
95eb4a5499
Improve the detection of missing required fields.
...
Now the limit of tracked fields is configurable at compile-time using
PB_MAX_REQUIRED_FIELDS. Added related test and updated documentation.
Fixes issue #18 .
2012-06-30 18:10:08 +03:00
Petteri Aimonen
7bcf7ef579
Fixed formatting in docs
2012-06-25 22:17:13 +03:00
Petteri Aimonen
99375a132f
Documented NANOPB_INTERNALS compilation option
2012-06-25 22:08:05 +03:00
Petteri Aimonen
c07e576de8
Note about __BIG_ENDIAN__ compilation option
2012-06-25 21:45:40 +03:00
Petteri Aimonen
3a919ddc5e
Fix error when .proto contains no Messages (e.g. just enums).
...
Thanks to Paul Fertser for reporting this bug.
2012-06-20 21:31:23 +03:00
Petteri Aimonen
0f1d5cca59
Added example on how to handle unions.
2012-06-16 14:08:40 +03:00
Petteri Aimonen
e18352d506
Added new functions to public interface in pb_decode.h.
...
pb_decode_tag and pb_skip_field allow manually iterating the fields
in a message.
2012-06-16 14:07:37 +03:00
Petteri Aimonen
7e1059628c
Fix non-constant initializer errors with some compilers.
...
Fixes issue #13 . Thanks to Kevin Worth for reporting.
2012-06-13 21:43:40 +03:00
Petteri Aimonen
5af2c97ecd
Add descriptor.proto into the #include exclusion list
nanopb-0.1.3
2012-06-12 17:51:08 +03:00
Petteri Aimonen
feddc0115c
Merge branch 'master' of https://code.google.com/p/nanopb
2012-05-19 21:25:47 +03:00
Petteri Aimonen
f9501ca185
Add better error messages in the generator when libraries cannot be imported.
...
Fixes issue #5 .
2012-05-19 21:25:10 +03:00
Petteri Aimonen
b943290886
Fix 64-bitness warnings in the example.
...
Fixes issues 9 and 10.
2012-05-19 21:17:24 +03:00
Petteri Aimonen
d1ca88d20e
Fixing compiler warnings, mostly related to unused parameters.
...
Thanks to David Hotham for the patch. Fixes issue 8.
2012-04-18 20:15:36 +03:00
Petteri Aimonen
9fbe9a5de3
Refactoring the field encoder interface.
...
Replaced the confusing pb_enc_* functions with new pb_encode_* functions that
have a cleaner interface. Updated documentation.
Got rid of the endian_copy stuff in pb_encode.c, instead using C casts to do it automatically.
This makes the code safer and also reduces binary size by about 5%.
Fixes Issue 6.
2012-03-01 13:46:52 +02:00
Petteri Aimonen
0cdc623050
Modified nanopb_generator.py to generate includes for other .proto files.
...
Implementation was suggested by extremeblue99.
Fixes issue 4.
nanopb-0.1.2
2012-02-15 17:34:48 +02:00
Petteri Aimonen
f6b08404fa
Fixed nanopb_generator.py to read the input file in binary mode.
2012-01-30 10:36:17 +02:00
Petteri Aimonen
b36a1a259a
Improved documentation on field decoders.
2012-01-23 18:13:26 +02:00
Petteri Aimonen
113bd7ee87
Fixed issue 1 reported by Erik Rosen:
...
The size of non-callback bytes-fields was miscalculated, which
caused all following fields in a message to contain garbage.
Previous commit contains a testcase for this.
This fix changes the generated message description. If your protocol uses
bytes-fields, you should regenerate *.pb.c.
nanopb-0.1.1
2012-01-12 19:08:05 +02:00
Petteri Aimonen
0f6b615ae3
Added an encode/decode test for 'required' fields of all types.
2012-01-12 19:06:33 +02:00
Petteri Aimonen
a1adf39805
Fixed a bug in the generator that caused a compiler error on sfixed32 and sfixed64 fields.
2012-01-12 18:10:12 +02:00
Petteri Aimonen
b519edba9d
Linewrapping in license
nanopb-0.1.0
2012-01-06 19:04:49 +02:00
Petteri Aimonen
28aa0ce096
Added logo for project :)
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1095 e3a754e5-d11d-0410-8d38-ebb782a927b9
2012-01-05 18:35:12 +00:00
Petteri Aimonen
b5fb97f6f5
Make the fuzztest runnable again
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1091 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-12-30 09:05:01 +00:00
Petteri Aimonen
a3f5e4d81f
Expanding the tests to better cover decoding from memory buffer.
...
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1090 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-12-30 08:57:27 +00:00
Petteri Aimonen
1506450b11
Fixed a bug related to submessage encoding into memory buffer.
...
Stream state was not copied back from substream in pb_enc_submessage,
which caused garbage output if the stream callback modified the state.
Expanded tests to cover this problem.
Thanks to Paweł Pery for debugging and reporting this problem.
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1089 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-12-30 08:43:50 +00:00
Petteri Aimonen
ad7a0e2111
Merged 0005-Handle-endianness-correctly.patch by Matt Kern.
...
On big endian machines, pb_dec_fixed32 and pb_dec_fixed64 were
incorrectly overwriting the result value even if reading failed.
git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1022 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-11-30 15:08:32 +00:00