• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

FFFTPのソースコードです。


コミットメタ情報

リビジョン7ce4d240fce9d30c503b308bf306201f1cc0755f (tree)
日時2012-02-23 10:05:13
作者s_kawamoto <s_kawamoto@user...>
コミッターs_kawamoto

ログメッセージ

Fix bugs of UTF-8 to UTF-16 API bridge.

変更サマリ

差分

Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
--- a/filelist.c
+++ b/filelist.c
@@ -1525,20 +1525,36 @@ static void AddDispFileList(FLISTANCHOR *Anchor, char *Name, FILETIME *Time, LON
15251525
15261526 if((Sort & SORT_GET_ORD) == SORT_ASCENT)
15271527 {
1528- if((((Sort & SORT_MASK_ORD) == SORT_EXT) &&
1529- ((Cmp = _mbsicmp(GetFileExt(Name), GetFileExt(Pos->File))) < 0)) ||
1528+ // 読みにくいのでリファクタリング
1529+// if((((Sort & SORT_MASK_ORD) == SORT_EXT) &&
1530+// ((Cmp = _mbsicmp(GetFileExt(Name), GetFileExt(Pos->File))) < 0)) ||
1531+//#if defined(HAVE_TANDEM)
1532+// ((AskHostType() == HTYPE_TANDEM) &&
1533+// ((Sort & SORT_MASK_ORD) == SORT_EXT) &&
1534+// ((Cmp = Attr - Pos->Attr) < 0)) ||
1535+//#endif
1536+// (((Sort & SORT_MASK_ORD) == SORT_SIZE) &&
1537+// ((Cmp = Size - Pos->Size) < 0)) ||
1538+// (((Sort & SORT_MASK_ORD) == SORT_DATE) &&
1539+// ((Cmp = CompareFileTime(Time, &Pos->Time)) < 0)))
1540+// {
1541+// break;
1542+// }
1543+ if(((Sort & SORT_MASK_ORD) == SORT_EXT) &&
1544+ ((Cmp = _mbsicmp(GetFileExt(Name), GetFileExt(Pos->File))) < 0))
1545+ break;
15301546 #if defined(HAVE_TANDEM)
1531- ((AskHostType() == HTYPE_TANDEM) &&
1532- ((Sort & SORT_MASK_ORD) == SORT_EXT) &&
1533- ((Cmp = Attr - Pos->Attr) < 0)) ||
1547+ if((AskHostType() == HTYPE_TANDEM) &&
1548+ ((Sort & SORT_MASK_ORD) == SORT_EXT) &&
1549+ ((Cmp = Attr - Pos->Attr) < 0))
1550+ break;
15341551 #endif
1535- (((Sort & SORT_MASK_ORD) == SORT_SIZE) &&
1536- ((Cmp = Size - Pos->Size) < 0)) ||
1537- (((Sort & SORT_MASK_ORD) == SORT_DATE) &&
1538- ((Cmp = CompareFileTime(Time, &Pos->Time)) < 0)))
1539- {
1552+ if(((Sort & SORT_MASK_ORD) == SORT_SIZE) &&
1553+ ((Cmp = Size - Pos->Size) < 0))
1554+ break;
1555+ if(((Sort & SORT_MASK_ORD) == SORT_DATE) &&
1556+ ((Cmp = CompareFileTime(Time, &Pos->Time)) < 0))
15401557 break;
1541- }
15421558
15431559 if(((Sort & SORT_MASK_ORD) == SORT_NAME) || (Cmp == 0))
15441560 {
--- a/mbswrapper.c
+++ b/mbswrapper.c
@@ -427,14 +427,19 @@ DWORD GetNextCharM(LPCSTR lpString, LPCSTR* ppNext)
427427 }
428428 else
429429 i = -1;
430- lpString++;
431- while((*lpString & 0xc0) == 0x80)
430+ if(*lpString != 0x00)
432431 {
433- i--;
434- Code = Code << 6;
435- Code |= (DWORD)*lpString & 0x3f;
436432 lpString++;
433+ while((*lpString & 0xc0) == 0x80)
434+ {
435+ i--;
436+ Code = Code << 6;
437+ Code |= (DWORD)*lpString & 0x3f;
438+ lpString++;
439+ }
437440 }
441+ else
442+ lpString++;
438443 if(i != 0)
439444 Code = 0x80000000;
440445 if(ppNext)