OSDN Git Service

Normalize kana words: "user", "server", "viewer"
[ffftp/ffftp.git] / mbswrapper.c
index d44d1ef..edef5a7 100644 (file)
@@ -7,6 +7,7 @@
 #define UNICODE\r
 #define _UNICODE\r
 \r
+#include <stdio.h>\r
 #include <tchar.h>\r
 #include <direct.h>\r
 #include <windows.h>\r
@@ -722,7 +723,7 @@ END_ROUTINE
 \r
 LONG GetWindowLongM(HWND hWnd, int nIndex)\r
 {\r
-       LRESULT r = 0;\r
+       LONG r = 0;\r
 START_ROUTINE\r
        // WNDPROCがShift_JIS用であるため\r
        if(IsWindowUnicode(hWnd))\r
@@ -735,7 +736,7 @@ END_ROUTINE
 \r
 LONG SetWindowLongM(HWND hWnd, int nIndex, LONG dwNewLong)\r
 {\r
-       LRESULT r = 0;\r
+       LONG r = 0;\r
 START_ROUTINE\r
        // WNDPROCがShift_JIS用であるため\r
        if(IsWindowUnicode(hWnd))\r
@@ -746,6 +747,32 @@ END_ROUTINE
        return r;\r
 }\r
 \r
+LONG_PTR GetWindowLongPtrM(HWND hWnd, int nIndex)\r
+{\r
+       LONG_PTR r = 0;\r
+START_ROUTINE\r
+       // WNDPROCがShift_JIS用であるため\r
+       if(IsWindowUnicode(hWnd))\r
+               r = GetWindowLongPtrW(hWnd, nIndex);\r
+       else\r
+               r = GetWindowLongPtrA(hWnd, nIndex);\r
+END_ROUTINE\r
+       return r;\r
+}\r
+\r
+LONG_PTR SetWindowLongPtrM(HWND hWnd, int nIndex, LONG_PTR dwNewLong)\r
+{\r
+       LONG_PTR r = 0;\r
+START_ROUTINE\r
+       // WNDPROCがShift_JIS用であるため\r
+       if(IsWindowUnicode(hWnd))\r
+               r = SetWindowLongPtrW(hWnd, nIndex, dwNewLong);\r
+       else\r
+               r = SetWindowLongPtrA(hWnd, nIndex, dwNewLong);\r
+END_ROUTINE\r
+       return r;\r
+}\r
+\r
 LRESULT DefWindowProcM(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)\r
 {\r
        LRESULT r = 0;\r
@@ -1848,6 +1875,26 @@ END_ROUTINE
        return r;\r
 }\r
 \r
+DWORD_PTR SHGetFileInfoM(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags)\r
+{\r
+       DWORD_PTR r = 0;\r
+       wchar_t* pw0 = NULL;\r
+       SHFILEINFOW wsfi;\r
+START_ROUTINE\r
+       pw0 = DuplicateMtoWMultiString(pszPath);\r
+       if((r = SHGetFileInfoW(pw0, dwFileAttributes, &wsfi, cbFileInfo, uFlags)) != 0)\r
+       {\r
+               psfi->hIcon = wsfi.hIcon;\r
+               psfi->iIcon = wsfi.iIcon;\r
+               psfi->dwAttributes = wsfi.dwAttributes;\r
+               WtoM(psfi->szDisplayName, MAX_PATH, wsfi.szDisplayName, -1);\r
+               WtoM(psfi->szTypeName, 80, wsfi.szTypeName, -1);\r
+       }\r
+END_ROUTINE\r
+       FreeDuplicatedString(pw0);\r
+       return r;\r
+}\r
+\r
 BOOL AppendMenuM(HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem)\r
 {\r
        int r = 0;\r
@@ -2082,7 +2129,7 @@ END_ROUTINE
 \r
 int mkdirM(const char * _Path)\r
 {\r
-       int r = 0;\r
+       int r = -1;\r
        wchar_t* pw0 = NULL;\r
 START_ROUTINE\r
        pw0 = DuplicateMtoW(_Path, -1);\r
@@ -2094,7 +2141,7 @@ END_ROUTINE
 \r
 int _mkdirM(const char * _Path)\r
 {\r
-       int r = 0;\r
+       int r = -1;\r
        wchar_t* pw0 = NULL;\r
 START_ROUTINE\r
        pw0 = DuplicateMtoW(_Path, -1);\r
@@ -2106,7 +2153,7 @@ END_ROUTINE
 \r
 int rmdirM(const char * _Path)\r
 {\r
-       int r = 0;\r
+       int r = -1;\r
        wchar_t* pw0 = NULL;\r
 START_ROUTINE\r
        pw0 = DuplicateMtoW(_Path, -1);\r
@@ -2118,7 +2165,7 @@ END_ROUTINE
 \r
 int _rmdirM(const char * _Path)\r
 {\r
-       int r = 0;\r
+       int r = -1;\r
        wchar_t* pw0 = NULL;\r
 START_ROUTINE\r
        pw0 = DuplicateMtoW(_Path, -1);\r
@@ -2128,6 +2175,42 @@ END_ROUTINE
        return r;\r
 }\r
 \r
+int removeM(const char * _Filename)\r
+{\r
+       int r = -1;\r
+       wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+       pw0 = DuplicateMtoW(_Filename, -1);\r
+       r = _wremove(pw0);\r
+END_ROUTINE\r
+       FreeDuplicatedString(pw0);\r
+       return r;\r
+}\r
+\r
+int _removeM(const char * _Filename)\r
+{\r
+       int r = -1;\r
+       wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+       pw0 = DuplicateMtoW(_Filename, -1);\r
+       r = _wremove(pw0);\r
+END_ROUTINE\r
+       FreeDuplicatedString(pw0);\r
+       return r;\r
+}\r
+\r
+int _unlinkM(const char * _Filename)\r
+{\r
+       int r = -1;\r
+       wchar_t* pw0 = NULL;\r
+START_ROUTINE\r
+       pw0 = DuplicateMtoW(_Filename, -1);\r
+       r = _wunlink(pw0);\r
+END_ROUTINE\r
+       FreeDuplicatedString(pw0);\r
+       return r;\r
+}\r
+\r
 size_t _mbslenM(const unsigned char * _Str)\r
 {\r
        size_t r = 0;\r
@@ -2149,12 +2232,11 @@ START_ROUTINE
        while((c = GetNextCharM(_Str, &p)) > 0)\r
        {\r
                if(c == _Ch)\r
-               {\r
-                       r = (unsigned char*)_Str;\r
                        break;\r
-               }\r
                _Str = p;\r
        }\r
+       if(c == _Ch)\r
+               r = (unsigned char*)_Str;\r
 END_ROUTINE\r
        return r;\r
 }\r
@@ -2171,6 +2253,8 @@ START_ROUTINE
                        r = (unsigned char*)_Str;\r
                _Str = p;\r
        }\r
+       if(c == _Ch)\r
+               r = (unsigned char*)_Str;\r
 END_ROUTINE\r
        return r;\r
 }\r