diff options
Diffstat (limited to 'missing/tzset.c')
-rw-r--r-- | missing/tzset.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/missing/tzset.c b/missing/tzset.c new file mode 100644 index 00000000..7e0af48a --- /dev/null +++ b/missing/tzset.c @@ -0,0 +1,38 @@ +/* + * tzset.c + * + * Quick and dirty emulation of tzset(), tzname[], and daylight + * for old BSD systems without it. + * + * Thanks to Rick Adams, rick@uunet.uu.net, for the basics. + * + * BUGS: + * Totally ignores the value of the TZ environment variable. + */ + +#if 0 +#include <sys/time.h> +#endif + +static char tz1[1024]; +static char tz2[1024]; + +/* external variables */ +char *tzname[2] = { + tz1, tz2 +}; +int daylight; + +extern char *timezone(); + +void +tzset() +{ + struct timeval tp; + struct timezone tz; + + (void) gettimeofday(&tp, &tz); + (void) strcpy(tz1, timezone(tz.tz_minuteswest, 0)); + (void) strcpy(tz2, timezone(tz.tz_minuteswest, 1)); + daylight = tz.tz_dsttime; +} |