WCE-specific fix for cryptlib.c.
authorAndy Polyakov <appro@openssl.org>
Tue, 2 Aug 2005 22:07:28 +0000 (22:07 +0000)
committerAndy Polyakov <appro@openssl.org>
Tue, 2 Aug 2005 22:07:28 +0000 (22:07 +0000)
crypto/cryptlib.c
e_os.h

index 2133237..c6a7173 100644 (file)
@@ -661,6 +661,8 @@ int OPENSSL_isservice(void)
 #endif
     else                               return 0;
 }
+#else
+int OPENSSL_isservice(void) { return 0; }
 #endif
 
 void OPENSSL_showfatal (const char *fmta,...)
@@ -669,6 +671,7 @@ void OPENSSL_showfatal (const char *fmta,...)
   const TCHAR *fmt;
   HANDLE h;
 
+#ifdef STD_ERROR_HANDLE        /* what a dirty trick! */
     if ((h=GetStdHandle(STD_ERROR_HANDLE)) != NULL &&
        GetFileType(h)!=FILE_TYPE_UNKNOWN)
     {  /* must be console application */
@@ -677,9 +680,10 @@ void OPENSSL_showfatal (const char *fmta,...)
        va_end (ap);
        return;
     }
+#endif
 
     if (sizeof(TCHAR)==sizeof(char))
-       fmt=fmta;
+       fmt=(const TCHAR *)fmta;
     else do
     { int    keepgoing;
       size_t len_0=strlen(fmta)+1,i;
@@ -730,21 +734,7 @@ void OPENSSL_showfatal (const char *fmta,...)
     }
     else
 #endif
-    {  MSGBOXPARAMS         m;
-
-       m.cbSize             = sizeof(m);
-       m.hwndOwner          = NULL;
-       m.lpszCaption        = _T("OpenSSL: FATAL");
-       m.dwStyle            = MB_OK;
-       m.hInstance          = NULL;
-       m.lpszIcon           = IDI_ERROR;
-       m.dwContextHelpId    = 0;
-       m.lpfnMsgBoxCallback = NULL;
-       m.dwLanguageId       = MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US);
-       m.lpszText           = buf;
-
-       MessageBoxIndirect (&m);
-    }
+       MessageBox (NULL,buf,_T("OpenSSL: FATAL"),MB_OK|MB_ICONSTOP|MB_TASKMODAL);
 }
 #else
 void OPENSSL_showfatal (const char *fmta,...)
diff --git a/e_os.h b/e_os.h
index 965d1aa..9bebed1 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -245,7 +245,7 @@ extern "C" {
 #  define NO_DIRENT
 
 #  ifdef WINDOWS
-#    ifndef _WIN32_WINNT
+#    if !defined(_WIN32_WCE) && !defined(_WIN32_WINNT)
        /*
        * Defining _WIN32_WINNT here in e_os.h implies certain "discipline."
        * Most notably we ought to check for availability of each specific