ソースを参照

BUG: File comparison on windows must test the volume serial number as well as the file index.

Brad King 22 年 前
コミット
4d68d005bc
1 ファイル変更2 行追加1 行削除
  1. 2 1
      Source/kwsys/SystemTools.cxx

+ 2 - 1
Source/kwsys/SystemTools.cxx

@@ -577,7 +577,8 @@ bool SystemTools::SameFile(const char* file1, const char* file2)
    GetFileInformationByHandle( hFile2, &fiBuf2 );
    CloseHandle(hFile1);
    CloseHandle(hFile2);
-   return (fiBuf1.nFileIndexHigh == fiBuf2.nFileIndexHigh &&
+   return (fiBuf1.dwVolumeSerialNumber == fiBuf2.dwVolumeSerialNumber &&
+           fiBuf1.nFileIndexHigh == fiBuf2.nFileIndexHigh &&
            fiBuf1.nFileIndexLow == fiBuf2.nFileIndexLow);
 #else
   struct stat fileStat1, fileStat2;