| Index: third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdatePair.cpp
|
| diff --git a/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdatePair.cpp b/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdatePair.cpp
|
| deleted file mode 100644
|
| index f6727cbf7854424a22b8cf60ecd8f17cc48c8ce3..0000000000000000000000000000000000000000
|
| --- a/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/UpdatePair.cpp
|
| +++ /dev/null
|
| @@ -1,161 +0,0 @@
|
| -// UpdatePair.cpp
|
| -
|
| -#include "StdAfx.h"
|
| -
|
| -#include <time.h>
|
| -
|
| -#include "Common/Defs.h"
|
| -#include "Common/Wildcard.h"
|
| -#include "Windows/Time.h"
|
| -
|
| -#include "UpdatePair.h"
|
| -#include "SortUtils.h"
|
| -
|
| -using namespace NWindows;
|
| -using namespace NTime;
|
| -
|
| -static int MyCompareTime(NFileTimeType::EEnum fileTimeType, const FILETIME &time1, const FILETIME &time2)
|
| -{
|
| - switch(fileTimeType)
|
| - {
|
| - case NFileTimeType::kWindows:
|
| - return ::CompareFileTime(&time1, &time2);
|
| - case NFileTimeType::kUnix:
|
| - {
|
| - UInt32 unixTime1, unixTime2;
|
| - FileTimeToUnixTime(time1, unixTime1);
|
| - FileTimeToUnixTime(time2, unixTime2);
|
| - return MyCompare(unixTime1, unixTime2);
|
| - }
|
| - case NFileTimeType::kDOS:
|
| - {
|
| - UInt32 dosTime1, dosTime2;
|
| - FileTimeToDosTime(time1, dosTime1);
|
| - FileTimeToDosTime(time2, dosTime2);
|
| - return MyCompare(dosTime1, dosTime2);
|
| - }
|
| - }
|
| - throw 4191618;
|
| -}
|
| -
|
| -static const wchar_t *kDuplicateFileNameMessage = L"Duplicate filename:";
|
| -static const wchar_t *kNotCensoredCollisionMessaged = L"Internal file name collision (file on disk, file in archive):";
|
| -
|
| -static void ThrowError(const UString &message, const UString &s1, const UString &s2)
|
| -{
|
| - UString m = message;
|
| - m += L'\n';
|
| - m += s1;
|
| - m += L'\n';
|
| - m += s2;
|
| - throw m;
|
| -}
|
| -
|
| -static void TestDuplicateString(const UStringVector &strings, const CIntVector &indices)
|
| -{
|
| - for(int i = 0; i + 1 < indices.Size(); i++)
|
| - if (CompareFileNames(strings[indices[i]], strings[indices[i + 1]]) == 0)
|
| - ThrowError(kDuplicateFileNameMessage, strings[indices[i]], strings[indices[i + 1]]);
|
| -}
|
| -
|
| -void GetUpdatePairInfoList(
|
| - const CDirItems &dirItems,
|
| - const CObjectVector<CArcItem> &arcItems,
|
| - NFileTimeType::EEnum fileTimeType,
|
| - CRecordVector<CUpdatePair> &updatePairs)
|
| -{
|
| - CIntVector dirIndices, arcIndices;
|
| -
|
| - int numDirItems = dirItems.Items.Size();
|
| - int numArcItems = arcItems.Size();
|
| -
|
| -
|
| - {
|
| - UStringVector arcNames;
|
| - arcNames.Reserve(numArcItems);
|
| - for (int i = 0; i < numArcItems; i++)
|
| - arcNames.Add(arcItems[i].Name);
|
| - SortFileNames(arcNames, arcIndices);
|
| - TestDuplicateString(arcNames, arcIndices);
|
| - }
|
| -
|
| - UStringVector dirNames;
|
| - {
|
| - dirNames.Reserve(numDirItems);
|
| - for (int i = 0; i < numDirItems; i++)
|
| - dirNames.Add(dirItems.GetLogPath(i));
|
| - SortFileNames(dirNames, dirIndices);
|
| - TestDuplicateString(dirNames, dirIndices);
|
| - }
|
| -
|
| - int dirIndex = 0, arcIndex = 0;
|
| - while (dirIndex < numDirItems && arcIndex < numArcItems)
|
| - {
|
| - CUpdatePair pair;
|
| - int dirIndex2 = dirIndices[dirIndex];
|
| - int arcIndex2 = arcIndices[arcIndex];
|
| - const CDirItem &di = dirItems.Items[dirIndex2];
|
| - const CArcItem &ai = arcItems[arcIndex2];
|
| - int compareResult = CompareFileNames(dirNames[dirIndex2], ai.Name);
|
| - if (compareResult < 0)
|
| - {
|
| - pair.State = NUpdateArchive::NPairState::kOnlyOnDisk;
|
| - pair.DirIndex = dirIndex2;
|
| - dirIndex++;
|
| - }
|
| - else if (compareResult > 0)
|
| - {
|
| - pair.State = ai.Censored ?
|
| - NUpdateArchive::NPairState::kOnlyInArchive:
|
| - NUpdateArchive::NPairState::kNotMasked;
|
| - pair.ArcIndex = arcIndex2;
|
| - arcIndex++;
|
| - }
|
| - else
|
| - {
|
| - if (!ai.Censored)
|
| - ThrowError(kNotCensoredCollisionMessaged, dirNames[dirIndex2], ai.Name);
|
| - pair.DirIndex = dirIndex2;
|
| - pair.ArcIndex = arcIndex2;
|
| - switch (MyCompareTime(
|
| - ai.TimeType != - 1 ? (NFileTimeType::EEnum)ai.TimeType : fileTimeType,
|
| - di.MTime, ai.MTime))
|
| - {
|
| - case -1: pair.State = NUpdateArchive::NPairState::kNewInArchive; break;
|
| - case 1: pair.State = NUpdateArchive::NPairState::kOldInArchive; break;
|
| - default:
|
| - if (ai.SizeDefined)
|
| - if (di.Size != ai.Size)
|
| - pair.State = NUpdateArchive::NPairState::kUnknowNewerFiles;
|
| - else
|
| - pair.State = NUpdateArchive::NPairState::kSameFiles;
|
| - else
|
| - pair.State = NUpdateArchive::NPairState::kUnknowNewerFiles;
|
| - }
|
| - dirIndex++;
|
| - arcIndex++;
|
| - }
|
| - updatePairs.Add(pair);
|
| - }
|
| -
|
| - for (; dirIndex < numDirItems; dirIndex++)
|
| - {
|
| - CUpdatePair pair;
|
| - pair.State = NUpdateArchive::NPairState::kOnlyOnDisk;
|
| - pair.DirIndex = dirIndices[dirIndex];
|
| - updatePairs.Add(pair);
|
| - }
|
| -
|
| - for (; arcIndex < numArcItems; arcIndex++)
|
| - {
|
| - CUpdatePair pair;
|
| - int arcIndex2 = arcIndices[arcIndex];
|
| - pair.State = arcItems[arcIndex2].Censored ?
|
| - NUpdateArchive::NPairState::kOnlyInArchive:
|
| - NUpdateArchive::NPairState::kNotMasked;
|
| - pair.ArcIndex = arcIndex2;
|
| - updatePairs.Add(pair);
|
| - }
|
| -
|
| - updatePairs.ReserveDown();
|
| -}
|
|
|