Source code
Revision control
Copy as Markdown
Other Tools
// DefaultName.cpp↩
↩
#include "StdAfx.h"↩
↩
#include "DefaultName.h"↩
↩
static UString GetDefaultName3(const UString &fileName,↩
const UString &extension, const UString &addSubExtension)↩
{↩
const unsigned extLen = extension.Len();↩
const unsigned fileNameLen = fileName.Len();↩
↩
if (fileNameLen > extLen + 1)↩
{↩
const unsigned dotPos = fileNameLen - (extLen + 1);↩
if (fileName[dotPos] == '.')↩
if (extension.IsEqualTo_NoCase(fileName.Ptr(dotPos + 1)))↩
return fileName.Left(dotPos) + addSubExtension;↩
}↩
↩
int dotPos = fileName.ReverseFind_Dot();↩
if (dotPos > 0)↩
return fileName.Left(dotPos) + addSubExtension;↩
↩
if (addSubExtension.IsEmpty())↩
return fileName + L'~';↩
else↩
return fileName + addSubExtension;↩
}↩
↩
UString GetDefaultName2(const UString &fileName,↩
const UString &extension, const UString &addSubExtension)↩
{↩
UString name = GetDefaultName3(fileName, extension, addSubExtension);↩
name.TrimRight();↩
return name;↩
}↩