directory: don't query database during load

Don't use db_get_directory() and traverse the full path with every
directory being loaded.  Just see if the current parent contains the
entry.  Everything else would be invalid anyway..
This commit is contained in:
Max Kellermann 2008-10-09 15:37:18 +02:00
parent 702739b879
commit 60d122e850

View File

@ -18,7 +18,6 @@
#include "directory_save.h"
#include "directory.h"
#include "database.h"
#include "song.h"
#include "log.h"
#include "path.h"
@ -88,7 +87,8 @@ directory_load(FILE *fp, struct directory *directory)
FATAL("Wrong path in database: '%s' in '%s'\n",
name, directory->path);
if ((subdir = db_get_directory(name))) {
subdir = directory_get_child(directory, name);
if (subdir != NULL) {
assert(subdir->parent == directory);
} else {
subdir = directory_new(name, directory);