RT3548: Remove unsupported platforms
[openssl.git] / crypto / cryptlib.c
index 07b0a66217645feedeeab008c95b5b8c428db0c1..00cb33783521fa5e6bddcab9c030a29a14879133 100644 (file)
 #include "cryptlib.h"
 #include <openssl/safestack.h>
 
-#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN16)
+#if defined(OPENSSL_SYS_WIN32)
 static double SSLeay_MSVC5_hack=0.0; /* and for VC1.5 */
 #endif
 
@@ -310,7 +310,7 @@ void OPENSSL_showfatal (const char *fmta,...)
        DWORD out;
 
        va_start (ap,fmta);
-       len=_vsnprintf((char *)buf,sizeof(buf),fmt,ap);
+       len=_vsnprintf((char *)buf,sizeof(buf),fmta,ap);
        WriteFile(h,buf,len<0?sizeof(buf):(DWORD)len,&out,NULL);
        va_end (ap);
        return;
@@ -357,7 +357,7 @@ void OPENSSL_showfatal (const char *fmta,...)
 
 #if defined(_WIN32_WINNT) && _WIN32_WINNT>=0x0333
     /* this -------------v--- guards NT-specific calls */
-    if (GetVersion() < 0x80000000 && OPENSSL_isservice() > 0)
+    if (check_winnt() && OPENSSL_isservice() > 0)
     {  HANDLE h = RegisterEventSource(0,_T("OPENSSL"));
        const TCHAR *pmsg=buf;
        ReportEvent(h,EVENTLOG_ERROR_TYPE,0,0,0,1,0,&pmsg,0);
@@ -394,6 +394,17 @@ void OpenSSLDie(const char *file,int line,const char *assertion)
 #endif
        }
 
-#ifndef OPENSSL_FIPSCANISTER
 void *OPENSSL_stderr(void)     { return stderr; }
-#endif
+
+int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
+       {
+       size_t i;
+       const unsigned char *a = in_a;
+       const unsigned char *b = in_b;
+       unsigned char x = 0;
+
+       for (i = 0; i < len; i++)
+               x |= a[i] ^ b[i];
+
+       return x;
+       }