Subject: Mismatched lws_zalloc / free
[platform/upstream/libwebsockets.git] / win32port / win32helpers / gettimeofday.c
1 #include <time.h>\r
2 #include <windows.h> //I've omitted context line\r
3 \r
4 #include "gettimeofday.h"\r
5 \r
6 int gettimeofday(struct timeval *tv, struct timezone *tz)\r
7 {\r
8         FILETIME ft;\r
9         unsigned __int64 tmpres = 0;\r
10         static int tzflag;\r
11 \r
12         if (NULL != tv) {\r
13                 GetSystemTimeAsFileTime(&ft);\r
14 \r
15                 tmpres |= ft.dwHighDateTime;\r
16                 tmpres <<= 32;\r
17                 tmpres |= ft.dwLowDateTime;\r
18 \r
19                 /*converting file time to unix epoch*/\r
20                 tmpres /= 10;  /*convert into microseconds*/\r
21                 tmpres -= DELTA_EPOCH_IN_MICROSECS;
22                 tv->tv_sec = (long)(tmpres / 1000000UL);\r
23                 tv->tv_usec = (long)(tmpres % 1000000UL);\r
24         }\r
25  \r
26         if (NULL != tz) {\r
27                 if (!tzflag) {\r
28                         _tzset();\r
29                         tzflag++;\r
30                 }\r
31                 tz->tz_minuteswest = _timezone / 60;\r
32                 tz->tz_dsttime = _daylight;\r
33         }\r
34 \r
35         return 0;\r
36 }\r