qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] supplement timegm function for Solaris in cutils.c


From: Ben Taylor
Subject: [Qemu-devel] supplement timegm function for Solaris in cutils.c
Date: Fri, 9 Nov 2007 14:26:35 -0500

Solaris doesn't have the timegm function, so I found a replacement and
wedge it into cutils.c.

I found the supplement for timegm in the opensync repository at:
http://www.opensync.org/changeset/1769

--- qemu.ORIG/cutils.c  2007-09-16 17:07:49.000000000 -0400
+++ qemu/cutils.c       2007-11-09 14:11:04.005353000 -0500
@@ -81,3 +81,38 @@
         *ptr = p;
     return 1;
 }
+
+#ifdef __sun__
+/*
+ * On solaris no timegm function exists,
+ * we must implement it here
+ */
+time_t timegm(struct tm *t)
+{
+    time_t tl, tb;
+    struct tm *tg;
+
+    tl = mktime (t);
+     if (tl == -1)
+    {
+        t->tm_hour--;
+        tl = mktime (t);
+        if (tl == -1)
+            return -1; /* can't deal with output from strptime */
+        tl += 3600;
+    }
+    tg = gmtime (&tl);
+    tg->tm_isdst = 0;
+    tb = mktime (tg);
+    if (tb == -1)
+    {
+        tg->tm_hour--;
+        tb = mktime (tg);
+        if (tb == -1)
+            return -1; /* can't deal with output from gmtime */
+        tb += 3600;
+    }
+    return (tl - (tb - tl));
+}
+#endif
+





reply via email to

[Prev in Thread] Current Thread [Next in Thread]