From 3f60dca245acc7782d23e42f081bb4be4a050bbb Mon Sep 17 00:00:00 2001
From: "martin f. krafft" <madduck@madduck.net>
Date: Thu, 19 May 2011 15:03:50 +0200
Subject: [PATCH] fix quoting in getpw

---
 .zsh/func/getpw | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

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
-- 
2.39.5