]> git.madduck.net Git - etc/zsh.git/blobdiff - .zsh/func/getpw

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

fix quoting in getpw
[etc/zsh.git] / .zsh / func / getpw
index 7d93e429c6c0082dc3bbd29dc446563b86630cb2..f3f19403e038fe3900e14d8484d8c49e5782a008 100755 (executable)
@@ -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