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