On 4/4/20 1:24 AM, Rosen Penev wrote: > musl 1.2.0 defines time_t as 64-bit, even under 32-bit OSes. > > Fixes -Wformat errors. > > Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx> Committed... (tag: nfs-utils-2-4-4-rc3) steved. > --- > support/nfs/cacheio.c | 3 ++- > utils/idmapd/idmapd.c | 11 ++++++----- > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/support/nfs/cacheio.c b/support/nfs/cacheio.c > index 7c4cf373..126c1283 100644 > --- a/support/nfs/cacheio.c > +++ b/support/nfs/cacheio.c > @@ -20,6 +20,7 @@ > #endif > > #include <nfslib.h> > +#include <inttypes.h> > #include <stdio.h> > #include <stdio_ext.h> > #include <string.h> > @@ -238,7 +239,7 @@ cache_flush(int force) > stb.st_mtime > now) > stb.st_mtime = time(0); > > - sprintf(stime, "%ld\n", stb.st_mtime); > + sprintf(stime, "%" PRId64 "\n", (int64_t)stb.st_mtime); > for (c=0; cachelist[c]; c++) { > int fd; > sprintf(path, "/proc/net/rpc/%s/flush", cachelist[c]); > diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c > index c187e7d7..893159f1 100644 > --- a/utils/idmapd/idmapd.c > +++ b/utils/idmapd/idmapd.c > @@ -54,6 +54,7 @@ > #include <dirent.h> > #include <unistd.h> > #include <netdb.h> > +#include <inttypes.h> > #include <signal.h> > #include <stdio.h> > #include <stdlib.h> > @@ -172,7 +173,7 @@ flush_nfsd_cache(char *path, time_t now) > int fd; > char stime[32]; > > - sprintf(stime, "%ld\n", now); > + sprintf(stime, "%" PRId64 "\n", (int64_t)now); > fd = open(path, O_RDWR); > if (fd == -1) > return -1; > @@ -625,8 +626,8 @@ nfsdcb(int UNUSED(fd), short which, void *data) > /* Name */ > addfield(&bp, &bsiz, im.im_name); > /* expiry */ > - snprintf(buf1, sizeof(buf1), "%lu", > - time(NULL) + cache_entry_expiration); > + snprintf(buf1, sizeof(buf1), "%" PRId64, > + (int64_t)time(NULL) + cache_entry_expiration); > addfield(&bp, &bsiz, buf1); > /* Note that we don't want to write the id if the mapping > * failed; instead, by leaving it off, we write a negative > @@ -653,8 +654,8 @@ nfsdcb(int UNUSED(fd), short which, void *data) > snprintf(buf1, sizeof(buf1), "%u", im.im_id); > addfield(&bp, &bsiz, buf1); > /* expiry */ > - snprintf(buf1, sizeof(buf1), "%lu", > - time(NULL) + cache_entry_expiration); > + snprintf(buf1, sizeof(buf1), "%" PRId64, > + (int64_t)time(NULL) + cache_entry_expiration); > addfield(&bp, &bsiz, buf1); > /* Note we're ignoring the status field in this case; we'll > * just map to nobody instead. */ >