diff options
Diffstat (limited to 'contrib/ldns/compat/timegm.c')
-rw-r--r-- | contrib/ldns/compat/timegm.c | 31 |
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; +} |