]> code.ossystems Code Review - openembedded-core.git/blob
5bd6ba961c20d32bdcfeecc0a7c014e47b2be659
[openembedded-core.git] /
1 From 14dfe84943b8f9e6f504536d8735ef6356210b40 Mon Sep 17 00:00:00 2001
2 From: Alexander Kanavin <alex.kanavin@gmail.com>
3 Date: Mon, 19 Apr 2021 23:29:10 +0200
4 Subject: [PATCH] debuginfod/debuginfod-client.c: correct string format on
5  32bit arches with 64bit time_t
6
7 Use intmax_t to print time_t
8
9 time_t is platform dependent and some of architectures e.g.
10 x32, riscv32, arc use 64bit time_t even while they are 32bit
11 architectures, therefore directly using integer printf formats will not
12 work portably, use intmax_t to typecast time_t into printf family of
13 functions
14
15 Upstream-Status: Pending
16
17 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
18 Signed-off-by: Khem Raj <raj.khem@gmail.com>
19 ---
20  debuginfod/debuginfod-client.c | 10 +++++-----
21  1 file changed, 5 insertions(+), 5 deletions(-)
22
23 diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
24 index de26af5..39e28f2 100644
25 --- a/debuginfod/debuginfod-client.c
26 +++ b/debuginfod/debuginfod-client.c
27 @@ -229,7 +229,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path)
28    if (fd < 0)
29      return -errno;
30  
31 -  if (dprintf(fd, "%ld", cache_clean_default_interval_s) < 0)
32 +  if (dprintf(fd, "%jd", (intmax_t)cache_clean_default_interval_s) < 0)
33      return -errno;
34  
35    /* init max age config file.  */
36 @@ -237,7 +237,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path)
37        && (fd = open(maxage_path, O_CREAT | O_RDWR, DEFFILEMODE)) < 0)
38      return -errno;
39  
40 -  if (dprintf(fd, "%ld", cache_default_max_unused_age_s) < 0)
41 +  if (dprintf(fd, "%jd", (intmax_t)cache_default_max_unused_age_s) < 0)
42      return -errno;
43  
44    return 0;
45 @@ -263,7 +263,7 @@ debuginfod_clean_cache(debuginfod_client *c,
46        if (interval_file == NULL)
47          return -errno;
48  
49 -      int rc = fprintf(interval_file, "%ld", cache_clean_default_interval_s);
50 +      int rc = fprintf(interval_file, "%jd", (intmax_t)cache_clean_default_interval_s);
51        fclose(interval_file);
52  
53        if (rc < 0)
54 @@ -275,7 +275,7 @@ debuginfod_clean_cache(debuginfod_client *c,
55    interval_file = fopen(interval_path, "r");
56    if (interval_file)
57      {
58 -      if (fscanf(interval_file, "%ld", &clean_interval) != 1)
59 +      if (fscanf(interval_file, "%jd", (intmax_t*)(&clean_interval)) != 1)
60          clean_interval = cache_clean_default_interval_s;
61        fclose(interval_file);
62      }
63 @@ -291,7 +291,7 @@ debuginfod_clean_cache(debuginfod_client *c,
64    max_unused_file = fopen(max_unused_path, "r");
65    if (max_unused_file)
66      {
67 -      if (fscanf(max_unused_file, "%ld", &max_unused_age) != 1)
68 +      if (fscanf(max_unused_file, "%jd", (intmax_t*)(&max_unused_age)) != 1)
69          max_unused_age = cache_default_max_unused_age_s;
70        fclose(max_unused_file);
71      }
72 -- 
73 2.31.1
74