Fixed a few compiler warnings, added check.
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>
Wed, 18 Jul 2012 18:09:13 +0000 (21:09 +0300)
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>
Wed, 18 Jul 2012 18:09:13 +0000 (21:09 +0300)
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.

pb_decode.c
pb_encode.c
tests/Makefile

index 458d5f1..e183be7 100644 (file)
@@ -409,7 +409,7 @@ static void pb_message_set_to_defaults(const pb_field_t fields[], void *dest_str
 
 bool checkreturn pb_decode(pb_istream_t *stream, const pb_field_t fields[], void *dest_struct)
 {
-    uint8_t fields_seen[(PB_MAX_REQUIRED_FIELDS + 7) / 8] = {}; /* Used to check for required fields */
+    uint8_t fields_seen[(PB_MAX_REQUIRED_FIELDS + 7) / 8] = {0}; /* Used to check for required fields */
     pb_field_iterator_t iter;
     
     pb_message_set_to_defaults(fields, dest_struct);
index be909ec..8868bb6 100644 (file)
@@ -99,7 +99,7 @@ static bool checkreturn encode_array(pb_ostream_t *stream, const pb_field_t *fie
         }
         else
         {
-            pb_ostream_t sizestream = {0};
+            pb_ostream_t sizestream = {0,0,0,0};
             p = pData;
             for (i = 0; i < count; i++)
             {
@@ -314,7 +314,7 @@ bool checkreturn pb_encode_string(pb_ostream_t *stream, const uint8_t *buffer, s
 bool checkreturn pb_encode_submessage(pb_ostream_t *stream, const pb_field_t fields[], const void *src_struct)
 {
     /* First calculate the message size using a non-writing substream. */
-    pb_ostream_t substream = {0};
+    pb_ostream_t substream = {0,0,0,0};
     size_t size;
     bool status;
     
index 8c063f3..5a5d94a 100644 (file)
@@ -3,6 +3,9 @@ LDFLAGS=--coverage
 DEPS=../pb_decode.h ../pb_encode.h ../pb.h person.pb.h callbacks.pb.h unittests.h unittestproto.pb.h alltypes.pb.h missing_fields.pb.h
 TESTS=test_decode1 test_encode1 decode_unittests encode_unittests test_no_messages
 
+# More strict checks for the core part of nanopb
+CFLAGS_CORE=-pedantic -Wextra
+
 all: breakpoints $(TESTS) run_unittests
 
 clean:
@@ -13,9 +16,9 @@ clean:
        $(CC) $(CFLAGS) -c -o $@ $<
 
 pb_encode.o: ../pb_encode.c $(DEPS)
-       $(CC) $(CFLAGS) -c -o $@ $<
+       $(CC) $(CFLAGS) $(CFLAGS_CORE) -c -o $@ $<
 pb_decode.o: ../pb_decode.c $(DEPS)
-       $(CC) $(CFLAGS) -c -o $@ $<
+       $(CC) $(CFLAGS) $(CFLAGS_CORE) -c -o $@ $<
 
 test_decode1: test_decode1.o pb_decode.o person.pb.o
 test_decode2: test_decode2.o pb_decode.o person.pb.o