]> pd.if.org Git - pdclib/blobdiff - platform/win32/crt0.c
PDCLib includes with quotes, not <>.
[pdclib] / platform / win32 / crt0.c
index d32a6ac703976a8e2793a6c04d5be482b9aba575..471e42c094fb199b39549dcc3911e4e649537e17 100644 (file)
@@ -5,6 +5,9 @@
 #include <threads.h>\r
 #include <wchar.h> // Watcom bug: winnt.h assumes string.h defines wchar_t\r
 #include <windows.h>\r
+#include "_PDCLIB_io.h"\r
+#include "_PDCLIB_locale.h"\r
+#include "_PDCLIB_clocale.h"\r
 \r
 static char ** argvToAnsi( wchar_t ** wargv, int argc )\r
 {\r
@@ -114,11 +117,21 @@ void __cdecl mainCRTStartup( void )
     wargv = CommandLineToArgvW(cl, &argc);\r
     argv  = argvToAnsi(wargv, argc);\r
 \r
+    _PDCLIB_initclocale( &_PDCLIB_global_locale );\r
+\r
+    if(tss_create(&_PDCLIB_locale_tss, (tss_dtor_t) freelocale) \r
+            != thrd_success) {\r
+        fputs( "Error during C runtime initialization: "\r
+               "Unable to allocate locale TLS", stderr );\r
+        exit( EXIT_FAILURE );\r
+    }\r
+\r
     if(        mtx_init(&stdin->lock, mtx_recursive) != thrd_success \r
             || mtx_init(&stdout->lock, mtx_recursive) != thrd_success\r
             || mtx_init(&stderr->lock, mtx_recursive) != thrd_success ) {\r
         fputs( "Error during C runtime initialization: "\r
             "Unable to allocate stdio mutex", stderr );\r
+        exit( EXIT_FAILURE );\r
     }\r
 \r
     atexit(freeArgs);\r