d1_lib.c,bss_dgram.c: eliminate dependency on _ftime.
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c
index f61f718..048ce3b 100644
--- a/ssl/d1_lib.c
+++ b/ssl/d1_lib.c
@@ -452,11 +452,15 @@
 
 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);