0001-use-the-name-UTC-instead-of-GMT-for-UTC-timezone.patch 3.63 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
From eb7f93c4f6fd0b637a9f8d6e112131b88ad2b00f Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 7 Dec 2017 17:54:07 +0100
Subject: [PATCH] use the name UTC instead of GMT for UTC timezone

notes by maintainer:

both C and POSIX use the term UTC to specify related functionality,
despite POSIX defining it as something more like UT1 or historical
(pre-UTC) GMT without leap seconds. neither specifies the associated
string for %Z. old choice of "GMT" violated principle of least
surprise for users and some applications/tests. use "UTC" instead.
---
 src/time/__tz.c     | 16 ++++++++--------
 src/time/gmtime_r.c |  4 ++--
 src/time/timegm.c   |  4 ++--
 3 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/time/__tz.c b/src/time/__tz.c
index ffe8d402..8cc96032 100644
--- a/src/time/__tz.c
+++ b/src/time/__tz.c
@@ -15,7 +15,7 @@ weak_alias(__tzname, tzname);
 
 static char std_name[TZNAME_MAX+1];
 static char dst_name[TZNAME_MAX+1];
-const char __gmt[] = "GMT";
+const char __utc[] = "UTC";
 
 static int dst_off;
 static int r0[5], r1[5];
@@ -126,7 +126,7 @@ static void do_tzset()
 
 	s = getenv("TZ");
 	if (!s) s = "/etc/localtime";
-	if (!*s) s = __gmt;
+	if (!*s) s = __utc;
 
 	if (old_tz && !strcmp(s, old_tz)) return;
 
@@ -136,7 +136,7 @@ static void do_tzset()
 	 * free so as not to pull it into static programs. Growth
 	 * strategy makes it so free would have minimal benefit anyway. */
 	i = strlen(s);
-	if (i > PATH_MAX+1) s = __gmt, i = 3;
+	if (i > PATH_MAX+1) s = __utc, i = 3;
 	if (i >= old_tz_size) {
 		old_tz_size *= 2;
 		if (i >= old_tz_size) old_tz_size = i+1;
@@ -165,12 +165,12 @@ static void do_tzset()
 				}
 			}
 		}
-		if (!map) s = __gmt;
+		if (!map) s = __utc;
 	}
 	if (map && (map_size < 44 || memcmp(map, "TZif", 4))) {
 		__munmap((void *)map, map_size);
 		map = 0;
-		s = __gmt;
+		s = __utc;
 	}
 
 	zi = map;
@@ -207,7 +207,7 @@ static void do_tzset()
 				}
 			}
 			if (!__tzname[0]) __tzname[0] = __tzname[1];
-			if (!__tzname[0]) __tzname[0] = (char *)__gmt;
+			if (!__tzname[0]) __tzname[0] = (char *)__utc;
 			if (!__daylight) {
 				__tzname[1] = __tzname[0];
 				dst_off = __timezone;
@@ -216,7 +216,7 @@ static void do_tzset()
 		}
 	}
 
-	if (!s) s = __gmt;
+	if (!s) s = __utc;
 	getname(std_name, &s);
 	__tzname[0] = std_name;
 	__timezone = getoff(&s);
@@ -413,7 +413,7 @@ const char *__tm_to_tzname(const struct tm *tm)
 	const void *p = tm->__tm_zone;
 	LOCK(lock);
 	do_tzset();
-	if (p != __gmt && p != __tzname[0] && p != __tzname[1] &&
+	if (p != __utc && p != __tzname[0] && p != __tzname[1] &&
 	    (!zi || (uintptr_t)p-(uintptr_t)abbrevs >= abbrevs_end - abbrevs))
 		p = "";
 	UNLOCK(lock);
diff --git a/src/time/gmtime_r.c b/src/time/gmtime_r.c
index 8cbdadcb..cba72447 100644
--- a/src/time/gmtime_r.c
+++ b/src/time/gmtime_r.c
@@ -2,7 +2,7 @@
 #include <errno.h>
 #include "libc.h"
 
-extern const char __gmt[];
+extern const char __utc[];
 
 struct tm *__gmtime_r(const time_t *restrict t, struct tm *restrict tm)
 {
@@ -12,7 +12,7 @@ struct tm *__gmtime_r(const time_t *restrict t, struct tm *restrict tm)
 	}
 	tm->tm_isdst = 0;
 	tm->__tm_gmtoff = 0;
-	tm->__tm_zone = __gmt;
+	tm->__tm_zone = __utc;
 	return tm;
 }
 
diff --git a/src/time/timegm.c b/src/time/timegm.c
index b5dae8b6..f444e76e 100644
--- a/src/time/timegm.c
+++ b/src/time/timegm.c
@@ -2,7 +2,7 @@
 #include "time_impl.h"
 #include <errno.h>
 
-extern const char __gmt[];
+extern const char __utc[];
 
 time_t timegm(struct tm *tm)
 {
@@ -15,6 +15,6 @@ time_t timegm(struct tm *tm)
 	*tm = new;
 	tm->tm_isdst = 0;
 	tm->__tm_gmtoff = 0;
-	tm->__tm_zone = __gmt;
+	tm->__tm_zone = __utc;
 	return t;
 }
-- 
2.15.0