From c1cf76033782ff8dc4ccc465b60a2f9f1edb69b8 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Mon, 10 Feb 2020 11:05:21 -0500 Subject: don't lowercase twice --- src/shared/directoryentry.cpp | 10 ++++++---- src/shared/directoryentry.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/shared/directoryentry.cpp b/src/shared/directoryentry.cpp index 28201a11..d171be38 100644 --- a/src/shared/directoryentry.cpp +++ b/src/shared/directoryentry.cpp @@ -1152,7 +1152,8 @@ void DirectoryEntry::addFiles( DirectoryEntry *DirectoryEntry::getSubDirectory( std::wstring_view name, bool create, int originID) { - auto itor = m_SubDirectoriesLookup.find(ToLowerCopy(name)); + std::wstring nameLc = ToLowerCopy(name); + auto itor = m_SubDirectoriesLookup.find(nameLc); if (itor != m_SubDirectoriesLookup.end()) { return itor->second; @@ -1163,7 +1164,8 @@ DirectoryEntry *DirectoryEntry::getSubDirectory( std::wstring(name.begin(), name.end()), this, originID, m_FileRegister, m_OriginConnection); - addDirectoryToList(entry); + addDirectoryToList(entry, std::move(nameLc)); + // nameLc is moved from this point return entry; } else { @@ -1211,10 +1213,10 @@ void DirectoryEntry::removeDirRecursive() m_SubDirectoriesLookup.clear(); } -void DirectoryEntry::addDirectoryToList(DirectoryEntry* e) +void DirectoryEntry::addDirectoryToList(DirectoryEntry* e, std::wstring nameLc) { m_SubDirectories.push_back(e); - m_SubDirectoriesLookup.emplace(ToLowerCopy(e->getName()), e); + m_SubDirectoriesLookup.emplace(std::move(nameLc), e); } void DirectoryEntry::removeDirectoryFromList(SubDirectories::iterator itor) diff --git a/src/shared/directoryentry.h b/src/shared/directoryentry.h index 1a8a4247..58e70ffa 100644 --- a/src/shared/directoryentry.h +++ b/src/shared/directoryentry.h @@ -519,7 +519,7 @@ private: void removeDirRecursive(); - void addDirectoryToList(DirectoryEntry* e); + void addDirectoryToList(DirectoryEntry* e, std::wstring nameLc); void removeDirectoryFromList(SubDirectories::iterator itor); void addFileToList(std::wstring fileNameLower, FileEntry::Index index); -- cgit v1.3.1