aboutsummaryrefslogtreecommitdiffstats
path: root/missing/tzset.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 12:04:45 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 12:04:45 +0300
commitdbd583bd2b8a6dd40c622875a4e197360cb5aba7 (patch)
treed9fb7b6595cb44fefb4e32d70af9ac6d057af14a /missing/tzset.c
parentb8c608200919aa3f7b3fef289a7bece2d2961412 (diff)
downloadegawk-dbd583bd2b8a6dd40c622875a4e197360cb5aba7.tar.gz
egawk-dbd583bd2b8a6dd40c622875a4e197360cb5aba7.tar.bz2
egawk-dbd583bd2b8a6dd40c622875a4e197360cb5aba7.zip
Move to 2.13.3 (from 2.13.tar.gz - sigh).
Diffstat (limited to 'missing/tzset.c')
-rw-r--r--missing/tzset.c38
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;
+}