Age | Commit message (Collapse) | Author | Files | Lines |
|
Apparently int32 values that are negative must be cast into int64 first
before being encoded. Because uint32 still needs to be cast to uint64,
the cases for int32 and uint32 had to be separated.
Update issue 97
Status: FixedInGit
|
|
|
|
|
|
Use these in pb_field_t definition to clean up some #ifs, and also
to prepare for solving issue #82.
|
|
|
|
|
|
|
|
Requires re-generation of files generated with dev_get_rid_of_ternary_operator.
|
|
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.
|
|
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..
|
|
|
|
|
|
|
|
|
|
yet)
|
|
Update issue 76
Status: FixedInGit
|
|
|
|
|
|
|
|
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
|
|
Update issue 67
Status: FixedInGit
|
|
Update issue 66
Status: FixedInGit
|
|
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
|
|
|
|
|
|
Also clean up the logic so that it is easier to implement more
allocation types in the future.
Update issue 53
Status: FixedInGit
|
|
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.
|
|
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
|
|
See issue #57.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
tools/set_version.sh is used to update the values.
Update issue 36
Status: FixedInGit
|
|
Update issue 39
Status: FixedInGit
|
|
This should help avoid issue 33 in the future.
|
|
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
|
|
Update issue 7
Status: Started
|
|
|
|
to prevent mixed enumeration type compiler warnings
|
|
This allows more precise control over the memory use vs. field size.
|
|
Add generator warning if this is necessary.
Fixes issue #14.
|
|
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.
|
|
Thanks to David Hotham for the patch. Fixes issue 8.
|
|
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
|
|
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
|