-From f4231bfbb61cd4962638766a7072f4295ed39150 Mon Sep 17 00:00:00 2001
+From 14dfe84943b8f9e6f504536d8735ef6356210b40 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 19 Apr 2021 23:29:10 +0200
-Subject: [PATCH] debuginfod/debuginfod-client.c: correct string format on x32
+Subject: [PATCH] debuginfod/debuginfod-client.c: correct string format on
+ 32bit arches with 64bit time_t
+
+Use intmax_t to print time_t
+
+time_t is platform dependent and some of architectures e.g.
+x32, riscv32, arc use 64bit time_t even while they are 32bit
+architectures, therefore directly using integer printf formats will not
+work portably, use intmax_t to typecast time_t into printf family of
+functions
+
+Upstream-Status: Pending
-Upstream-Status: Inappropriate [x32-specific; few, if any people care about it anymore]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
debuginfod/debuginfod-client.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
-index de26af5..a840f23 100644
+index de26af5..39e28f2 100644
--- a/debuginfod/debuginfod-client.c
+++ b/debuginfod/debuginfod-client.c
@@ -229,7 +229,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path)
return -errno;
- if (dprintf(fd, "%ld", cache_clean_default_interval_s) < 0)
-+ if (dprintf(fd, "%lld", cache_clean_default_interval_s) < 0)
++ if (dprintf(fd, "%jd", (intmax_t)cache_clean_default_interval_s) < 0)
return -errno;
/* init max age config file. */
return -errno;
- if (dprintf(fd, "%ld", cache_default_max_unused_age_s) < 0)
-+ if (dprintf(fd, "%lld", cache_default_max_unused_age_s) < 0)
++ if (dprintf(fd, "%jd", (intmax_t)cache_default_max_unused_age_s) < 0)
return -errno;
return 0;
return -errno;
- int rc = fprintf(interval_file, "%ld", cache_clean_default_interval_s);
-+ int rc = fprintf(interval_file, "%lld", cache_clean_default_interval_s);
++ int rc = fprintf(interval_file, "%jd", (intmax_t)cache_clean_default_interval_s);
fclose(interval_file);
if (rc < 0)
if (interval_file)
{
- if (fscanf(interval_file, "%ld", &clean_interval) != 1)
-+ if (fscanf(interval_file, "%lld", &clean_interval) != 1)
++ if (fscanf(interval_file, "%jd", (intmax_t*)(&clean_interval)) != 1)
clean_interval = cache_clean_default_interval_s;
fclose(interval_file);
}
if (max_unused_file)
{
- if (fscanf(max_unused_file, "%ld", &max_unused_age) != 1)
-+ if (fscanf(max_unused_file, "%lld", &max_unused_age) != 1)
++ if (fscanf(max_unused_file, "%jd", (intmax_t*)(&max_unused_age)) != 1)
max_unused_age = cache_default_max_unused_age_s;
fclose(max_unused_file);
}
+--
+2.31.1
+