diff options
Diffstat (limited to 'src/libs/7zip/win/CPP/7zip/Common/FilePathAutoRename.cpp')
-rw-r--r-- | src/libs/7zip/win/CPP/7zip/Common/FilePathAutoRename.cpp | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/src/libs/7zip/win/CPP/7zip/Common/FilePathAutoRename.cpp b/src/libs/7zip/win/CPP/7zip/Common/FilePathAutoRename.cpp deleted file mode 100644 index 958360fac..000000000 --- a/src/libs/7zip/win/CPP/7zip/Common/FilePathAutoRename.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// FilePathAutoRename.cpp - -#include "StdAfx.h" - -#include "../../Common/Defs.h" -#include "../../Common/IntToString.h" - -#include "../../Windows/FileFind.h" - -#include "FilePathAutoRename.h" - -using namespace NWindows; - -static bool MakeAutoName(const FString &name, - const FString &extension, unsigned value, FString &path) -{ - FChar number[16]; - ConvertUInt32ToString(value, number); - path = name; - path += number; - path += extension; - return NFile::NFind::DoesFileOrDirExist(path); -} - -bool AutoRenamePath(FString &fullProcessedPath) -{ - FString path; - int dotPos = fullProcessedPath.ReverseFind(FTEXT('.')); - - int slashPos = fullProcessedPath.ReverseFind(FTEXT('/')); - #ifdef _WIN32 - int slash1Pos = fullProcessedPath.ReverseFind(FTEXT('\\')); - slashPos = MyMax(slashPos, slash1Pos); - #endif - - FString name, extension; - if (dotPos > slashPos && dotPos > 0) - { - name.SetFrom(fullProcessedPath, dotPos); - extension = fullProcessedPath.Ptr(dotPos); - } - else - name = fullProcessedPath; - name += L'_'; - unsigned left = 1, right = (1 << 30); - while (left != right) - { - unsigned mid = (left + right) / 2; - if (MakeAutoName(name, extension, mid, path)) - left = mid + 1; - else - right = mid; - } - return !MakeAutoName(name, extension, right, fullProcessedPath); -} |