Re: [RFC PATCH 1/1] json-writer: incorrect format specifier
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 26, 2018, 17:04 UTC
- Message-ID
- <xmqqr2o6dayt.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <c8628770-71d7-42f4-4bc5-444ea0160d26@ramsayjones.plus.com>
Ramsay Jones <ramsay@ramsayjones.plus.com> writes:
Show 16 quoted lines
>>> @@ -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?