mirror of
git://git.musl-libc.org/musl
synced 2025-01-05 06:00:18 +00:00
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.
This commit is contained in:
parent
3ec82877e7
commit
eb7f93c4f6
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user