summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2019-12-08 11:58:52 -0800
committerOri Bernstein <ori@eigenstate.org>2019-12-08 11:58:52 -0800
commit2b67ee6312f720c342e7d3454bd996fb052ee8c2 (patch)
tree696b8d3d9003d95e5b5cf6b8a3837027820fc348
parent36af8405521be371605e4658ec8f4b133f3c7d6f (diff)
downloadplan9front-2b67ee6312f720c342e7d3454bd996fb052ee8c2.tar.xz
hack around timezone issues.
-rw-r--r--sys/src/cmd/seconds.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/sys/src/cmd/seconds.c b/sys/src/cmd/seconds.c
index d6718ffa7..69e243301 100644
--- a/sys/src/cmd/seconds.c
+++ b/sys/src/cmd/seconds.c
@@ -102,8 +102,6 @@ tryabsdate(char **fields, int nf, Tm *now, Tm *tm)
{
int i, mer = HR24, bigval = -1;
long flg = 0, ty;
- char *p;
- char upzone[32];
Datetok *tp;
now = localtime(time(0)); /* default to local time (zone) */
@@ -143,13 +141,9 @@ tryabsdate(char **fields, int nf, Tm *now, Tm *tm)
break;
case Dtz:
case Tz:
+ /* tm2sec mangles timezones, so we do our own handling */
tm->tzoff = FROMVAL(tp);
- /* tm2sec needs the name in upper case */
- strcpy(upzone, fields[i]);
- for (p = upzone; *p; p++)
- if (isascii(*p) && islower(*p))
- *p = toupper(*p);
- strncpy(tm->zone, upzone, sizeof tm->zone);
+ snprint(tm->zone, sizeof(tm->zone), "GMT");
break;
case Ignore:
break;
@@ -216,7 +210,7 @@ seconds(char *timestr)
memset(&date, 0, sizeof date);
if (prsabsdate(timestr, localtime(time(0)), &date) < 0)
return -1;
- return validtm(&date)? tm2sec(&date): -1;
+ return validtm(&date)? tm2sec(&date) - 60*date.tzoff: -1;
}
int