Remove three more bogus files (2x temp file, 1x trash)
[openssl.git] / crypto / tmdiff.c
index b93799f..a5b1c8b 100644 (file)
  */
 #include <stdio.h>
 #include <stdlib.h>
+#include "cryptlib.h"
+#include "tmdiff.h"
+
+#ifdef TIMEB
+#undef WIN32
+#undef TIMES
+#endif
 
 #ifndef MSDOS
 #  ifndef WIN32
-#  define TIMES
+#    define TIMES
 #  endif
 #endif
 
@@ -82,7 +89,8 @@
                }
 #endif /* VMS */
 
-#ifdef sun
+#if defined(sun) || defined(__ultrix)
+#define _POSIX_SOURCE
 #include <limits.h>
 #include <sys/param.h>
 #endif
@@ -126,11 +134,11 @@ typedef struct ms_tm
 #endif
        } MS_TM;
 
-char *ms_time_init()
+char *ms_time_new()
        {
        MS_TM *ret;
 
-       ret=malloc(sizeof(MS_TM));
+       ret=(MS_TM *)Malloc(sizeof(MS_TM));
        if (ret == NULL)
                return(NULL);
        memset(ret,0,sizeof(MS_TM));
@@ -140,28 +148,28 @@ char *ms_time_init()
        return((char *)ret);
        }
 
-void ms_time_final(a)
+void ms_time_free(a)
 char *a;
        {
        if (a != NULL)
-               free(a);
+               Free(a);
        }
 
 void ms_time_get(a)
 char *a;
        {
        MS_TM *tm=(MS_TM *)a;
-    FILETIME tmpa,tmpb,tmpc;
+#ifdef WIN32
+       FILETIME tmpa,tmpb,tmpc;
+#endif
 
 #ifdef TIMES
-    printf("AAA\n");
        times(&tm->ms_tms);
 #else
 #  ifdef WIN32
        GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32));
 #  else
-    printf("CCC\n");
-       ftime(tm->ms_timeb);
+       ftime(&tm->ms_timeb);
 #  endif
 #endif
        }
@@ -177,12 +185,20 @@ char *ap,*bp;
        ret=(b->ms_tms.tms_utime-a->ms_tms.tms_utime)/HZ;
 #else
 # ifdef WIN32
-       ret =(double)(b->ms_win32.dwHighDateTime&0x000fffff)*10+
-               b->ms_win32.dwLowDateTime/1e7;
-       ret-=(double)(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7;
+       {
+       signed _int64 la,lb;
+       la=a->ms_win32.dwHighDateTime;
+       lb=b->ms_win32.dwHighDateTime;
+       la<<=32;
+       lb<<=32;
+       la+=a->ms_win32.dwLowDateTime;
+       lb+=b->ms_win32.dwLowDateTime;
+       ret=((double)(lb-la))/1e7;
+       }
 # else
-       ret=     (double)(b->time-a->time)+
-               ((double)((unsigned long)b->mullitm-(unsigned long)))/1000.0;
+       ret=     (double)(b->ms_timeb.time-a->ms_timeb.time)+
+               (((double)b->ms_timeb.millitm)-
+               ((double)a->ms_timeb.millitm))/1000.0;
 #  endif
 #endif
        return((ret < 0.0000001)?0.0000001:ret);
@@ -202,8 +218,8 @@ char *ap,*bp;
        d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7;
        d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7;
 # else
-       d=       (double)(b->time-a->time)+
-               ((double)((unsigned long)b->mullitm-(unsigned long)))/1000.0;
+       d=       (double)(b->ms_timeb.time-a->ms_timeb.time)+
+               (((double)b->ms_timeb.millitm)-(double)a->ms_timeb.millitm)/1000.0;
 #  endif
 #endif
        if (d == 0.0)