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.
This commit is contained in:
Petteri Aimonen
2012-07-18 21:09:13 +03:00
parent d8bddabb83
commit 10b5da12dc
3 changed files with 8 additions and 5 deletions

View 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) 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_field_iterator_t iter;
pb_message_set_to_defaults(fields, dest_struct); pb_message_set_to_defaults(fields, dest_struct);

View File

@@ -99,7 +99,7 @@ static bool checkreturn encode_array(pb_ostream_t *stream, const pb_field_t *fie
} }
else else
{ {
pb_ostream_t sizestream = {0}; pb_ostream_t sizestream = {0,0,0,0};
p = pData; p = pData;
for (i = 0; i < count; i++) 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) 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. */ /* 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; size_t size;
bool status; bool status;

View 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 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 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 all: breakpoints $(TESTS) run_unittests
clean: clean:
@@ -13,9 +16,9 @@ clean:
$(CC) $(CFLAGS) -c -o $@ $< $(CC) $(CFLAGS) -c -o $@ $<
pb_encode.o: ../pb_encode.c $(DEPS) pb_encode.o: ../pb_encode.c $(DEPS)
$(CC) $(CFLAGS) -c -o $@ $< $(CC) $(CFLAGS) $(CFLAGS_CORE) -c -o $@ $<
pb_decode.o: ../pb_decode.c $(DEPS) 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_decode1: test_decode1.o pb_decode.o person.pb.o
test_decode2: test_decode2.o pb_decode.o person.pb.o test_decode2: test_decode2.o pb_decode.o person.pb.o