diff options
author | Max Kellermann <max@duempel.org> | 2009-02-28 14:02:08 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-02-28 14:02:08 +0100 |
commit | 0fcb7dc65cea3c72fad8a8b261f5a6a324a3bd33 (patch) | |
tree | 98c34ce90ee20baca2b53b9cd71df968366b4681 /src/update.c | |
parent | 83b1b0ff69e03cbb472c6cfaaf87f782bb9d9a91 (diff) | |
download | mpd-0fcb7dc65cea3c72fad8a8b261f5a6a324a3bd33.tar.gz mpd-0fcb7dc65cea3c72fad8a8b261f5a6a324a3bd33.tar.xz mpd-0fcb7dc65cea3c72fad8a8b261f5a6a324a3bd33.zip |
update: use G_FILE_TEST_IS_REGULAR for archive files
When checking whether database entries have been deleted, don't check
if an archive file is a directory (G_FILE_TEST_IS_DIR), use
G_FILE_TEST_IS_REGULAR for this case instead. To determine if a
"struct directory" is an archive, check for device==DEVICE_INARCHIVE.
This is always false after loading the database, so this patch is not
complete yet.
Diffstat (limited to 'src/update.c')
-rw-r--r-- | src/update.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/update.c b/src/update.c index 5cb02cb4e..e72c2e26d 100644 --- a/src/update.c +++ b/src/update.c @@ -205,6 +205,7 @@ static bool directory_exists(const struct directory *directory) { char *path_fs; + GFileTest test; bool exists; path_fs = map_directory_fs(directory); @@ -212,7 +213,11 @@ directory_exists(const struct directory *directory) /* invalid path: cannot exist */ return false; - exists = g_file_test(path_fs, G_FILE_TEST_IS_DIR); + test = directory->device == DEVICE_INARCHIVE + ? G_FILE_TEST_IS_REGULAR + : G_FILE_TEST_IS_DIR; + + exists = g_file_test(path_fs, test); g_free(path_fs); return exists; |