for (unsigned int i=0; i < m_items.size(); i++)
{
CFileItemPtr pItem = m_items[i];
- CStdString path(pItem->GetPath()); path.ToLower();
- m_map.insert(MAPFILEITEMSPAIR(path, pItem));
+ m_map.insert(MAPFILEITEMSPAIR(pItem->GetPath(), pItem));
}
}
if (!fastLookup && m_fastLookup)
{
CSingleLock lock(m_lock);
- // checks case insensitive
- CStdString checkPath(fileName); checkPath.ToLower();
if (m_fastLookup)
- return m_map.find(checkPath) != m_map.end();
+ return m_map.find(fileName) != m_map.end();
+
// slow method...
for (unsigned int i = 0; i < m_items.size(); i++)
{
const CFileItemPtr pItem = m_items[i];
- if (pItem->GetPath().Equals(checkPath))
+ if (pItem->GetPath().Equals(fileName))
return true;
}
return false;
m_items.push_back(pItem);
if (m_fastLookup)
{
- CStdString path(pItem->GetPath());
- path.ToLower();
- m_map.insert(MAPFILEITEMSPAIR(path, pItem));
+ m_map.insert(MAPFILEITEMSPAIR(pItem->GetPath(), pItem));
}
}
}
if (m_fastLookup)
{
- CStdString path(pItem->GetPath()); path.ToLower();
- m_map.insert(MAPFILEITEMSPAIR(path, pItem));
+ m_map.insert(MAPFILEITEMSPAIR(pItem->GetPath(), pItem));
}
}
m_items.erase(it);
if (m_fastLookup)
{
- CStdString path(pItem->GetPath()); path.ToLower();
- m_map.erase(path);
+ m_map.erase(pItem->GetPath());
}
break;
}
CFileItemPtr pItem = *(m_items.begin() + iItem);
if (m_fastLookup)
{
- CStdString path(pItem->GetPath()); path.ToLower();
- m_map.erase(path);
+ m_map.erase(pItem->GetPath());
}
m_items.erase(m_items.begin() + iItem);
}
{
CSingleLock lock(m_lock);
- CStdString pathToCheck(strPath); pathToCheck.ToLower();
-
if (m_fastLookup)
{
- IMAPFILEITEMS it=m_map.find(pathToCheck);
+ IMAPFILEITEMS it=m_map.find(strPath);
if (it != m_map.end())
return it->second;
for (unsigned int i = 0; i < m_items.size(); i++)
{
CFileItemPtr pItem = m_items[i];
- if (pItem->GetPath().Equals(pathToCheck))
+ if (pItem->GetPath().Equals(strPath))
return pItem;
}
const CFileItemPtr CFileItemList::Get(const CStdString& strPath) const
{
CSingleLock lock(m_lock);
-
- CStdString pathToCheck(strPath); pathToCheck.ToLower();
-
+
if (m_fastLookup)
{
- map<CStdString, CFileItemPtr>::const_iterator it=m_map.find(pathToCheck);
+ map<CStdString, CFileItemPtr>::const_iterator it=m_map.find(strPath);
if (it != m_map.end())
return it->second;
for (unsigned int i = 0; i < m_items.size(); i++)
{
CFileItemPtr pItem = m_items[i];
- if (pItem->GetPath().Equals(pathToCheck))
+ if (pItem->GetPath().Equals(strPath))
return pItem;
}