+extern "C"
+void abort()
+{
+ wxString name;
+ if ( wxTheApp )
+ name = wxTheApp->GetAppDisplayName();
+ if ( name.empty() )
+ name = L"wxWidgets Application";
+
+ MessageBox(NULL, L"Abnormal program termination", name, MB_ICONHAND | MB_OK);
+
+ _exit(3);
+// ::ExitProcess(3);
+}
+
+extern "C"
+char *getenv(const char * WXUNUSED(name))
+{
+ // no way to implement it in Unicode-only environment without using
+ // wxCharBuffer and it is of no use in C code which uses this function
+ // (libjpeg)
+ return NULL;
+}
+
+int wxCRT_Rename(const wchar_t *src, const wchar_t *dst)
+{
+ return ::MoveFile(src, dst) ? 0 : -1;
+}
+
+int wxCRT_Remove(const wchar_t *path)
+{
+ return ::DeleteFile(path) ? 0 : -1;
+}