misc/libphysfs/lzma/CPP/7zip/UI/Common/DefaultName.cpp
author unc0rr
Thu, 11 Oct 2018 23:43:31 +0200
changeset 13885 5f819b90d479
parent 12218 bb5522e88ab2
permissions -rw-r--r--
- Fix insert() for strings in pas2c - Implement insert() for ansistrings

// DefaultName.cpp

#include "StdAfx.h"

#include "DefaultName.h"

static const wchar_t *kEmptyFileAlias = L"[Content]";

UString GetDefaultName2(const UString &fileName, 
    const UString &extension, const UString &addSubExtension)
{
  int extLength = extension.Length();
  int fileNameLength = fileName.Length();
  if (fileNameLength > extLength + 1)
  {
    int dotPos = fileNameLength - (extLength + 1);
    if (fileName[dotPos] == '.')
      if (extension.CompareNoCase(fileName.Mid(dotPos + 1)) == 0)
        return fileName.Left(dotPos) + addSubExtension;
  }
  int dotPos = fileName.ReverseFind(L'.');
  if (dotPos > 0)
    return fileName.Left(dotPos) + addSubExtension;
  return kEmptyFileAlias;
}