diff options
author | Max Kellermann <max@duempel.org> | 2014-02-12 23:48:04 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-02-12 23:48:08 +0100 |
commit | e3e2ad4ae54e91f69f24c5e66cb67e5a9ba5a8d9 (patch) | |
tree | 197efd3c2b479d1146e0b7f6850dcf3e763f5240 /src/storage/CompositeStorage.cxx | |
parent | ace4ba317105341364313d2d1e78b54829ae3883 (diff) | |
download | mpd-e3e2ad4ae54e91f69f24c5e66cb67e5a9ba5a8d9.tar.gz mpd-e3e2ad4ae54e91f69f24c5e66cb67e5a9ba5a8d9.tar.xz mpd-e3e2ad4ae54e91f69f24c5e66cb67e5a9ba5a8d9.zip |
CompositeStorage: fix tree walk in Directory::Unmount()
Diffstat (limited to 'src/storage/CompositeStorage.cxx')
-rw-r--r-- | src/storage/CompositeStorage.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/storage/CompositeStorage.cxx b/src/storage/CompositeStorage.cxx index e090bd63c..9a27270df 100644 --- a/src/storage/CompositeStorage.cxx +++ b/src/storage/CompositeStorage.cxx @@ -162,10 +162,13 @@ CompositeStorage::Directory::Unmount() bool CompositeStorage::Directory::Unmount(const char *uri) { + if (*uri == 0) + return Unmount(); + const std::string name = NextSegment(uri); auto i = children.find(name); - if (i == children.end() || !i->second.Unmount()) + if (i == children.end() || !i->second.Unmount(uri)) return false; if (i->second.IsEmpty()) |