Index: third_party/lzma/v4_65/files/CPP/7zip/UI/Common/ExtractingFilePath.cpp |
diff --git a/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/ExtractingFilePath.cpp b/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/ExtractingFilePath.cpp |
deleted file mode 100644 |
index 5de388dd009f8a75bcf28247993f9726e9734d3c..0000000000000000000000000000000000000000 |
--- a/third_party/lzma/v4_65/files/CPP/7zip/UI/Common/ExtractingFilePath.cpp |
+++ /dev/null |
@@ -1,97 +0,0 @@ |
-// ExtractingFilePath.cpp |
- |
-#include "StdAfx.h" |
-#include "ExtractingFilePath.h" |
- |
-static UString ReplaceIncorrectChars(const UString &s) |
-{ |
- #ifdef _WIN32 |
- UString res; |
- for (int i = 0; i < s.Length(); i++) |
- { |
- wchar_t c = s[i]; |
- if (c < 0x20 || c == '*' || c == '?' || c == '<' || c == '>' || c == '|' || c == ':' || c == '"') |
- c = '_'; |
- res += c; |
- } |
- res.TrimRight(); |
- return res; |
- #else |
- return s; |
- #endif |
-} |
- |
-#ifdef _WIN32 |
-static const wchar_t *g_ReservedNames[] = |
-{ |
- L"CON", L"PRN", L"AUX", L"NUL" |
-}; |
- |
-static bool CheckTail(const UString &name, int len) |
-{ |
- int dotPos = name.Find(L'.'); |
- if (dotPos < 0) |
- dotPos = name.Length(); |
- UString s = name.Left(dotPos); |
- s.TrimRight(); |
- return (s.Length() != len); |
-} |
- |
-static bool CheckNameNum(const UString &name, const wchar_t *reservedName) |
-{ |
- int len = MyStringLen(reservedName); |
- if (name.Length() <= len) |
- return true; |
- if (name.Left(len).CompareNoCase(reservedName) != 0) |
- return true; |
- wchar_t c = name[len]; |
- if (c < L'0' || c > L'9') |
- return true; |
- return CheckTail(name, len + 1); |
-} |
- |
-static bool IsSupportedName(const UString &name) |
-{ |
- for (int i = 0; i < sizeof(g_ReservedNames) / sizeof(g_ReservedNames[0]); i++) |
- { |
- const wchar_t *reservedName = g_ReservedNames[i]; |
- int len = MyStringLen(reservedName); |
- if (name.Length() < len) |
- continue; |
- if (name.Left(len).CompareNoCase(reservedName) != 0) |
- continue; |
- if (!CheckTail(name, len)) |
- return false; |
- } |
- if (!CheckNameNum(name, L"COM")) |
- return false; |
- return CheckNameNum(name, L"LPT"); |
-} |
-#endif |
- |
-static UString GetCorrectFileName(const UString &path) |
-{ |
- if (path == L".." || path == L".") |
- return UString(); |
- return ReplaceIncorrectChars(path); |
-} |
- |
-void MakeCorrectPath(UStringVector &pathParts) |
-{ |
- for (int i = 0; i < pathParts.Size();) |
- { |
- UString &s = pathParts[i]; |
- s = GetCorrectFileName(s); |
- if (s.IsEmpty()) |
- pathParts.Delete(i); |
- else |
- { |
- #ifdef _WIN32 |
- if (!IsSupportedName(s)) |
- s = (UString)L"_" + s; |
- #endif |
- i++; |
- } |
- } |
-} |
- |