summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-01-07 05:25:53 -0500
committerColin Walters <walters@verbum.org>2013-01-07 05:25:53 -0500
commitbfae179c1f6aa15b3a0858b6b7ca6f4b5c4f8278 (patch)
treee98e571c1cb8e7dcc7b8aa5064f3208de040aa7c
parentb1424432d7cc7af622ef1dbaaf71282cec683df6 (diff)
downloadlibgsystem-bfae179c1f6aa15b3a0858b6b7ca6f4b5c4f8278.tar.gz
shutil: Allow gs_shutil_rm_rf() to delete files too
It was documented to do so.
-rw-r--r--gsystem-shutil.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gsystem-shutil.c b/gsystem-shutil.c
index 428f851..380acc4 100644
--- a/gsystem-shutil.c
+++ b/gsystem-shutil.c
@@ -194,6 +194,13 @@ gs_shutil_rm_rf (GFile *path,
g_clear_error (&temp_error);
ret = TRUE;
}
+ else if (g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY))
+ {
+ g_clear_error (&temp_error);
+ if (!gs_file_unlink (path, cancellable, error))
+ goto out;
+ ret = TRUE;
+ }
else
g_propagate_error (error, temp_error);