summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/Src/NANDContentLoader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/DiscIO/Src/NANDContentLoader.cpp')
-rw-r--r--Source/Core/DiscIO/Src/NANDContentLoader.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/Core/DiscIO/Src/NANDContentLoader.cpp b/Source/Core/DiscIO/Src/NANDContentLoader.cpp
index 93fd9458f3..1d6c9e7746 100644
--- a/Source/Core/DiscIO/Src/NANDContentLoader.cpp
+++ b/Source/Core/DiscIO/Src/NANDContentLoader.cpp
@@ -164,7 +164,7 @@ CNANDContentLoader::CNANDContentLoader(const std::string& _rName)
}
else
{
-// _dbg_assert_msg_(BOOT, 0, "CNANDContentLoader loads neither folder nor file");
+ _dbg_assert_msg_(BOOT, 0, "CNANDContentLoader loads neither folder nor file");
}
}
@@ -362,14 +362,12 @@ CNANDContentManager::~CNANDContentManager()
const INANDContentLoader& CNANDContentManager::GetNANDLoader(const std::string& _rName)
{
- std::string KeyString(_rName);
+ CNANDContentMap::iterator lb = m_Map.lower_bound(_rName);
- CNANDContentMap::iterator itr = m_Map.find(KeyString);
- if (itr != m_Map.end())
- return *itr->second;
+ if(lb == m_Map.end() || (m_Map.key_comp()(_rName, lb->first)))
+ m_Map.insert(lb, CNANDContentMap::value_type(_rName, new CNANDContentLoader(_rName)));
- m_Map[KeyString] = new CNANDContentLoader(KeyString);
- return *m_Map[KeyString];
+ return *m_Map[_rName];
}
} // namespace end