misc/libphysfs/lzma/CPP/7zip/UI/Common/DefaultName.cpp
author Wuzzy <Wuzzy2@mail.ru>
Wed, 28 Mar 2018 15:21:23 +0200
changeset 13297 e9caada3aac1
parent 12218 bb5522e88ab2
permissions -rw-r--r--
CMake for server: Pass -dynamic flag to ghc

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