OSDN Git Service

Fix bugs of UTF-8 to UTF-16 API bridge.
[ffftp/ffftp.git] / mbswrapper.c
index be07d6c..585a26b 100644 (file)
@@ -355,6 +355,18 @@ void FreeDuplicatedString(void* p)
 #define END_ROUTINE                                            }while(0);end_of_routine:
 #define QUIT_ROUTINE                                   goto end_of_routine;
 
+int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
+{
+       int r = 0;
+       char* pm0 = NULL;
+START_ROUTINE
+       pm0 = DuplicateWtoM(lpCmdLine, -1);
+       r = WinMainM(hInstance, hPrevInstance, pm0, nCmdShow);
+END_ROUTINE
+       FreeDuplicatedString(pm0);
+       return r;
+}
+
 HANDLE CreateFileM(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
 {
        HANDLE r = INVALID_HANDLE_VALUE;
@@ -1830,3 +1842,18 @@ END_ROUTINE
        return r;
 }
 
+FILE * fopenM(const char * _Filename, const char * _Mode)
+{
+       FILE* r = NULL;
+       wchar_t* pw0 = NULL;
+       wchar_t* pw1 = NULL;
+START_ROUTINE
+       pw0 = DuplicateMtoW(_Filename, -1);
+       pw1 = DuplicateMtoW(_Mode, -1);
+       r = _wfopen(pw0, pw1);
+END_ROUTINE
+       FreeDuplicatedString(pw0);
+       FreeDuplicatedString(pw1);
+       return r;
+}
+