提交 f469880c 编写于 作者: A Andy Polyakov

d1_lib.c,bss_dgram.c: eliminate dependency on _ftime.

上级 bbdfbacd
...@@ -1895,11 +1895,15 @@ int BIO_dgram_non_fatal_error(int err) ...@@ -1895,11 +1895,15 @@ int BIO_dgram_non_fatal_error(int err)
static void get_current_time(struct timeval *t) static void get_current_time(struct timeval *t)
{ {
#ifdef OPENSSL_SYS_WIN32 #if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINCE)
struct _timeb tb; SYSTEMTIME st;
_ftime(&tb); union { unsigned __int64 ul; FILETIME ft; } now;
t->tv_sec = (long)tb.time;
t->tv_usec = (long)tb.millitm * 1000; 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) #elif defined(OPENSSL_SYS_VMS)
struct timeb tb; struct timeb tb;
ftime(&tb); ftime(&tb);
......
...@@ -452,11 +452,15 @@ int dtls1_handle_timeout(SSL *s) ...@@ -452,11 +452,15 @@ int dtls1_handle_timeout(SSL *s)
static void get_current_time(struct timeval *t) static void get_current_time(struct timeval *t)
{ {
#ifdef OPENSSL_SYS_WIN32 #if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINCE)
struct _timeb tb; SYSTEMTIME st;
_ftime(&tb); union { unsigned __int64 ul; FILETIME ft; } now;
t->tv_sec = (long)tb.time;
t->tv_usec = (long)tb.millitm * 1000; 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) #elif defined(OPENSSL_SYS_VMS)
struct timeb tb; struct timeb tb;
ftime(&tb); ftime(&tb);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册