]> git.apps.os.sepia.ceph.com Git - xfsprogs-dev.git/commitdiff
io: Adapt to >= 64-bit time_t
authorSam James <sam@gentoo.org>
Mon, 5 Feb 2024 23:23:20 +0000 (23:23 +0000)
committerCarlos Maiolino <cem@kernel.org>
Fri, 16 Feb 2024 13:47:33 +0000 (14:47 +0100)
We now require (at least) 64-bit time_t, so we need to adjust some printf
specifiers accordingly.

Unfortunately, we've stumbled upon a ridiculous C mmoment whereby there's
no neat format specifier (not even one of the inttypes ones) for time_t, so
we cast to intmax_t and use %jd.

Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
io/stat.c

index e8f68dc346789ec68fb55fe0a92fbefe058ce4de..743a758676e369e1eb026e8ac0f98c058d81cd8a 100644 (file)
--- a/io/stat.c
+++ b/io/stat.c
@@ -66,11 +66,11 @@ dump_raw_stat(struct stat *st)
        printf("stat.ino = %llu\n", (unsigned long long)st->st_ino);
        printf("stat.size = %lld\n", (long long)st->st_size);
        printf("stat.blocks = %lld\n", (long long)st->st_blocks);
-       printf("stat.atime.tv_sec = %ld\n", st->st_atim.tv_sec);
+       printf("stat.atime.tv_sec = %jd\n", (intmax_t)st->st_atim.tv_sec);
        printf("stat.atime.tv_nsec = %ld\n", st->st_atim.tv_nsec);
-       printf("stat.ctime.tv_sec = %ld\n", st->st_ctim.tv_sec);
+       printf("stat.ctime.tv_sec = %jd\n", (intmax_t)st->st_ctim.tv_sec);
        printf("stat.ctime.tv_nsec = %ld\n", st->st_ctim.tv_nsec);
-       printf("stat.mtime.tv_sec = %ld\n", st->st_mtim.tv_sec);
+       printf("stat.mtime.tv_sec = %jd\n", (intmax_t)st->st_mtim.tv_sec);
        printf("stat.mtime.tv_nsec = %ld\n", st->st_mtim.tv_nsec);
        printf("stat.rdev_major = %u\n", major(st->st_rdev));
        printf("stat.rdev_minor = %u\n", minor(st->st_rdev));