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.
This commit is contained in:
Max Kellermann 2009-02-28 14:02:08 +01:00
parent 83b1b0ff69
commit 0fcb7dc65c

View File

@ -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;