summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/rc8
1 files changed, 5 insertions, 3 deletions
diff --git a/etc/rc b/etc/rc
index 360bc86b5434..efa5ecf30cd8 100644
--- a/etc/rc
+++ b/etc/rc
@@ -165,10 +165,12 @@ purgedir() {
for dir
do
(
- cd "$dir" && ls | while read file
+ cd "$dir" && for file in .* *
do
- [ -d "$file" ] && purgedir "$file"
- [ -f "$file" ] && rm -f "$file"
+ [ ."$file" = .. -o ."$file" = ... ] && continue
+ [ -d "$file" -a ! -L "$file" ] &&
+ purgedir "$file"
+ [ -f "$file" ] && rm -f -- "$file"
done
)
done