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