From 10b5da12dc9757b345a9d6f9daeef9098731ff69 Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Wed, 18 Jul 2012 21:09:13 +0300 Subject: Fixed a few compiler warnings, added check. 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 | 2 +- pb_encode.c | 4 ++-- tests/Makefile | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pb_decode.c b/pb_decode.c index 458d5f1e..e183be7d 100644 --- a/pb_decode.c +++ b/pb_decode.c @@ -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); diff --git a/pb_encode.c b/pb_encode.c index be909ec2..8868bb64 100644 --- a/pb_encode.c +++ b/pb_encode.c @@ -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; diff --git a/tests/Makefile b/tests/Makefile index 8c063f30..5a5d94ab 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -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 -- cgit 1.2.3-korg