Enlightenment CVS committal

Author  : doursse
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore


Modified Files:
        ecore_time.c 


Log Message:
fix ecore_evas_engine_type_supported_get and ecore_time_get on windows

===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore/ecore_time.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ecore_time.c        26 Aug 2007 12:57:11 -0000      1.9
+++ ecore_time.c        27 Aug 2007 10:20:12 -0000      1.10
@@ -15,7 +15,56 @@
 ecore_time_get(void)
 {
 #ifdef _WIN32
-   return (double)GetTickCount() / 1000.0;
+   SYSTEMTIME st;
+   double     time;
+   int        days_nbr = 0;
+   int        i;
+
+   GetSystemTime(&st);
+   for (i = 1; i < st.wMonth; i++)
+     {
+       if ((i == 1) ||
+           (i == 3) ||
+           (i == 5) ||
+           (i == 7) ||
+           (i == 8) ||
+           (i == 10) ||
+           (i == 12))
+         days_nbr += 31;
+       else if ((i == 4) ||
+                (i == 6) ||
+                (i == 5) ||
+                (i == 9) ||
+                (i == 11))
+         days_nbr += 30;
+       else
+         {
+           /* need to fix that... */
+           if ((st.wYear % 4) == 0)
+             {
+                if ((st.wYear % 400) == 0)
+                  {
+                    if ((st.wYear % 1000) == 0)
+                      days_nbr += 29;
+                    else
+                      days_nbr += 28;
+                  }
+                else
+                  days_nbr += 29;
+             }
+           else
+             days_nbr += 28;
+         }
+     }
+   time =
+     (double)st.wMilliseconds / 1000.0 +
+     (double)st.wSecond +
+     (double)st.wMinute * 60.0 +
+     (double)st.wHour * 3600.0 +
+     (double)(st.wDay + days_nbr) * 86400.0 +
+     (double)(st.wYear - 1970) * 31536000.0;
+
+   return time;
 #else
 # ifdef HAVE_GETTIMEOFDAY
    struct timeval      timev;



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to