From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/12227 Path: news.gmane.org!.POSTED!not-for-mail From: Natanael Copa Newsgroups: gmane.linux.lib.musl.general Subject: Re: [PATCH] use UTC instead of GMT Date: Thu, 7 Dec 2017 23:15:36 +0100 Message-ID: <20171207231536.60bcd083@ncopa-desktop.copa.dup.pw> References: <20171207165407.17541-1-ncopa@alpinelinux.org> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1512684957 25724 195.159.176.226 (7 Dec 2017 22:15:57 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 7 Dec 2017 22:15:57 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-12243-gllmg-musl=m.gmane.org@lists.openwall.com Thu Dec 07 23:15:52 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1eN4SM-0006a0-Nc for gllmg-musl@m.gmane.org; Thu, 07 Dec 2017 23:15:50 +0100 Original-Received: (qmail 18166 invoked by uid 550); 7 Dec 2017 22:15:56 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 18146 invoked from network); 7 Dec 2017 22:15:55 -0000 In-Reply-To: <20171207165407.17541-1-ncopa@alpinelinux.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-alpine-linux-musl) Xref: news.gmane.org gmane.linux.lib.musl.general:12227 Archived-At: Whoops, this was an unintentional re-send. I posted this previously. Sorry. I still think still it would be nice to get it applied as it fixes some annoyances. -nc On Thu, 7 Dec 2017 17:54:07 +0100 Natanael Copa wrote: > GMT is a timezone officially used by some countries in Europe and > Africa. UTC is not a timezone, but a time standard. No country or > territory officialy uses UTC as local time. > > Also, POSIX mentions UTC a few places[1][2] but never GMT (except as an > example[2] for a timezone) > > So it makes more sense to use UTC instead of GMT and return UTC when no > timezone is set in /etc/localtime or TZ is set to empty. > > [1]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/gmtime.html > [2]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/timezone.html > --- > 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 > #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 > > -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; > }