aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/update.c7
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;