// 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 }}}