Re: git: fb53e7adaf5b - main - tarfs: Fix 32-bit build.

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Thu, 02 Feb 2023 23:04:20 UTC
On 2 Feb 2023, at 21:39, Dag-Erling Smørgrav <des@FreeBSD.org> wrote:
> 
> The branch main has been updated by des:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=fb53e7adaf5b45ca08f650babc40077deff5e9af
> 
> commit fb53e7adaf5b45ca08f650babc40077deff5e9af
> Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
> AuthorDate: 2023-02-02 20:36:01 +0000
> Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
> CommitDate: 2023-02-02 20:39:10 +0000
> 
>    tarfs: Fix 32-bit build.
> 
>    Sponsored by:   Juniper Networks, Inc.
>    Sponsored by:   Klara, Inc.
...
> --- a/sys/fs/tarfs/tarfs_subr.c
> +++ b/sys/fs/tarfs/tarfs_subr.c
> @@ -137,7 +137,7 @@ tarfs_print_node(struct tarfs_node *tnp)
> printf("\tvnode %p\n", tnp->vnode);
> printf("\ttmp %p\n", tnp->tmp);
> printf("\ttype %d\n", tnp->type);
> - printf("\tino %lu\n", tnp->ino);
> + printf("\tino %lu\n", (unsigned long)tnp->ino);
> printf("\tsize %zu\n", tnp->size);
> printf("\tname %s\n",
>    (tnp->name == NULL) ? "<<root>>" : tnp->name);
> @@ -146,7 +146,7 @@ tarfs_print_node(struct tarfs_node *tnp)
> printf("\tgid %d\n", tnp->gid);
> printf("\tmode o%o\n", tnp->mode);
> printf("\tflags %u\n", tnp->flags);
> - printf("\tnlink %lu\n", tnp->nlink);
> + printf("\tnlink %lu\n", (unsigned long)tnp->nlink);
> printf("\tatime %d\n", (int)tnp->atime.tv_sec);
> printf("\tmtime %d\n", (int)tnp->mtime.tv_sec);
> printf("\tctime %d\n", (int)tnp->ctime.tv_sec);

This be just nitpicking, but the ino and nlink fields are typically
defined as int64_t and uint64_t, so these should be printed as such.

Since PRId64 and PRIu64 are apparently frowned upon, the usual solution
is to cast everything to intmax_t or uintmax_t, and use %j for the
modifier.

-Dimitry