diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/tmdiff.c | 44 |
1 files changed, 28 insertions, 16 deletions
diff --git a/src/lib/libcrypto/tmdiff.c b/src/lib/libcrypto/tmdiff.c index 7773928666..7ebf2b202a 100644 --- a/src/lib/libcrypto/tmdiff.c +++ b/src/lib/libcrypto/tmdiff.c | |||
| @@ -61,16 +61,12 @@ | |||
| 61 | #include <openssl/tmdiff.h> | 61 | #include <openssl/tmdiff.h> |
| 62 | 62 | ||
| 63 | #ifdef TIMEB | 63 | #ifdef TIMEB |
| 64 | #undef WIN32 | 64 | #undef OPENSSL_SYS_WIN32 |
| 65 | #undef TIMES | 65 | #undef TIMES |
| 66 | #endif | 66 | #endif |
| 67 | 67 | ||
| 68 | #ifndef MSDOS | 68 | #if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_VMS) || defined(__DECC) && !defined(OPENSSL_SYS_MACOSX) && !defined(OPENSSL_SYS_VXWORKS) |
| 69 | # ifndef WIN32 | 69 | # define TIMES |
| 70 | # if !defined(VMS) || defined(__DECC) | ||
| 71 | # define TIMES | ||
| 72 | # endif | ||
| 73 | # endif | ||
| 74 | #endif | 70 | #endif |
| 75 | 71 | ||
| 76 | #ifndef _IRIX | 72 | #ifndef _IRIX |
| @@ -85,7 +81,7 @@ | |||
| 85 | The __TMS macro will show if it was. If it wasn't defined, we should | 81 | The __TMS macro will show if it was. If it wasn't defined, we should |
| 86 | undefine TIMES, since that tells the rest of the program how things | 82 | undefine TIMES, since that tells the rest of the program how things |
| 87 | should be handled. -- Richard Levitte */ | 83 | should be handled. -- Richard Levitte */ |
| 88 | #if defined(VMS) && defined(__DECC) && !defined(__TMS) | 84 | #if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS) |
| 89 | #undef TIMES | 85 | #undef TIMES |
| 90 | #endif | 86 | #endif |
| 91 | 87 | ||
| @@ -95,11 +91,11 @@ | |||
| 95 | #include <sys/param.h> | 91 | #include <sys/param.h> |
| 96 | #endif | 92 | #endif |
| 97 | 93 | ||
| 98 | #ifndef TIMES | 94 | #if !defined(TIMES) && !defined(OPENSSL_SYS_VXWORKS) |
| 99 | #include <sys/timeb.h> | 95 | #include <sys/timeb.h> |
| 100 | #endif | 96 | #endif |
| 101 | 97 | ||
| 102 | #ifdef WIN32 | 98 | #ifdef OPENSSL_SYS_WIN32 |
| 103 | #include <windows.h> | 99 | #include <windows.h> |
| 104 | #endif | 100 | #endif |
| 105 | 101 | ||
| @@ -121,11 +117,15 @@ typedef struct ms_tm | |||
| 121 | #ifdef TIMES | 117 | #ifdef TIMES |
| 122 | struct tms ms_tms; | 118 | struct tms ms_tms; |
| 123 | #else | 119 | #else |
| 124 | # ifdef WIN32 | 120 | # ifdef OPENSSL_SYS_WIN32 |
| 125 | HANDLE thread_id; | 121 | HANDLE thread_id; |
| 126 | FILETIME ms_win32; | 122 | FILETIME ms_win32; |
| 127 | # else | 123 | # else |
| 124 | # ifdef OPENSSL_SYS_VSWORKS | ||
| 125 | unsigned long ticks; | ||
| 126 | # else | ||
| 128 | struct timeb ms_timeb; | 127 | struct timeb ms_timeb; |
| 128 | # endif | ||
| 129 | # endif | 129 | # endif |
| 130 | #endif | 130 | #endif |
| 131 | } MS_TM; | 131 | } MS_TM; |
| @@ -138,7 +138,7 @@ char *ms_time_new(void) | |||
| 138 | if (ret == NULL) | 138 | if (ret == NULL) |
| 139 | return(NULL); | 139 | return(NULL); |
| 140 | memset(ret,0,sizeof(MS_TM)); | 140 | memset(ret,0,sizeof(MS_TM)); |
| 141 | #ifdef WIN32 | 141 | #ifdef OPENSSL_SYS_WIN32 |
| 142 | ret->thread_id=GetCurrentThread(); | 142 | ret->thread_id=GetCurrentThread(); |
| 143 | #endif | 143 | #endif |
| 144 | return((char *)ret); | 144 | return((char *)ret); |
| @@ -153,17 +153,21 @@ void ms_time_free(char *a) | |||
| 153 | void ms_time_get(char *a) | 153 | void ms_time_get(char *a) |
| 154 | { | 154 | { |
| 155 | MS_TM *tm=(MS_TM *)a; | 155 | MS_TM *tm=(MS_TM *)a; |
| 156 | #ifdef WIN32 | 156 | #ifdef OPENSSL_SYS_WIN32 |
| 157 | FILETIME tmpa,tmpb,tmpc; | 157 | FILETIME tmpa,tmpb,tmpc; |
| 158 | #endif | 158 | #endif |
| 159 | 159 | ||
| 160 | #ifdef TIMES | 160 | #ifdef TIMES |
| 161 | times(&tm->ms_tms); | 161 | times(&tm->ms_tms); |
| 162 | #else | 162 | #else |
| 163 | # ifdef WIN32 | 163 | # ifdef OPENSSL_SYS_WIN32 |
| 164 | GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32)); | 164 | GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32)); |
| 165 | # else | 165 | # else |
| 166 | # ifdef OPENSSL_SYS_VSWORKS | ||
| 167 | tm->ticks = tickGet(); | ||
| 168 | # else | ||
| 166 | ftime(&tm->ms_timeb); | 169 | ftime(&tm->ms_timeb); |
| 170 | # endif | ||
| 167 | # endif | 171 | # endif |
| 168 | #endif | 172 | #endif |
| 169 | } | 173 | } |
| @@ -177,7 +181,7 @@ double ms_time_diff(char *ap, char *bp) | |||
| 177 | #ifdef TIMES | 181 | #ifdef TIMES |
| 178 | ret=(b->ms_tms.tms_utime-a->ms_tms.tms_utime)/HZ; | 182 | ret=(b->ms_tms.tms_utime-a->ms_tms.tms_utime)/HZ; |
| 179 | #else | 183 | #else |
| 180 | # ifdef WIN32 | 184 | # ifdef OPENSSL_SYS_WIN32 |
| 181 | { | 185 | { |
| 182 | #ifdef __GNUC__ | 186 | #ifdef __GNUC__ |
| 183 | signed long long la,lb; | 187 | signed long long la,lb; |
| @@ -193,10 +197,14 @@ double ms_time_diff(char *ap, char *bp) | |||
| 193 | ret=((double)(lb-la))/1e7; | 197 | ret=((double)(lb-la))/1e7; |
| 194 | } | 198 | } |
| 195 | # else | 199 | # else |
| 200 | # ifdef OPENSSL_SYS_VSWORKS | ||
| 201 | ret = (double)(b->ticks - a->ticks) / (double)sysClkRateGet(); | ||
| 202 | # else | ||
| 196 | ret= (double)(b->ms_timeb.time-a->ms_timeb.time)+ | 203 | ret= (double)(b->ms_timeb.time-a->ms_timeb.time)+ |
| 197 | (((double)b->ms_timeb.millitm)- | 204 | (((double)b->ms_timeb.millitm)- |
| 198 | ((double)a->ms_timeb.millitm))/1000.0; | 205 | ((double)a->ms_timeb.millitm))/1000.0; |
| 199 | # endif | 206 | # endif |
| 207 | # endif | ||
| 200 | #endif | 208 | #endif |
| 201 | return((ret < 0.0000001)?0.0000001:ret); | 209 | return((ret < 0.0000001)?0.0000001:ret); |
| 202 | } | 210 | } |
| @@ -210,13 +218,17 @@ int ms_time_cmp(char *ap, char *bp) | |||
| 210 | #ifdef TIMES | 218 | #ifdef TIMES |
| 211 | d=(b->ms_tms.tms_utime-a->ms_tms.tms_utime)/HZ; | 219 | d=(b->ms_tms.tms_utime-a->ms_tms.tms_utime)/HZ; |
| 212 | #else | 220 | #else |
| 213 | # ifdef WIN32 | 221 | # ifdef OPENSSL_SYS_WIN32 |
| 214 | d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7; | 222 | d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7; |
| 215 | d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7; | 223 | d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7; |
| 216 | # else | 224 | # else |
| 225 | # ifdef OPENSSL_SYS_VSWORKS | ||
| 226 | d = (b->ticks - a->ticks); | ||
| 227 | # else | ||
| 217 | d= (double)(b->ms_timeb.time-a->ms_timeb.time)+ | 228 | d= (double)(b->ms_timeb.time-a->ms_timeb.time)+ |
| 218 | (((double)b->ms_timeb.millitm)-(double)a->ms_timeb.millitm)/1000.0; | 229 | (((double)b->ms_timeb.millitm)-(double)a->ms_timeb.millitm)/1000.0; |
| 219 | # endif | 230 | # endif |
| 231 | # endif | ||
| 220 | #endif | 232 | #endif |
| 221 | if (d == 0.0) | 233 | if (d == 0.0) |
| 222 | ret=0; | 234 | ret=0; |
