From 7ccdb2a6019cfa0c0c81597d992c71ec3e8c05cf Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Sun, 8 Jan 2023 14:50:04 -0700 Subject: hstow: when unstowing, don't recurse into directories we don't own --- bin/hstow | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bin/hstow') diff --git a/bin/hstow b/bin/hstow index e54587e1..00cf5817 100755 --- a/bin/hstow +++ b/bin/hstow @@ -53,7 +53,7 @@ read_globs_file () { } dir_contents () { - ( cd "$1"; find . ! -name . ! -name "$cchars" 2>/dev/null ) + ( cd "$1"; find . ! -name . ! -name "$cchars" -print -prune ) } fail () { @@ -140,7 +140,8 @@ unstow () { dir_pat=".$(echo $DIR | cut -c$(echo $HOME | wc -m | tr -d ' ')-)/" dirs_pat="$(echo "^($dir_pat$ignores)" | sed -e 's#\.#\\.#g')" - for file in $(find . -type l ! -name . ! -name "$cchars" 2>/dev/null \ + for file in $(find . ! \( -user "$(id -un)" -o -group "$(id -gn)" \) \ + -prune -o -type l ! -name . ! -name "$cchars" -print \ | grep -Ev "$dirs_pat"); do if readlink "$file" | grep -Eq '^(\.\./)*\.STOW/'"$NAME/"; then rm "$file" -- cgit v1.2.3