diff options
author | Andy Polyakov <appro@openssl.org> | 2012-12-16 19:02:59 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2012-12-16 19:02:59 +0000 |
commit | f469880c611b6b3a981f78a8e4309a8f337904ff (patch) | |
tree | 370febaff6ab62b64cfa3af3aba3a9ab719fb759 /ssl | |
parent | bbdfbacdef1c90a8ea7e7056266ae0f2fd9b14d6 (diff) |
d1_lib.c,bss_dgram.c: eliminate dependency on _ftime.
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/d1_lib.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c index f61f718183..048ce3b4b0 100644 --- a/ssl/d1_lib.c +++ b/ssl/d1_lib.c @@ -452,11 +452,15 @@ int dtls1_handle_timeout(SSL *s) static void get_current_time(struct timeval *t) { -#ifdef OPENSSL_SYS_WIN32 - struct _timeb tb; - _ftime(&tb); - t->tv_sec = (long)tb.time; - t->tv_usec = (long)tb.millitm * 1000; +#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINCE) + SYSTEMTIME st; + union { unsigned __int64 ul; FILETIME ft; } now; + + GetSystemTime(&st); + SystemTimeToFileTime(&st,&now.ft); + now.ul -= 116444736000000000UI64; /* re-bias to 1/1/1970 */ + t->tv_sec = (long)(now.ul/10000000); + t->tv_usec = ((int)(now.ul%10000000))/10; #elif defined(OPENSSL_SYS_VMS) struct timeb tb; ftime(&tb); |