[1/2] nfs-utils: print time in 64-bit
diff mbox series

Message ID 20200404052453.2631191-1-rosenp@gmail.com
State New
Headers show
Series
  • [1/2] nfs-utils: print time in 64-bit
Related show

Commit Message

Rosen Penev April 4, 2020, 5:24 a.m. UTC
musl 1.2.0 defines time_t as 64-bit, even under 32-bit OSes.

Fixes -Wformat errors.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 support/nfs/cacheio.c |  3 ++-
 utils/idmapd/idmapd.c | 11 ++++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

Comments

Steve Dickson April 14, 2020, 2:25 p.m. UTC | #1
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@gmail.com>
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. */
>

Patch
diff mbox series

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. */