54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
// Windows/FileName.cpp
|
|
|
|
#include "StdAfx.h"
|
|
|
|
#include "Windows/FileName.h"
|
|
#include "Common/Wildcard.h"
|
|
|
|
namespace NWindows {
|
|
namespace NFile {
|
|
namespace NName {
|
|
|
|
void NormalizeDirPathPrefix(CSysString &dirPath)
|
|
{
|
|
if (dirPath.IsEmpty())
|
|
return;
|
|
if (dirPath.ReverseFind(kDirDelimiter) != dirPath.Length() - 1)
|
|
dirPath += kDirDelimiter;
|
|
}
|
|
|
|
#ifndef _UNICODE
|
|
void NormalizeDirPathPrefix(UString &dirPath)
|
|
{
|
|
if (dirPath.IsEmpty())
|
|
return;
|
|
if (dirPath.ReverseFind(wchar_t(kDirDelimiter)) != dirPath.Length() - 1)
|
|
dirPath += wchar_t(kDirDelimiter);
|
|
}
|
|
#endif
|
|
|
|
#ifdef _WIN32
|
|
|
|
const wchar_t kExtensionDelimiter = L'.';
|
|
|
|
void SplitNameToPureNameAndExtension(const UString &fullName,
|
|
UString &pureName, UString &extensionDelimiter, UString &extension)
|
|
{
|
|
int index = fullName.ReverseFind(kExtensionDelimiter);
|
|
if (index < 0)
|
|
{
|
|
pureName = fullName;
|
|
extensionDelimiter.Empty();
|
|
extension.Empty();
|
|
}
|
|
else
|
|
{
|
|
pureName = fullName.Left(index);
|
|
extensionDelimiter = kExtensionDelimiter;
|
|
extension = fullName.Mid(index + 1);
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|
|
}}}
|