strict use "" in whatnow2
[mmh] / uip / whatnow2.sh
index a4a2cc5..4e76766 100755 (executable)
@@ -38,7 +38,7 @@ usage()
                exit 0
        fi
        printhelp 1>&2
-       exit $1
+       exit 1
 }
 
 get_editor()
@@ -73,14 +73,9 @@ get_realpath()
 {
        reldir=`dirname "$1"`
        filename=`basename "$1"`
-       cd $reldir
+       cd "$reldir"
        echo "$PWD/$filename"
-       cd -
-}
-
-get_attachmentheader()
-{
-       header=`mhparam 'Attachment-Header'`
+       cd "$OLDPWD"
 }
 
 set_lasteditor()
@@ -97,7 +92,7 @@ create()
        fi
        mhmetafile=$mhdraft.meta
        touch $mhmetafile
-       if [ -z $mheditor ]
+       if [ -z "$mheditor" ]
        then
                get_editor
        fi
@@ -148,29 +143,30 @@ list()
        exec $mhshowproc -file $mhdraft
 }
 
-send()
+sendfunktion()
 {
-       export mhaltmsg=`anno -list -component 'mhaltmsg' $mhmetafile`
-       export mhdist=`anno -list -component 'mhdist' $mhmetafile`
-       export mhuse=`anno -list -component 'mhuse' $mhmetafile`
-       export mhfolder=`anno -list -component 'mhfolder' $mhmetafile`
-       export mhmessages=`anno -list -component 'mhmessages' $mhmetafile`
-       export mhannotate=`anno -list -component 'mhannotate' $mhmetafile`
-       rm -f $mhmetafile
-       exec send "$@" $mhdraft
+       export mhaltmsg=`anno -list -component 'mhaltmsg' "$mhmetafile"`
+       export mhdist=`anno -list -component 'mhdist' "$mhmetafile"`
+       export mhuse=`anno -list -component 'mhuse' "$mhmetafile"`
+       export mhfolder=`anno -list -component 'mhfolder' "$mhmetafile"`
+       export mhmessages=`anno -list -component 'mhmessages' "$mhmetafile"`
+       export mhannotate=`anno -list -component 'mhannotate' "$mhmetafile"`
+       send "$@" "$mhdraft" || exit $?
+       rm -f "$mhmetafile"
+       exit 0
 }
 
 delete()
 {
-       folder -push $draftfolder >/dev/null 2>&1
-       rmm $draftfolder c
+       folder -push "$draftfolder" >/dev/null 2>&1
+       rmm "$draftfolder" c
        folder -pop >/dev/null 2>&1
-       rm $mhmetafile
+       rm "$mhmetafile"
 }
 
 attach()
 {
-       get_attachmentheader
+       header=`mhparam 'Attachment-Header'`
        while [ -n "$1" ]
        do
                if [ ! -f "$1" ]
@@ -183,23 +179,23 @@ attach()
                        exit 1
                fi
                file=`get_realpath "$1"`
-               anno -nodate -append -component $header -text "$file" $mhdraft
+               anno -nodate -append -component "$header" -text "$file" "$mhdraft"
                shift
        done
 }
 
 alist()
 {
-       get_attachmentheader
-       anno -list -number -component $header $mhdraft
+       header=`mhparam 'Attachment-Header'`
+       anno -list -number -component "$header" "$mhdraft"
 }
 
 detach()
 {
-       get_attachmentheader
+       header=`mhparam 'Attachment-Header'`
        while [ -n "$1" ]
        do
-               anno -delete -component $header -number "$1" $mhdraft
+               anno -delete -component "$header" -number "$1" "$mhdraft"
                if [ $? -ne 0 ]
                then
                        echo "can't delet attachment $1" 1>&2
@@ -211,14 +207,14 @@ detach()
 
 display()
 {
-       mhaltmsg=`anno -list -component 'mhaltmsg' $mhmetafile`
+       mhaltmsg=`anno -list -component 'mhaltmsg' "$mhmetafile"`
        get_showproc
-       if [ -n "$mhaltmsg" ]
+       if [ -z "$mhaltmsg" ]
        then
                echo "no altmsg" 1>&2
                exit 1
        fi
-       exec $mhshowproc -file $mhaltmsg
+       exec $mhshowproc -file "$mhaltmsg"
 }
 
 if [ $# -eq 0 ]
@@ -227,32 +223,32 @@ then
        exit
 fi
 
-command=$1
+command="$1"
 shift
 
 draftfolder=`mhparam draftfolder`
 
-mhdraft=`mhpath $draftfolder c 2>/dev/null`
+mhdraft=`mhpath "$draftfolder" c 2>/dev/null`
 if [ -z "$mhdraft" ]
 then
-       case $command in
-       -h*)
+       case "$command" in
+       -h|-he|-hel|-help)
                usage $#
                ;;
-       -V*)
+       -V|-Ve|-Ver|-Vers|-Versi|-Versio|-Version)
                version $#
                ;;
        *)
-               echo "no current message in $draftsfolder" 1>&2
+               echo "no current message in $draftfolder" 1>&2
                usage 1
                ;;
        esac
 fi
-mhmetafile=$mhdraft.meta
-touch $mhmetafile
+mhmetafile="$mhdraft".meta
+touch "$mhmetafile"
 
 
-case $command in
+case "$command" in
 e|ed|edi|edit)
        edit "$@"
        ;;
@@ -261,9 +257,9 @@ l|li|lis|list)
        list
        ;;
 s|se|sen|send)
-       send "$@"
+       sendfunktion "$@"
        ;;
-del|dele|delet)
+del|dele|delet|delete)
        [ $# -eq 0 ] || usage 1
        delete
        ;;
@@ -282,10 +278,10 @@ det|deta|detac|detach)
        detach "$@"
        ;;
 r|re|ref|refi|refil|refile)
-       refile -file $mhdraft "$@"
+       refile -file "$mhdraft" "$@"
        ;;
 w|wh|who|whom)
-       whom "$@" $mhdraft
+       whom "$@" "$mhdraft"
        ;;
 -h|-he|-hel|-help)
        usage $#
@@ -293,4 +289,7 @@ w|wh|who|whom)
 -V|-Ve|-Ver|-Vers|-Versi|-Versio|-Version)
        version $#
        ;;
+*)
+       usage 1
+       ;;
 esac