From f25ef8d6825c03aec4569c6ad4b9bfb3a9f5d78d Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 4 Feb 2014 08:57:40 +0100 Subject: db/update/Walk: add Directory reference parameter Remove dependency on the DatabaseSimple library. --- src/db/update/Walk.cxx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/db/update/Walk.cxx') diff --git a/src/db/update/Walk.cxx b/src/db/update/Walk.cxx index ff59fe960..ed09c1676 100644 --- a/src/db/update/Walk.cxx +++ b/src/db/update/Walk.cxx @@ -23,7 +23,6 @@ #include "Editor.hxx" #include "UpdateDomain.hxx" #include "db/DatabaseLock.hxx" -#include "db/DatabaseSimple.hxx" #include "db/Directory.hxx" #include "db/Song.hxx" #include "db/PlaylistVector.hxx" @@ -393,9 +392,9 @@ UpdateWalk::DirectoryMakeChildChecked(Directory &parent, const char *name_utf8) } inline Directory * -UpdateWalk::DirectoryMakeUriParentChecked(const char *uri) +UpdateWalk::DirectoryMakeUriParentChecked(Directory &root, const char *uri) { - Directory *directory = db_get_root(); + Directory *directory = &root; char *duplicated = xstrdup(uri); char *name_utf8 = duplicated, *slash; @@ -418,9 +417,9 @@ UpdateWalk::DirectoryMakeUriParentChecked(const char *uri) } inline void -UpdateWalk::UpdateUri(const char *uri) +UpdateWalk::UpdateUri(Directory &root, const char *uri) { - Directory *parent = DirectoryMakeUriParentChecked(uri); + Directory *parent = DirectoryMakeUriParentChecked(root, uri); if (parent == nullptr) return; @@ -435,19 +434,18 @@ UpdateWalk::UpdateUri(const char *uri) } bool -UpdateWalk::Walk(const char *path, bool discard) +UpdateWalk::Walk(Directory &root, const char *path, bool discard) { walk_discard = discard; modified = false; if (path != nullptr && !isRootDirectory(path)) { - UpdateUri(path); + UpdateUri(root, path); } else { - Directory *directory = db_get_root(); struct stat st; - if (stat_directory(*directory, &st) == 0) - UpdateDirectory(*directory, &st); + if (stat_directory(root, &st) == 0) + UpdateDirectory(root, &st); } return modified; -- cgit v1.2.3