454 Commits

Author SHA1 Message Date
Ilya Lipnitskiy
7634c0e6e6 protobuf-c.c: Pack negative enum values correctly
Fix a few casts where ints were cast to uints unnecessarily

Fixes #199. Previously, enums were treated as uint32's, but they need to
be treated as int32's instead.

t: Add a few test cases with negative enum values
2015-12-12 20:36:35 -08:00
Ilya Lipnitskiy
8debedbc3c test-generated-code2.c: Don't call memcmp with a NULL pointer 2015-12-12 17:43:01 -08:00
Ilya Lipnitskiy
e2d45cbe84 protobuf-c.c: Fix undefined code in zigzag functions 2015-12-12 17:41:38 -08:00
Ilya Lipnitskiy
565f42d300 .travis.yml: Add sanitizer checks
Add support for multiple versions of GCC and clang by using a build
matrix. Switch Travis VM to be based on Ubuntu 14.04
2015-12-12 17:05:05 -08:00
Ilya Lipnitskiy
0e2d3c09e2 Rename LITE_RUNTIME to CODE_SIZE 2015-10-30 15:54:00 -07:00
Ilya Lipnitskiy
4eb49206ff protobuf-c.h: Document the new LITE_RUNTIME behavior 2015-03-15 20:01:03 -07:00
Ilya Lipnitskiy
be99a7ac31 t: Add tests for the LITE_RUNTIME optimization option 2015-03-15 20:01:03 -07:00
Ilya Lipnitskiy
603e431864 protoc-c: Support the optimize_for = LITE_RUNTIME file option
Adds support for the LITE_RUNTIME optimization option to the protobuf-c
compiler. Enabling this option would generate lighter weight message,
enum, and service descriptors that contain NO strings. As a result,
calls to lookup descriptors via the *_get_{field,value,method}_by_name
API will return NULL.

Default compiler behavior (when optimize_for is not specified or is not
set to LITE_RUNTIME) is unchanged.
2015-03-15 20:01:03 -07:00
Ilya Lipnitskiy
8601458e5c protobuf-c.c: Don't crash when *_by_name fields in descriptors are NULL 2015-03-15 20:00:11 -07:00
Robert Edmonds
3b7d27a462 ChangeLog: 1.1.1 v1.1.1 2015-03-14 17:00:57 -04:00
Robert Edmonds
9983a190a0 Bump version to 1.1.1 2015-03-14 17:00:57 -04:00
Robert Edmonds
21dead9e19 Bump copyright year to 2015 2015-03-14 17:00:57 -04:00
Robert Edmonds
a5a802641a .travis.yml: Update protobuf dependency to 2.6.1 2015-03-14 16:08:10 -04:00
Andrey Myznikov
812ecf9326 Fix incorrect 'Short version of service name' generation for ProtobufCServiceDescriptor 2015-03-14 16:00:28 -04:00
Robert Edmonds
cbe7b84a14 Merge remote-tracking branch 'github/protoc_c_comments' into next 2015-03-13 12:42:51 -04:00
Ilya Lipnitskiy
c89cd01189 .travis.yml: Exclude protoc-c from the coveralls report 2015-02-14 20:45:04 -08:00
Oleg Efimov
0a29317348 .travis.yml: exclude downloaded protobuf sources from coveralls report 2015-02-14 20:40:07 -08:00
Ilya Lipnitskiy
ce6cc2350f TODO: Remove items that have been completed 2015-02-14 19:32:54 -08:00
Ilya Lipnitskiy
b64f6c1f68 protoc-c/c_enum.cc: Make enum_values_{by_name,by_number} structs static 2015-02-14 19:21:29 -08:00
Ilya Lipnitskiy
617fa7ef6f test-generated-code2.c: Cosmetic change 2015-02-14 17:28:36 -08:00
Ilya Lipnitskiy
8f42a69f86 protoc-c/c_helpers.cc: Enhance comment string parsing
Certain protobuf comments could generate invalid C comments
and inadvertently close the comment block. This commit removes '/'
signs in such comments.

One example of a .proto file containing such comments is a commonly
included descriptor.proto from the protobuf library.
2015-01-30 20:11:34 -08:00
Oleg Efimov
5238d655b9 protobuf-c.c: Better input checks in protobuf_c_message_free_unpacked
Check for NULL pointer for repeated fields passed to protobuf_c_message_free_unpacked

Closes #177
2015-01-18 22:09:15 +03:00
Oleg Efimov
24182d859f protobuf-c.c: Better input checks in protobuf_c_message_free_unpacked
Check for NULL message pointer passed to protobuf_c_message_free_unpacked

Closes #177
2015-01-18 22:09:15 +03:00
Oleg Efimov
f49fabead4 t: fix compile warnings about pointers of different types assignments
warning: assigning to 'uint8_t *' (aka 'unsigned char *')
from 'char *' converts between pointers to integer types
with different sign [-Wpointer-sign]
2015-01-06 22:48:00 +03:00
Robert Edmonds
b0b0e874a4 ChangeLog: 1.1.0 v1.1.0 2015-01-05 16:25:09 -05:00
Robert Edmonds
287c916f9d bump version to 1.1.0 2015-01-05 15:54:02 -05:00
Robert Edmonds
a57204d867 ChangeLog: Document recent changes 2015-01-05 15:36:28 -05:00
Ilya Lipnitskiy
35ec2e2f9c protoc-c: Print comments for generated enum, message, and field definitions 2014-12-16 18:12:54 -08:00
Ilya Lipnitskiy
8eec9c90e6 protobuf-c.h: Add docs for generated message init macro and function 2014-12-06 22:53:05 -08:00
Robert Edmonds
c23348a14e Fix PROTOBUF_C_VERSION, PROTOBUF_C_VERSION_NUMBER 2014-11-24 16:38:22 -05:00
Robert Edmonds
e0841a957e configure.ac: next has 1.1.0 in development 2014-11-24 16:23:08 -05:00
Robert Edmonds
0ba0fe6aab ChangeLog: oneof support 2014-11-24 16:20:23 -05:00
Robert Edmonds
453f39e692 Merge oneof support 2014-11-24 16:18:56 -05:00
Robert Edmonds
8f23163f68 ChangeLog: Document fix in previous commit 2014-11-24 16:18:04 -05:00
Ilya Lipnitskiy
6090d9a924 t: Add tests for oneoffs
Add test cases for parsing multiple fields of the same oneof from the wire
Add more tests for submessage merging, including oneofs
2014-11-19 23:07:23 -08:00
Ilya Lipnitskiy
9db84a3b90 protoc-c: Implement oneofs 2014-11-19 23:07:23 -08:00
Ilya Lipnitskiy
2e465cfdc7 configure.ac: Bump min protobuf version to 2.6.0 for oneof parsing support 2014-11-19 22:06:21 -08:00
Ilya Lipnitskiy
791b0458bf protobuf-c.{c,h}: Implement oneof support
Add a field flag and functions to pack/unpack oneofs
Add logic to parse multiple fields for the same oneof
Add logic for merging submessages that contain oneofs
2014-11-19 22:06:21 -08:00
Ilya Lipnitskiy
060c071209 protobuf-c.c: Fix a bug when merging optional byte fields 2014-11-18 23:52:15 -08:00
Ilya Lipnitskiy
c6a950c53c README.md: Add a Documentation section 2014-11-15 01:00:43 -08:00
Ilya Lipnitskiy
24dd502094 .commit_docs.sh: initial version of the documentation update script 2014-11-15 00:27:50 -08:00
Robert Edmonds
0481c71e06 ChangeLog: finalize 1.0.2 v1.0.2 2014-09-12 16:32:42 -04:00
Robert Edmonds
57bdb38886 ChangeLog: alex85k -> Alexei Kasatkin 2014-09-10 14:33:20 -04:00
Robert Edmonds
151d48d956 ChangeLog: 1.0.2 2014-09-08 17:48:31 -04:00
Robert Edmonds
58f764ecfe bump version to 1.0.2 2014-09-08 17:07:47 -04:00
Robert Edmonds
cb7498b0a7 Makefile.am: distribute build-cmake/CMakeLists.txt
Ironically, we need to tell automake to distribute the CMakeLists.txt
file in the tarball...
2014-09-08 17:05:05 -04:00
Robert Edmonds
b0e0430d57 build-cmake/: add a new CMakeLists.txt file as a fallback
For certain platforms where autotools is not the preferred build system,
provide a fallback cmake file that can compile protoc-c and a static
library of libprotobuf-c.

Based on the file from alex85k's protobuf-c repository.

(Issue #168.)
2014-09-08 17:05:05 -04:00
Natanael Copa
b0bb563033 Makefile.am: fix parallel build of t/generated-code2/cxx-generate-packed-data
The object file name is not what is expected when building with
automake's "subdir-objects" option. Rather than expecting automake to
generate a specific filename, we simply make the generated header a
dependency of all objects for cxx-generate-packed-data.

(Issue #156, #169.)
2014-09-08 17:04:39 -04:00
Robert Edmonds
d80856c3f5 protobuf-c: 'inline' workaround for microsoft compilers
Per http://msdn.microsoft.com/en-us/library/z8y1yy88(v=vs.71).aspx,
Microsoft compilers do not support the Standard C keyword 'inline',
instead preferring the implementation-specific '__inline', so add a
workaround for these specific compilers.

Based on a patch from alex85k (#167).
2014-09-08 16:00:38 -04:00
Robert Edmonds
faf6244ef5 .travis.yml: fetch the protobuf tarball from GitHub instead of Google Code
Per the protobuf developers,

    We will from everything away from Google Code eventually. We haven't
    decided where to put future release packages yet but as it seems github
    supports this well chances are we'll use github as the canonical location
    for all downloads.
2014-09-05 17:18:18 -04:00