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 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/shared/directoryentry.cpp') 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) -- cgit v1.3.1