mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
51 lines
1.1 KiB
C++
51 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
|
||
|
|
||
|
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);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}}}
|