Fix Solaris build
[exim.git] / src / src / os.c
index 96ee35562985ea6eb07d664696a7a483d2f5eb30..2b6f79c3fab66a24e121bb734e4194b0a5047d81 100644 (file)
@@ -2,7 +2,7 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2009 */
+/* Copyright (c) University of Cambridge 1995 - 2012 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 #ifdef STAND_ALONE
@@ -836,6 +836,39 @@ os_get_dns_resolver_res(void)
 
 /* ----------------------------------------------------------------------- */
 
+/***********************************************************
+*                 Time-related functions                   *
+***********************************************************/
+
+/* At least Solaris, and probably others, don't have this */
+
+#ifndef _BSD_SOURCE
+
+# include <time.h>
+# include <stdlib.h>
+
+time_t
+timegm(struct tm * tm)
+{
+time_t ret;
+char *tz;
+
+tz = getenv("TZ");
+setenv("TZ", "", 1);
+tzset();
+ret = mktime(tm);
+if (tz)
+  setenv("TZ", tz, 1);
+else
+  unsetenv("TZ");
+tzset();
+return ret;
+}
+
+#endif
+
+/* ----------------------------------------------------------------------- */
+