Harmonize Tru64 and Linux make rules.
[oweals/openssl.git] / crypto / cryptlib.c
index 2903bac2a8b87fc6c965ef0eb4767efaf3a13069..be61a9da3f55b45c8bc372de908a1c14b1305565 100644 (file)
@@ -858,8 +858,12 @@ void OPENSSL_showfatal (const char *fmta,...)
     if ((h=GetStdHandle(STD_ERROR_HANDLE)) != NULL &&
        GetFileType(h)!=FILE_TYPE_UNKNOWN)
     {  /* must be console application */
+       int   len;
+       DWORD out;
+
        va_start (ap,fmta);
-       vfprintf (stderr,fmta,ap);
+       len=_vsnprintf((char *)buf,sizeof(buf),fmta,ap);
+       WriteFile(h,buf,len<0?sizeof(buf):(DWORD)len,&out,NULL);
        va_end (ap);
        return;
     }
@@ -905,7 +909,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);