db/simple: fix file corruption in the presence of mount points

If a directory is a mount point, omit the "directory: " as well.

This bug is years old, but has become more visible now that mount
points are persistent in the state file.
This commit is contained in:
Max Kellermann
2017-12-21 10:16:52 +01:00
parent e769751221
commit c88056ba83
2 changed files with 6 additions and 3 deletions

View File

@@ -82,10 +82,11 @@ directory_save(BufferedOutputStream &os, const Directory &directory)
}
for (const auto &child : directory.children) {
os.Format(DIRECTORY_DIR "%s\n", child.GetName());
if (child.IsMount())
continue;
if (!child.IsMount())
directory_save(os, child);
os.Format(DIRECTORY_DIR "%s\n", child.GetName());
directory_save(os, child);
}
for (const auto &song : directory.songs)