From 88c3f461ffdeb840843c0e7b25d1579322913112 Mon Sep 17 00:00:00 2001 From: Dieter Hametner Date: Sat, 6 Jan 2007 22:58:21 +0000 Subject: preserve recordings with same title --- recordings.cpp | 13 ++++++++----- recordings.h | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/recordings.cpp b/recordings.cpp index d4c7cb6..9d6b219 100644 --- a/recordings.cpp +++ b/recordings.cpp @@ -28,15 +28,16 @@ namespace vdrlive { Map::iterator i = dir->m_entries.find(dirName); if (i == dir->m_entries.end()) { RecordingsItemPtr recPtr (new RecordingsItemDir(dirName, level)); - dir->m_entries[dirName] = recPtr; + dir->m_entries.insert(pair< string, RecordingsItemPtr > (dirName, recPtr)); + i = dir->m_entries.find(dirName); } - dir = dir->m_entries[dirName]; + dir = i->second; level++; } else { string dirName(name.substr(index, name.length() - index)); RecordingsItemPtr recPtr (new RecordingsItemRec(dirName, recording)); - dir->m_entries[dirName] = recPtr; + dir->m_entries.insert(pair< string, RecordingsItemPtr > (dirName, recPtr)); } } while (pos != string::npos); } @@ -55,7 +56,8 @@ namespace vdrlive { RecordingsItemPtr recItem = m_root; for (vector< string >::const_iterator i = path.begin(); i != path.end(); ++i) { - recItem = recItem->m_entries[*i]; + Map::iterator iter = recItem->m_entries.find(*i); + recItem = iter->second; } return recItem->m_entries.begin(); } @@ -69,7 +71,8 @@ namespace vdrlive { RecordingsItemPtr recItem = m_root; for (vector< string >::const_iterator i = path.begin(); i != path.end(); ++i) { - recItem = recItem->m_entries[*i]; + Map::iterator iter = recItem->m_entries.find(*i); + recItem = iter->second; } return recItem->m_entries.end(); } diff --git a/recordings.h b/recordings.h index 4a05e63..8640848 100644 --- a/recordings.h +++ b/recordings.h @@ -19,7 +19,7 @@ namespace vdrlive { class RecordingsItem; typedef shared_ptr< RecordingsItem > RecordingsItemPtr; - typedef map< string, RecordingsItemPtr > Map; + typedef multimap< string, RecordingsItemPtr > Map; class RecordingsItem { -- cgit v1.2.3