threads / patch / 49882

patchFix Windows build of next

Subject: [PATCH 0/1] Fix Windows build of next

## tl;dr

3 messages between Nov 22, 2018 and Nov 24, 2018. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Johannes Schindelin via GitGitGadget· Nov 22, 2018, 12:00 UTC · lore

The topic ot/ref-filter-object-info broke the Windows build since it entered pu, and as a consequence we have no test coverage of the other topics in pu.

Sadly, this topic now advanced to next. Junio, I would like to ask you to merge this fix down to next and to advance to master together with ot/ref-filter-object-info.

Johannes Schindelin (1):
  ref-filter: replace unportable `%lld` format
 ref-filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
base-commit: d364d6b33e15dbc6e57d83f9f1457a8e8fe77046
Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-87%2Fdscho%2Fno-percent-lld-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-87/dscho/no-percent-lld-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/87
-- 
gitgitgadget
Johannes Schindelin via GitGitGadget· Nov 22, 2018, 12:01 UTC · re: Johannes Schindelin via GitGitGadget · lore

[PATCH 1/1] ref-filter: replace unportable `%lld` format

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.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 ref-filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to ref-filter.c +1 −1
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);
-- 
gitgitgadget
Junio C Hamano· Nov 24, 2018, 02:53 UTC · re: Johannes Schindelin via GitGitGadget · lore

Re: [PATCH 1/1] ref-filter: replace unportable `%lld` format

"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);

← back to recent threads