use the name UTC instead of GMT for UTC timezone
authorNatanael Copa <ncopa@alpinelinux.org>
Thu, 7 Dec 2017 16:54:07 +0000 (17:54 +0100)
committerRich Felker <dalias@aerifal.cx>
Fri, 15 Dec 2017 02:33:30 +0000 (21:33 -0500)
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
src/time/gmtime_r.c
src/time/timegm.c

index ffe8d4020d5ac12d54b87586f7c32e599a124fe0..8cc96032ba38dfae88a6d47211f3595312e26150 100644 (file)
@@ -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);
index 8cbdadcb5d02164b845a7035dd68502ed794240b..cba72447d29430c1ea4345a8f61778d732d18b7d 100644 (file)
@@ -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;
 }
 
index b5dae8b648eca781ca9e726f90d5b6cc85b72d1a..f444e76ea7107e5ad1d15d4d134e292364da7859 100644 (file)
@@ -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;
 }