Ramsay Jones [off-list ref] writes:
quoted
quoted
@@ -120,7 +120,7 @@ void jw_object_uint64(struct json_writer *jw, const char *key, uint64_t value)
maybe_add_comma(jw);
append_quoted_string(&jw->json, key);
- strbuf_addf(&jw->json, ":%"PRIuMAX, value);
+ strbuf_addf(&jw->json, ":%"PRIu64, value);
In this code-base, that would normally be written as:
strbuf_addf(&jw->json, ":%"PRIuMAX, (uintmax_t) value);
heh, I should learn not to reply in a hurry, just before
going out ...
I had not noticed that 'value' was declared with an 'sized type'
of uint64_t, so using PRIu64 should be fine.
But why is this codepath using a sized type in the first place? It
is not like it wants to read/write a fixed binary file format---it
just wants to use an integer type that is wide enough to handle any
inttype the platform uses, for which uintmax_t would be a more
appropriate type, no?