[PATCH 12/40] Windows: Implement gettimeofday().
- From
Johannes Sixt <johannes.sixt@telecom.at>
- Date
- Feb 27, 2008, 18:54 UTC
- Message-ID
- <1204138503-6126-13-git-send-email-johannes.sixt@telecom.at>
- In-Reply-To
- <1204138503-6126-1-git-send-email-johannes.sixt@telecom.at>
For this purpose we make my_mktime of date.c public and use it to convert a struct tm to a time_t.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> --- compat/mingw.c | 14 ++++++++++++++ date.c | 2 +- 2 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/compat/mingw.c b/compat/mingw.c index 71bca96..24f783b 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -38,6 +38,20 @@ int mkstemp(char *template) int gettimeofday(struct timeval *tv, void *tz) { + extern time_t my_mktime(struct tm *tm); + SYSTEMTIME st; + struct tm tm; + GetSystemTime(&st); + tm.tm_year = st.wYear-1900; + tm.tm_mon = st.wMonth-1; + tm.tm_mday = st.wDay; + tm.tm_hour = st.wHour; + tm.tm_min = st.wMinute; + tm.tm_sec = st.wSecond; + tv->tv_sec = my_mktime(&tm); + if (tv->tv_sec < 0) + return -1; + tv->tv_usec = st.wMilliseconds*1000; return 0; } diff --git a/date.c b/date.c index 8f70500..9c16eae 100644 --- a/date.c +++ b/date.c @@ -6,7 +6,7 @@ #include "cache.h" -static time_t my_mktime(struct tm *tm) +time_t my_mktime(struct tm *tm) { static const int mdays[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334
-- 1.5.4.1.126.ge5a7d