summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-02-10 11:05:21 -0500
committerisanae <14251494+isanae@users.noreply.github.com>2020-02-18 17:23:48 -0500
commitc1cf76033782ff8dc4ccc465b60a2f9f1edb69b8 (patch)
tree72af6111314f9bc69daa7c484ed4ab2fef04aa0f /src
parent3a65665d36022c50637fc53d5c9c1ee022c5b3b5 (diff)
don't lowercase twice
Diffstat (limited to 'src')
-rw-r--r--src/shared/directoryentry.cpp10
-rw-r--r--src/shared/directoryentry.h2
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);