138 Commits

Author SHA1 Message Date
Petteri Aimonen
5c16a116ec Better error messages for syntax errors in .options file 2015-02-26 18:16:25 +02:00
Petteri Aimonen
4a6580726e Fix generator error when long_names:false is combined with Oneofs.
Update issue 147
Status: FixedInGit
2015-02-26 17:33:36 +02:00
Petteri Aimonen
25b92c5b4e Fix generator bug when oneof is first field in a message.
Added test case for the same.

Update issue 142
Status: FixedInGit
2015-01-27 17:47:25 +02:00
Petteri Aimonen
5aa8207ab1 Setting version to nanopb-0.3.3-dev 2015-01-24 17:40:42 +02:00
Petteri Aimonen
acd7291791 Publishing nanopb-0.3.2 2015-01-24 17:33:01 +02:00
Petteri Aimonen
d32d04ba10 Fix encoded_size #defines for oneof messages.
The sizes are represented as EncodedSize() instances, which cause
max() operation to sort them by address instead of value. This caused
pretty much random item to be selected for the maximum.

Update issue 141
Status: FixedInGit
2015-01-23 21:29:29 +02:00
Petteri Aimonen
8d12fecc7e New generator options for oneofs: allow skipping or generating as normal 'optional' fields.
The behaviour with no_unions:true is the same as of nanopb 0.3.1 and earlier.
2015-01-11 19:45:16 +02:00
Petteri Aimonen
8ef0392231 Fix generator error with OneOfs 2015-01-07 18:59:44 +02:00
Petteri Aimonen
fa444be424 Allow using 8/16/32/64 as values in int_size setting 2015-01-05 22:32:34 +02:00
Petteri Aimonen
77a71ceb6d Fix build failure 2015-01-04 19:48:09 +02:00
Petteri Aimonen
7713d43bc3 Implement support for oneofs (C unions).
Basic test included, should probably add an oneof to the AllTypes test also.

Update issue 131
Status: Started
2015-01-04 19:39:37 +02:00
Petteri Aimonen
50c67ecec4 Add int_size option for generator.
This allows overriding the integer field types to e.g. uint8_t for
saving RAM.

Update issue 139
Status: FixedInGit
2015-01-04 12:02:15 +02:00
Petteri Aimonen
980f899dd5 Include the field type in a comment for extension fields 2014-12-26 17:43:38 +02:00
Petteri Aimonen
e5cbee84e1 Verify build with protobuf-3.0.0, fix problems.
Also updated descriptor.proto from protobuf-3.0.0.
2014-12-22 22:52:36 +02:00
Petteri Aimonen
baf44b367f Set version to nanopb-0.3.2-dev 2014-09-16 20:41:45 +03:00
Petteri Aimonen
b947dc6e2c Publishing nanopb-0.3.1 2014-09-11 19:36:14 +03:00
Petteri Aimonen
cdbf51db08 Fix compilation error with generated initializers for repeated pointer fields 2014-09-07 19:49:00 +03:00
Petteri Aimonen
df7234fd8b Fix cyclic messages support in generator. Beginnings of test.
Update issue 130
Status: Started
2014-08-28 21:23:28 +03:00
Petteri Aimonen
71b81ad573 Setting version to 0.3.1-dev 2014-08-26 18:20:48 +03:00
Petteri Aimonen
8dede6095e Publishing nanopb-0.3.0 2014-08-26 18:08:31 +03:00
Petteri Aimonen
3ed219382e Add #if guard for .pb.h version.
The version in PB_PROTO_HEADER_VERSION can be bumped whenever there
is a breaking change to the generated files, and it will then alert
to the difference.

Update issue 129
Status: FixedInGit
2014-08-19 17:55:44 +03:00
Petteri Aimonen
be0b9e047a Rename poorly named identifier to avoid name conflicts.
Update issue 106
Status: FixedInGit
2014-08-18 21:11:10 +03:00
Petteri Aimonen
62b4a8ecaa Rename UNUSED() and STATIC_ASSERT() macros with PB_ prefix.
This avoids possible namespace conflicts with other macros.
2014-08-18 20:49:48 +03:00
Petteri Aimonen
1dd9f1900f Change the _count fields to use pb_size_t datatype.
Update issue 82
Status: FixedInGit
2014-08-18 20:09:52 +03:00
Petteri Aimonen
0150b98be6 Setting version to 0.3.0-dev 2014-08-09 22:18:24 +03:00
Petteri Aimonen
2f05a35b5f Publishing nanopb-0.2.9 2014-08-09 22:01:04 +03:00
Petteri Aimonen
ec3bff4ba1 Generate #defines for initializing message structures.
Usage like:
MyMessage foo = MyMessage_init_default;

MyMessage_init_default will initialize to default values defined in .proto.

MyMessage_init_zero will initialize to null/zero values. Same results as {}
or {0}, but will avoid compiler warnings by initializing everything explicitly.

Update issue 79
Status: FixedInGit
2014-08-04 18:40:40 +03:00
Petteri Aimonen
1d7f60fec3 Add skip_message option to generator.
Update issue 121
Status: FixedInGit
2014-07-20 14:56:12 +03:00
Petteri Aimonen
3cf9668c75 Do not automatically add a dot with generator -e option.
Now -e option in generator is more versatile. Especially it avoids
double-dot problem with some build systems.

Given foobar.proto, we now get:
-e .pb  =>  foobar.pb.c (default)
-e _pb  =>  foobar_pb.c
-e ''   =>  foobar.c

Note that if you have used -e option previously, you will have to prepend
. to the argument to get the same filenames as before.

Update issue 122
Status: FixedInGit
2014-07-20 14:25:11 +03:00
Petteri Aimonen
7f97ad549e Give better messages about the .options file path.
Update issue 124
Status: FixedInGit
2014-07-20 14:18:21 +03:00
Petteri Aimonen
f2f9f8a9ed Fix problem with .options file and extension fields.
The options for an extension field were being looked up under wrong name
(MessageName instead of MessageName.fieldname).

Fixed the problem and added regression test. Created a new subfolder for
regression test cases.

Update issue 125
Status: FixedInGit
2014-07-20 14:02:56 +03:00
Petteri Aimonen
2e9797af58 Setting version to 0.2.9-dev 2014-05-20 19:52:09 +03:00
Petteri Aimonen
916bcb3643 Publishing nanopb-0.2.8 2014-05-20 19:35:00 +03:00
Petteri Aimonen
e6a57e512f Add option to not add timestamps to .pb.h and .pb.c preambles.
Patch by rusnakp.

Update issue 115
Status: FixedInGit
2014-04-18 15:40:40 +03:00
Petteri Aimonen
938c7ac3f3 Setting version to 0.2.8-dev 2014-04-07 20:45:04 +03:00
Petteri Aimonen
6d74c66ada Publishing nanopb-0.2.7 2014-04-07 20:30:42 +03:00
Petteri Aimonen
6c90e824c4 Fix compile error when default value given for extension field.
Update issue 111
Status: FixedInGit
2014-04-01 16:47:53 +03:00
Petteri Aimonen
9be2cfe968 Get rid of pb_bytes_ptr_t, just allocate pb_bytes_array_t dynamically.
This makes the internal logic much simpler, and also keeps the datatypes
more similar between STATIC/POINTER cases. It will still be a bit cumbersome
to use because of variable length array member. Macros PB_BYTES_ARRAY_T(n) and
PB_BYTES_ARRAY_T_ALLOCSIZE(n) have been added to make life a bit easier.

This has the drawback that it is no longer as easy to use externally allocated
byte array as input for bytes field in pointer mode. However, this is still
easy to do using callbacks, so it shouldn't be a large issue.
2014-03-15 08:45:58 +02:00
Petteri Aimonen
842c960d5d Setting version to 0.2.7-dev 2014-02-15 17:15:54 +02:00
Petteri Aimonen
7f397b067f Publishing nanopb-0.2.6 2014-02-15 16:40:38 +02:00
Petteri Aimonen
542463dbaa Move descriptor.proto to google/protobuf directory where it belongs.
This fixes some interoperability problems when trying to compile
nanopb.proto for e.g. the Google's C++ library.

Update issue 104
Status: FixedInGit
2014-02-12 19:43:04 +02:00
Petteri Aimonen
bd22cf2777 Improve status/error reporting in generator.
Update issue 105
Status: FixedInGit
2014-02-12 18:51:48 +02:00
Petteri Aimonen
879860be19 Add coments to places where STATIC_ASSERT is used.
Update issue 96
Status: FixedInGit
2014-02-04 20:34:57 +02:00
Petteri Aimonen
a2f8112166 Add proper suffixes for integer default values.
Update issue 102
Status: FixedInGit
2014-02-04 20:24:44 +02:00
Petteri Aimonen
a46ed9f475 Fix problem with callback-type fields (issue #99). 2014-01-03 11:17:39 +02:00
Petteri Aimonen
843fc4b11a Setting version to 0.2.6-dev 2014-01-01 11:44:47 +02:00
Petteri Aimonen
906c8283b5 Publishing nanopb-0.2.5 2014-01-01 11:20:54 +02:00
Petteri Aimonen
125b49bf24 Fix spaces in paths on Windows also 2013-12-29 21:36:06 +02:00
Petteri Aimonen
7c9a8a132b Fix protoc-gen-nanopb when the path contains spaces 2013-12-29 20:48:30 +02:00
Petteri Aimonen
435ccbfdf7 Fixes for pyinstaller 2013-12-29 20:26:58 +02:00