Merged 0003-Fixed-format-specifiers.patch by Matt Kern.

Fixes cross-platform issues with the length modifier in printf specifiers,
most importantly %d -> %ld.



git-svn-id: https://svn.kapsi.fi/jpa/nanopb@1020 e3a754e5-d11d-0410-8d38-ebb782a927b9
This commit is contained in:
Petteri Aimonen
2011-11-30 15:01:59 +00:00
parent a77ab47c29
commit e66675a25d
2 changed files with 8 additions and 8 deletions

View File

@@ -23,7 +23,7 @@ bool print_person(pb_istream_t *stream)
/* Now the decoding is done, rest is just to print stuff out. */
printf("name: \"%s\"\n", person.name);
printf("id: %d\n", person.id);
printf("id: %ld\n", (long)person.id);
if (person.has_email)
printf("email: \"%s\"\n", person.email);

View File

@@ -30,7 +30,7 @@ bool print_int32(pb_istream_t *stream, const pb_field_t *field, void *arg)
if (!pb_decode_varint(stream, &value))
return false;
printf((char*)arg, (int32_t)value);
printf((char*)arg, (long)value);
return true;
}
@@ -40,7 +40,7 @@ bool print_fixed32(pb_istream_t *stream, const pb_field_t *field, void *arg)
if (!pb_dec_fixed32(stream, NULL, &value))
return false;
printf((char*)arg, value);
printf((char*)arg, (long)value);
return true;
}
@@ -50,7 +50,7 @@ bool print_fixed64(pb_istream_t *stream, const pb_field_t *field, void *arg)
if (!pb_dec_fixed64(stream, NULL, &value))
return false;
printf((char*)arg, value);
printf((char*)arg, (long long)value);
return true;
}
@@ -69,18 +69,18 @@ int main()
testmessage.submsg.stringvalue.funcs.decode = &print_string;
testmessage.submsg.stringvalue.arg = "submsg {\n stringvalue: \"%s\"\n";
testmessage.submsg.int32value.funcs.decode = &print_int32;
testmessage.submsg.int32value.arg = " int32value: %d\n";
testmessage.submsg.int32value.arg = " int32value: %ld\n";
testmessage.submsg.fixed32value.funcs.decode = &print_fixed32;
testmessage.submsg.fixed32value.arg = " fixed32value: %d\n";
testmessage.submsg.fixed32value.arg = " fixed32value: %ld\n";
testmessage.submsg.fixed64value.funcs.decode = &print_fixed64;
testmessage.submsg.fixed64value.arg = " fixed64value: %lld\n}\n";
testmessage.stringvalue.funcs.decode = &print_string;
testmessage.stringvalue.arg = "stringvalue: \"%s\"\n";
testmessage.int32value.funcs.decode = &print_int32;
testmessage.int32value.arg = "int32value: %d\n";
testmessage.int32value.arg = "int32value: %ld\n";
testmessage.fixed32value.funcs.decode = &print_fixed32;
testmessage.fixed32value.arg = "fixed32value: %d\n";
testmessage.fixed32value.arg = "fixed32value: %ld\n";
testmessage.fixed64value.funcs.decode = &print_fixed64;
testmessage.fixed64value.arg = "fixed64value: %lld\n";