From: martin f. krafft Date: Thu, 19 May 2011 13:03:50 +0000 (+0200) Subject: fix quoting in getpw X-Git-Url: https://git.madduck.net/etc/zsh.git/commitdiff_plain/3f60dca245acc7782d23e42f081bb4be4a050bbb fix quoting in getpw --- diff --git a/.zsh/func/getpw b/.zsh/func/getpw index 7d93e42..f3f1940 100755 --- a/.zsh/func/getpw +++ b/.zsh/func/getpw @@ -48,9 +48,9 @@ local output gpg --decrypt --batch --quiet "$PWENCFILE" | \ { output=$(while read r i p o; do - case "$r/$i" in - (*${resource}*/${identity:+*${identity}}*) - echo "$r $i $p $o";; + case "$r:l/$i:l" in + (*${resource:l}*/${identity:+*${identity:l}}*) + echo "'$r' '$i' '$p' '$o'";; esac done) } @@ -64,8 +64,8 @@ if (( ${#results} == 1 )); then result=(${(z)${results[1]}}) output="${result[3]}" [[ $incother = 1 ]] && output="$output ${result[4]}" - echo "$output" | eval $dest - [[ $clip = 1 ]] && echo >&2 "match for ${result[2]}@${result[1]} put onto X clipboard." + eval echo "$output" | eval $dest + [[ $clip = 1 ]] && eval echo >&2 "match for ${result[1]}, ID ${result[2]} put onto X clipboard." else if [[ $clip = 1 ]]; then echo >&2 "E: multiple matches, hence not putting onto clipboard; use -p option." @@ -73,7 +73,7 @@ else fi for r in $results; do result=(${(z)r}) - output="${result[2]} ${result[3]}" + output="${result[2]}@${result[1]} ${result[3]}" [[ $incother = 1 ]] && output="$output ${result[4]}" echo "$output" done | eval $dest