mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-13 14:11:34 -06:00
4.20
This commit is contained in:
committed by
Kornel Lesiński
parent
8c1b5c7b7e
commit
3c510ba80b
@@ -10,28 +10,41 @@ namespace NItemName {
|
||||
static const wchar_t kOSDirDelimiter = '\\';
|
||||
static const wchar_t kDirDelimiter = '/';
|
||||
|
||||
UString MakeLegalName(const UString &aName)
|
||||
UString MakeLegalName(const UString &name)
|
||||
{
|
||||
UString aZipName = aName;
|
||||
aZipName.Replace(kOSDirDelimiter, kDirDelimiter);
|
||||
return aZipName;
|
||||
UString zipName = name;
|
||||
zipName.Replace(kOSDirDelimiter, kDirDelimiter);
|
||||
return zipName;
|
||||
}
|
||||
|
||||
UString GetOSName(const UString &aName)
|
||||
UString GetOSName(const UString &name)
|
||||
{
|
||||
UString aNewName = aName;
|
||||
aNewName.Replace(kDirDelimiter, kOSDirDelimiter);
|
||||
return aNewName;
|
||||
UString newName = name;
|
||||
newName.Replace(kDirDelimiter, kOSDirDelimiter);
|
||||
return newName;
|
||||
}
|
||||
|
||||
UString GetOSName2(const UString &aName)
|
||||
UString GetOSName2(const UString &name)
|
||||
{
|
||||
if (aName.IsEmpty())
|
||||
if (name.IsEmpty())
|
||||
return UString();
|
||||
UString aNewName = GetOSName(aName);
|
||||
if (aNewName[aNewName.Length() - 1] == kOSDirDelimiter)
|
||||
aNewName.Delete(aNewName.Length() - 1);
|
||||
return aNewName;
|
||||
UString newName = GetOSName(name);
|
||||
if (newName[newName.Length() - 1] == kOSDirDelimiter)
|
||||
newName.Delete(newName.Length() - 1);
|
||||
return newName;
|
||||
}
|
||||
|
||||
bool HasTailSlash(const AString &name, UINT codePage)
|
||||
{
|
||||
if (name.IsEmpty())
|
||||
return false;
|
||||
LPCSTR prev =
|
||||
#ifdef _WIN32
|
||||
CharPrevExA(codePage, name, &name[name.Length()], 0);
|
||||
#else
|
||||
(LPCSTR)(name) + (name.Length() - 1);
|
||||
#endif
|
||||
return (*prev == '/');
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user