diff options
author | Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de> | 2007-01-07 18:42:42 +0000 |
---|---|---|
committer | Dieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de> | 2007-01-07 18:42:42 +0000 |
commit | 9508850d788d905b21cd2622b22cb76e80cf34ca (patch) | |
tree | 557735195632f96eb5f83462926d1715e3b24138 /recordings.cpp | |
parent | 749efbc4a2267a3a5395938ba05b90d3b7e16adb (diff) | |
download | vdr-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.cpp | 18 |
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(); } |