diff options
Diffstat (limited to 'libsylph/utils.c')
-rw-r--r-- | libsylph/utils.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/libsylph/utils.c b/libsylph/utils.c index 5e3ba645..85758fe3 100644 --- a/libsylph/utils.c +++ b/libsylph/utils.c @@ -2425,8 +2425,15 @@ static gint remove_dir_recursive_real(const gchar *dir) g_free(prev_dir); if (g_rmdir(dir) < 0) { - FILE_OP_ERROR(dir, "rmdir"); - return -1; + if (ENOTDIR == errno) { + if (g_unlink(dir) < 0) { + FILE_OP_ERROR(dir, "unlink"); + return -1; + } + } else { + FILE_OP_ERROR(dir, "rmdir"); + return -1; + } } return 0; |