forcemerge 44889 44865 44883
stop
On 26/11/2020 14:35, Nick Alcock wrote:
diff --git a/src/remove.c b/src/remove.c
index 2d40c55cd..1150cf179 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -508,8 +508,7 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x)
s = excise (fts, ent, x, true);
fts_skip_tree (fts, ent);
}
-
- if (s != RM_OK)
+ else if (s != RM_OK)
{
mark_ancestor_dirs (ent);
fts_skip_tree (fts, ent);
I think we'd still like to mark ancestors when failing to remove,
so that we don't prompt unnecessarily.
I think it would be better to do:
diff --git a/src/remove.c b/src/remove.c
index 2d40c55cd..adf948935 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -506,7 +506,8 @@ rm_fts (FTS *fts, FTSENT *ent, struct rm_options const *x)
/* When we know (from prompt when in interactive mode)
that this is an empty directory, don't prompt twice. */
s = excise (fts, ent, x, true);
- fts_skip_tree (fts, ent);
+ if (s == RM_OK)
+ fts_skip_tree (fts, ent);
}
I've also adjusted the test slightly to not check for `tail`,
and another few cleanups.
I'll push in your name if you're ok with the above changes.
thanks,
Pádraig