Fix uip/whom.c for C89 compatibility
[mmh] / uip / mhsign.sh
index 17b7489..9d6c747 100755 (executable)
@@ -9,7 +9,7 @@
 #              will be removed and any "From " line will be indented for
 #              best compatibility. Enforced for multipart messages.
 
-usage="Usage: mhsign [-encrypt] [-mime] file"
+usage="Usage: mhsign [-encrypt] [-mime] [-Version] [-help] file"
 
 # defaults
 usemime=n
@@ -109,16 +109,18 @@ lookupkeys() {
                return 1
        fi
 
-       whom -ali -tocc -nobcc "$1" | while read i ; do
+       # extract the actual address
+       format='%<{error}%{error}: %{text}%|%(addr{text})%>'
+       addresses=`whom -ali -tocc -nobcc "$1" |sed 's_$_,_'`
+       addresses=`%libdir%/ap -form "=$format" "$addresses"`
+
+       for i in $addresses ; do
                case "$i" in
                '|'*)   echo "Ignoring pipe address" >&2
                        continue ;;
                *@*)    ;;
-               *)      a="$i@`hostname -f`" ;;
+               *)      i="$i@`hostname -f`" ;;
                esac
-               # extract the actual address
-               format='%<{error}%{error}: %{text}%|%(addr{text})%>'
-               i=`%libdir%/ap -form "=$format" "$i"`
                if k=`lookupkeyfile "$i"` ; then
                        KL="$KL $k"
                elif k=`lookupkeyring "$i"` ; then