OSDN Git Service

Fix bugs of treating corrupted filenames.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Thu, 10 Nov 2011 15:57:34 +0000 (00:57 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Thu, 10 Nov 2011 15:57:34 +0000 (00:57 +0900)
FFFTP_Eng_Release/FFFTP.exe
Release/FFFTP.exe
filelist.c

index 5e50b31..746d69d 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index b1c4a97..e51d6a4 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index 219276e..320480c 100644 (file)
@@ -4903,16 +4903,23 @@ static int ResolvFileInfo(char *Str, int ListType, char *Fname, LONGLONG *Size,
 //     if((Ret != NODE_NONE) && (strlen(Fname) > 0))\r
        if(!(OrgListType & LIST_RAW_NAME) && (Ret != NODE_NONE) && (strlen(Fname) > 0))\r
        {\r
-               if(CheckSpecialDirName(Fname) == YES)\r
-                       Ret = NODE_NONE;\r
-               else\r
-                       ChangeFnameRemote2Local(Fname, FMAX_PATH);\r
+               // UTF-8対応\r
+//             if(CheckSpecialDirName(Fname) == YES)\r
+//                     Ret = NODE_NONE;\r
+//             else\r
+//                     ChangeFnameRemote2Local(Fname, FMAX_PATH);\r
+               ChangeFnameRemote2Local(Fname, FMAX_PATH);\r
                // UTF-8の冗長表現によるディレクトリトラバーサル対策\r
                FixStringM(Fname, Fname);\r
                // 0x5Cが含まれる文字列を扱えないバグ修正\r
                if((_mbscmp(_mbsninc(Fname, _mbslen(Fname) - 1), "/") == 0)\r
                        || (_mbscmp(_mbsninc(Fname, _mbslen(Fname) - 1), "\\") == 0))\r
                        *(Fname + strlen(Fname) - 1) = NUL;\r
+               if(CheckSpecialDirName(Fname) == YES)\r
+                       Ret = NODE_NONE;\r
+               // 文字コードが正しくないために長さが0になったファイル名は表示しない\r
+               if(strlen(Fname) == 0)\r
+                       Ret = NODE_NONE;\r
        }\r
        return(Ret);\r
 }\r
@@ -5488,7 +5495,7 @@ int AnalyzeNameKanjiCode(int Num)
        char* p;\r
 \r
        NameKanjiCode = KANJI_AUTO;\r
-       Point = 1;\r
+       Point = 0;\r
        PointSJIS = 0;\r
        PointJIS = 0;\r
        PointEUC = 0;\r