]> pd.if.org Git - pdclib.old/blobdiff - platform/win32/crt0.c
PDCLIB-14: abort() on buffer size error
[pdclib.old] / platform / win32 / crt0.c
index f7f6a925243cc76ebb59e4b1fe0661abf4f1cd8d..076e76e464423df47ae0d5320407bf5b73f301f7 100644 (file)
@@ -1,8 +1,9 @@
-#include <windows.h>\r
 #include <string.h>\r
 #include <stdlib.h>\r
 #include <stdio.h>\r
 #include <signal.h>\r
+#include <wchar.h> // Watcom bug: winnt.h assumes string.h defines wchar_t\r
+#include <windows.h>\r
 \r
 static char ** argvToAnsi( wchar_t ** wargv, int argc )\r
 {\r
@@ -22,6 +23,7 @@ static char ** argvToAnsi( wchar_t ** wargv, int argc )
         if(rv != sz) {\r
             fputs("Error in C runtime initialization: "\r
                   "size mismatch during character set conversion", stderr);\r
+            abort();\r
         }\r
     }\r
     return argv;\r
@@ -96,7 +98,10 @@ static LONG CALLBACK sehExceptionFilter( EXCEPTION_POINTERS * exInfo )
 }\r
 \r
 extern int main( int argc, char ** argv, char ** envp );\r
-_PDCLIB_noreturn void mainCRTStartup( void ) \r
+\r
+void __cdecl mainCRTStartup( void );\r
+\r
+void __cdecl mainCRTStartup( void ) \r
 {\r
     stdin->handle  = GetStdHandle(STD_INPUT_HANDLE);\r
     stdout->handle = GetStdHandle(STD_OUTPUT_HANDLE);\r
@@ -112,4 +117,4 @@ _PDCLIB_noreturn void mainCRTStartup( void )
     int exitStatus = main(argc, argv, NULL);\r
 \r
     exit(exitStatus);\r
-}\r
+}
\ No newline at end of file