summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-01-06 22:58:21 +0000
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-01-06 22:58:21 +0000
commit88c3f461ffdeb840843c0e7b25d1579322913112 (patch)
tree4d4d5ea5b6c01453c7beb804597f0e06c859310a
parent46af948c42ad440f62ad931eef65e33c7e863ff2 (diff)
downloadvdr-plugin-live-88c3f461ffdeb840843c0e7b25d1579322913112.tar.gz
vdr-plugin-live-88c3f461ffdeb840843c0e7b25d1579322913112.tar.bz2
preserve recordings with same title
-rw-r--r--recordings.cpp13
-rw-r--r--recordings.h2
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
{