summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch')
-rw-r--r--meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch115
1 files changed, 0 insertions, 115 deletions
diff --git a/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch b/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch
deleted file mode 100644
index 87afe47694..0000000000
--- a/meta/recipes-extended/tzcode/files/0002-Port-zdump-to-C90-snprintf.patch
+++ /dev/null
@@ -1,115 +0,0 @@
1From e231da4fb2beb17c60b4b1a5c276366d6a6e433f Mon Sep 17 00:00:00 2001
2From: Paul Eggert <eggert@cs.ucla.edu>
3Date: Mon, 23 Oct 2017 17:58:36 -0700
4Subject: [PATCH] Port zdump to C90 + snprintf
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Problem reported by Jon Skeet in:
10https://mm.icann.org/pipermail/tz/2017-October/025362.html
11* NEWS: Mention this.
12* zdump.c (my_snprintf): New macro or function. If a macro, it is
13just snprintf. If a function, it is the same as the old snprintf
14static function, with an ATTRIBUTE_FORMAT to pacify modern GCC.
15All uses of snprintf changed to use my_snprintf. This way,
16installers don’t need to specify -DHAVE_SNPRINTF if they are using
17a pre-C99 compiler with a library that has snprintf.
18
19Upstream-Status: Backport
20Signed-off-by: Armin Kuster <akuster@mvista.com>
21
22---
23 NEWS | 4 ++++
24 zdump.c | 29 ++++++++++++++++-------------
25 2 files changed, 20 insertions(+), 13 deletions(-)
26
27diff --git a/NEWS b/NEWS
28index 75ab095..dea08b8 100644
29--- a/NEWS
30+++ b/NEWS
31@@ -7,6 +7,10 @@ Unreleased, experimental changes
32 The Makefile now quotes values like BACKWARD more carefully when
33 passing them to the shell. (Problem reported by Zefram.)
34
35+ Builders no longer need to specify -DHAVE_SNPRINTF on platforms
36+ that have snprintf and use pre-C99 compilers. (Problem reported
37+ by Jon Skeet.)
38+
39
40 Release 2017c - 2017-10-20 14:49:34 -0700
41
42diff --git a/zdump.c b/zdump.c
43index 8e3bf3e..d4e6084 100644
44--- a/zdump.c
45+++ b/zdump.c
46@@ -795,12 +795,14 @@ show(timezone_t tz, char *zone, time_t t, bool v)
47 abbrok(abbr(tmp), zone);
48 }
49
50-#if !HAVE_SNPRINTF
51+#if HAVE_SNPRINTF
52+# define my_snprintf snprintf
53+#else
54 # include <stdarg.h>
55
56 /* A substitute for snprintf that is good enough for zdump. */
57-static int
58-snprintf(char *s, size_t size, char const *format, ...)
59+static int ATTRIBUTE_FORMAT((printf, 3, 4))
60+my_snprintf(char *s, size_t size, char const *format, ...)
61 {
62 int n;
63 va_list args;
64@@ -839,10 +841,10 @@ format_local_time(char *buf, size_t size, struct tm const *tm)
65 {
66 int ss = tm->tm_sec, mm = tm->tm_min, hh = tm->tm_hour;
67 return (ss
68- ? snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
69+ ? my_snprintf(buf, size, "%02d:%02d:%02d", hh, mm, ss)
70 : mm
71- ? snprintf(buf, size, "%02d:%02d", hh, mm)
72- : snprintf(buf, size, "%02d", hh));
73+ ? my_snprintf(buf, size, "%02d:%02d", hh, mm)
74+ : my_snprintf(buf, size, "%02d", hh));
75 }
76
77 /* Store into BUF, of size SIZE, a formatted UTC offset for the
78@@ -877,10 +879,10 @@ format_utc_offset(char *buf, size_t size, struct tm const *tm, time_t t)
79 mm = off / 60 % 60;
80 hh = off / 60 / 60;
81 return (ss || 100 <= hh
82- ? snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
83+ ? my_snprintf(buf, size, "%c%02ld%02d%02d", sign, hh, mm, ss)
84 : mm
85- ? snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
86- : snprintf(buf, size, "%c%02ld", sign, hh));
87+ ? my_snprintf(buf, size, "%c%02ld%02d", sign, hh, mm)
88+ : my_snprintf(buf, size, "%c%02ld", sign, hh));
89 }
90
91 /* Store into BUF (of size SIZE) a quoted string representation of P.
92@@ -983,15 +985,16 @@ istrftime(char *buf, size_t size, char const *time_fmt,
93 for (abp = ab; is_alpha(*abp); abp++)
94 continue;
95 len = (!*abp && *ab
96- ? snprintf(b, s, "%s", ab)
97+ ? my_snprintf(b, s, "%s", ab)
98 : format_quoted_string(b, s, ab));
99 if (s <= len)
100 return false;
101 b += len, s -= len;
102 }
103- formatted_len = (tm->tm_isdst
104- ? snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
105- : 0);
106+ formatted_len
107+ = (tm->tm_isdst
108+ ? my_snprintf(b, s, &"\t\t%d"[show_abbr], tm->tm_isdst)
109+ : 0);
110 }
111 break;
112 }
113--
1142.7.4
115