Commit Graph

60 Commits

Author SHA1 Message Date
Martin Donath
03d4a7c916 Generating and encoding messages with dynamic allocaiton 2013-12-09 16:39:31 +02:00
Petteri Aimonen
321ca6c1d5 Setting version to 0.2.5-dev 2013-11-07 16:47:14 +02:00
Petteri Aimonen
935a26ab1c Publishing nanopb-0.2.4 2013-11-07 16:44:41 +02:00
Petteri Aimonen
2bfd497eea Define pb_size_t and pb_ssize_t data types.
Use these in pb_field_t definition to clean up some #ifs, and also
to prepare for solving issue #82.
2013-10-20 21:49:55 +03:00
Petteri Aimonen
2363af29a2 Setting version to 0.2.4-dev 2013-09-18 12:47:32 +03:00
Petteri Aimonen
283a8f36cb Publishing nanopb-0.2.3 2013-09-18 12:44:46 +03:00
Petteri Aimonen
fd9a79a06d Merge branch 'dev_get_rid_of_ternary_operator' 2013-09-13 11:31:45 +03:00
Petteri Aimonen
9ada7e7525 Fine-tune the naming of new macros before merging into master.
Requires re-generation of files generated with dev_get_rid_of_ternary_operator.
2013-09-13 11:30:58 +03:00
Petteri Aimonen
840e213b9f Get rid of the ternary operator in the pb_field_t initialization.
Some compilers where unable to detect that the ternary operator
can be evaluated at the compile time. This commit does the evaluation
on the Python side, which should fix the problem.

The new .pb.c files are generated using PB_FIELD2() macro. The old
PB_FIELD() macro remains, so that previously generated files keep
working.
2013-09-11 09:53:51 +03:00
Petteri Aimonen
e681dd0d75 Add an example pb_syshdr.h file for platforms without C99.
This allows building the tests easily on Visual C++ in C mode.

Also add checks to pb.h that the defined integer types are of
the proper sizes. This may prevent some difficult to debug problems
later..
2013-09-10 12:39:39 +03:00
Petteri Aimonen
4aef194a99 Setting version to 0.2.3-dev 2013-08-18 22:12:31 +03:00
Petteri Aimonen
81cf30034b Publishing nanopb-0.2.2 2013-08-18 22:11:38 +03:00
Petteri Aimonen
1f13e8cd2c Fix bugs in extension support when multiple extension fields are present. 2013-07-22 18:59:15 +03:00
Petteri Aimonen
ebddda9b5c Implement extension support for the encoder 2013-07-17 19:23:19 +03:00
Petteri Aimonen
7c5e184c26 Implement generator support for extension fields (no encoder/decoder support yet) 2013-07-17 00:06:54 +03:00
Petteri Aimonen
0ed3158560 Add section in pb.h for changing compilation settings.
Update issue 76
Status: FixedInGit
2013-07-06 15:27:31 +03:00
Petteri Aimonen
bfd7cb36b9 Setting version to 0.2.2-dev 2013-04-14 10:07:46 +03:00
Petteri Aimonen
ef741ea530 Publishing nanopb-0.2.1 2013-04-14 10:06:47 +03:00
dch
710465a8e0 __pragma keyword is only supported by recent Microsoft compilers 2013-04-08 10:56:13 +03:00
Petteri Aimonen
214b0eae8a Change the callback function to use void**.
NOTE: This change breaks backwards-compatibility by default.
If you have old callback functions, you can define PB_OLD_CALLBACK_STYLE
to retain the old behaviour.

If you want to convert your old callbacks to new signature, you need
to do the following:

1) Change decode callback argument to   void **arg
      and encode callback argument to   void * const *arg.

2) Change any reference to arg into *arg.

The rationale for making the new behaviour the default is that it
simplifies the common case of "allocate some memory in decode callback".

Update issue 69
Status: FixedInGit
2013-04-02 19:55:21 +03:00
Petteri Aimonen
6f3740f74e Fix warning on clang.
Update issue 67
Status: FixedInGit
2013-03-13 15:34:12 +02:00
Petteri Aimonen
1396dce2ae Add support for packed structures on IAR and MSVC.
Update issue 66
Status: FixedInGit
2013-03-13 15:22:00 +02:00
Petteri Aimonen
03e5393072 Add PB_SYSTEM_HEADER compile time option.
This allows replacing the C99 standard include file names with
a single system-specific file. It should provide all the necessary
system functions (typedefs, memset, memcpy, strlen).

Update issue 62
Status: FixedInGit
2013-03-09 14:56:34 +02:00
Petteri Aimonen
104710b26c Setting version to 0.2.1-dev 2013-03-02 16:35:17 +02:00
Petteri Aimonen
c8e0732e6b Publishing nanopb-0.2.0 2013-03-02 16:32:54 +02:00
Petteri Aimonen
41f98343c8 Separate PB_HTYPE to PB_ATYPE and PB_HTYPE.
Also clean up the logic so that it is easier to implement more
allocation types in the future.

Update issue 53
Status: FixedInGit
2013-02-20 22:55:59 +02:00
Petteri Aimonen
69085d9387 Rename PB_HTYPE_ARRAY -> PB_HTYPE_REPEATED.
This is a more logical name in parallel with PB_HTYPE_REQUIRED and PB_HTYPE_OPTIONAL.

Warning: This breaks backwards-compatibility of generated .pb.c files.
You will have to regenerate the files and recompile.
2013-02-20 21:58:18 +02:00
Petteri Aimonen
258ba8335d Reformat generated .pb.c files using macros.
This has the following advantages:
1) Easier to modify pb_field_t encoding
2) Simpler generator logic
3) Tidier looking, easier to read .pb.c files

Update issue 58
Status: FixedInGit
2013-02-17 00:10:47 +02:00
Petteri Aimonen
ec4a7a0cce Replace pb_type_t enum with #defines.
See issue #57.
2013-02-11 21:55:55 +02:00
Petteri Aimonen
c1a355b23e Set version to 0.2.0-dev 2013-02-11 21:54:24 +02:00
Petteri Aimonen
2392d25574 Fix misleading comment (current generator sets LTYPE always). 2013-01-21 21:18:38 +02:00
Petteri Aimonen
bb5dc04584 Setting version to 0.1.9-dev 2012-12-13 21:32:37 +02:00
Petteri Aimonen
09ec60cadf Publishing nanopb-0.1.8 2012-12-13 21:29:57 +02:00
Petteri Aimonen
59788e2aab Rename test_compiles.c to test_multiple_files.c 2012-11-16 09:33:11 +02:00
Steffen Siering
cc29958d34 Fix STATIC_ASSERT macro when using multiple .proto files.
The __COUNTER__ macro (used for generating unique names) is at least supported
by gcc, clang and Visual Studio. With this change test_compiles.c is
compilable, since no more typedefs are redefined.

Compilers/Preprocessors not supporting __COUNTER__ error's are still possible
which are hopfully handled by the usage of __LINE__ in most sittuations.

Added unit test for the problem.
2012-11-16 09:24:39 +02:00
Petteri Aimonen
fc6f56b2bd Setting version to 0.1.8-dev 2012-11-11 11:19:17 +02:00
Petteri Aimonen
92bb37b074 Publishing nanopb-0.1.7 2012-11-11 11:16:01 +02:00
Petteri Aimonen
08391f35ee Add nanopb version number to generated files.
tools/set_version.sh is used to update the values.

Update issue 36
Status: FixedInGit
2012-10-29 19:15:34 +02:00
Petteri Aimonen
c3fa362653 Give names to generated structures to allow forward declaration.
Update issue 39
Status: FixedInGit
2012-10-29 16:56:45 +02:00
Petteri Aimonen
b214de4e1e Enable -Wconversion for core and fix the warnings.
This should help avoid issue 33 in the future.
2012-09-03 17:35:14 +03:00
Petteri Aimonen
f187aad63d Fix -Wextra warning in generated .pb.c files.
Compile the generated files with the same extra-strict
settings as the core, in order to detect problems in tests.

Update issue 32
Status: FixedInGit
2012-09-02 19:54:35 +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
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
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
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
2a80ff2bd5 Merged 0004-Added-missing-trailing-newlines.patch by Matt Kern.
Just adding newlines at the end of files to satisfy old GCC versions.


git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1021 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-11-30 15:03:23 +00:00
Petteri Aimonen
fcfc99f766 Fixed a bunch of bugs related to callback fields.
Most importantly, callback fields in submessages were being overwritten with garbage, causing segfaults.

Additionally, converted PB_LTYPE_FIXED to PB_LTYPE_FIXED32 and PB_LTYPE_FIXED64. This makes the interface
a bit easier to use, and in addition runs faster.


git-svn-id: https://svn.kapsi.fi/jpa/nanopb@975 e3a754e5-d11d-0410-8d38-ebb782a927b9
2011-09-13 16:14:08 +00:00