From e12e649d8449e7b18764381458162d80bdd80b09 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Sat, 15 Aug 2020 10:49:48 -0400 Subject: rough outline --- src/time/tzset.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/time/tzset.c b/src/time/tzset.c index 51afb285..ad83b9e1 100644 --- a/src/time/tzset.c +++ b/src/time/tzset.c @@ -1,7 +1,42 @@ #include +#include +#include +#include "_time.h" + void tzset(void) { + char buf[TZNAMELEN * 3]; /* one for std, one for dst, plus dst rule */ + char *tzstr = getenv("TZ"); + if (tzstr == NULL) { + tzstr = "UTC0"; + } + + if (strlen(tzstr) > sizeof(buf)) { + return; + } + + tzname[0] = __time.stdtz; + tzname[1] = __time.dsttz; + strcpy(tzname[0], tzstr); + + /* TODO: + no spaces in actual string + + stdname hh[:mm[:ss]] [dstname [hh[:mm[:ss]]] [,start[/time],end[/time]] + + stdname and dstname are either + all isalpha() + '<' [[:alnum:]+-]* '>' + + hh may be prefixed by + or - + */ + + #ifdef _XOPEN_SOURCE + /* TODO */ + daylight = 0; + #endif } + /* POSIX(1) */ -- cgit v1.2.1