summaryrefslogtreecommitdiff
path: root/recordings.cpp
diff options
context:
space:
mode:
authorDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-01-07 18:42:42 +0000
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-01-07 18:42:42 +0000
commit9508850d788d905b21cd2622b22cb76e80cf34ca (patch)
tree557735195632f96eb5f83462926d1715e3b24138 /recordings.cpp
parent749efbc4a2267a3a5395938ba05b90d3b7e16adb (diff)
downloadvdr-plugin-live-9508850d788d905b21cd2622b22cb76e80cf34ca.tar.gz
vdr-plugin-live-9508850d788d905b21cd2622b22cb76e80cf34ca.tar.bz2
fix bug of missing subdirs when recording with same name exists on output
Diffstat (limited to 'recordings.cpp')
-rw-r--r--recordings.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/recordings.cpp b/recordings.cpp
index ad5a815..8c80537 100644
--- a/recordings.cpp
+++ b/recordings.cpp
@@ -69,8 +69,13 @@ namespace vdrlive {
RecordingsItemPtr recItem = m_root;
for (vector< string >::const_iterator i = path.begin(); i != path.end(); ++i)
{
- Map::iterator iter = recItem->m_entries.find(*i);
- recItem = iter->second;
+ pair< Map::iterator, Map::iterator> range = recItem->m_entries.equal_range(*i);
+ for (Map::iterator iter = range.first; iter != range.second; ++iter) {
+ if (iter->second->IsDir()) {
+ recItem = iter->second;
+ break;
+ }
+ }
}
return recItem->m_entries.begin();
}
@@ -84,8 +89,13 @@ namespace vdrlive {
RecordingsItemPtr recItem = m_root;
for (vector< string >::const_iterator i = path.begin(); i != path.end(); ++i)
{
- Map::iterator iter = recItem->m_entries.find(*i);
- recItem = iter->second;
+ pair< Map::iterator, Map::iterator> range = recItem->m_entries.equal_range(*i);
+ for (Map::iterator iter = range.first; iter != range.second; ++iter) {
+ if (iter->second->IsDir()) {
+ recItem = iter->second;
+ break;
+ }
+ }
}
return recItem->m_entries.end();
}