Re: [PATCH 1/1] ref-filter: replace unportable `%lld` format
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 24, 2018, 02:53 UTC
- Message-ID
- <xmqqsgzr2nkk.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <617f1e7b084ff95f4cc7c5a4b7b70b9a5c0d1af1.1542888057.git.gitgitgadget@gmail.com>
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 10 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de> > > The `%lld` format is supported on Linux and macOS, but not on Windows. > This issue has been reported ten days ago (Message-ID: > nycvar.QRO.7.76.6.1811121300520.39@tvgsbejvaqbjf.bet), but the > corresponding topic still advanced to `next` in the meantime, breaking > the Windows build. > > Let's use `PRIdMAX` and a cast to `intmax_t` instead, which unbreaks the > build, and imitates how we do things e.g. in `json-writer.c` already.
We seem to be already using PRIdMAX in 'master', so this is safe thing to do and I will merge it directly to 'next', but the fact that PRIdMAX is used without any fallback definition in git-compat-util.h makes me suspect that we can now drop the fallback for PRIuMAX.
Thanks.
Show 18 quoted lines
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> ref-filter.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/ref-filter.c b/ref-filter.c
> index 3cfe01a039..69cdf2dbb5 100644
> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -897,7 +897,7 @@ static void grab_common_values(struct atom_value *val, int deref, struct expand_
> v->s = xstrdup(type_name(oi->type));
> else if (!strcmp(name, "objectsize:disk")) {
> v->value = oi->disk_size;
> - v->s = xstrfmt("%lld", (long long)oi->disk_size);
> + v->s = xstrfmt("%"PRIdMAX, (intmax_t)oi->disk_size);
> } else if (!strcmp(name, "objectsize")) {
> v->value = oi->size;
> v->s = xstrfmt("%lu", oi->size);