summaryrefslogtreecommitdiffstats
path: root/contrib/ldns/compat/timegm.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ldns/compat/timegm.c')
-rw-r--r--contrib/ldns/compat/timegm.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/contrib/ldns/compat/timegm.c b/contrib/ldns/compat/timegm.c
new file mode 100644
index 0000000..97e1e54
--- /dev/null
+++ b/contrib/ldns/compat/timegm.c
@@ -0,0 +1,31 @@
+#ifdef HAVE_CONFIG_H
+#include <ldns/config.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <time.h>
+
+time_t
+timegm (struct tm *tm) {
+ time_t ret;
+ char *tz;
+
+ tz = getenv("TZ");
+ putenv((char*)"TZ=");
+ tzset();
+ ret = mktime(tm);
+ if (tz) {
+ char buf[256];
+ snprintf(buf, sizeof(buf), "TZ=%s", tz);
+ putenv(tz);
+ }
+ else
+ putenv((char*)"TZ");
+ tzset();
+ return ret;
+}
OpenPOWER on IntegriCloud