From f771d062a5406820984bce90ad45d0f783ff96bf Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sun, 26 Mar 2017 20:43:15 +0200 Subject: mcom: use printf instead of echo Fixes #19. --- mcom | 57 +++++++++++++++++++++++++++------------------------------ 1 file changed, 27 insertions(+), 30 deletions(-) (limited to 'mcom') diff --git a/mcom b/mcom index 82920dd..9135621 100755 --- a/mcom +++ b/mcom @@ -14,7 +14,7 @@ msgid() { } msgdate() { - echo -n "Date: " + printf 'Date: ' mdate } @@ -35,59 +35,56 @@ if [ -z "$outbox" ]; then else draft="$(true | mdeliver -v -c -XD "$outbox")" if [ -z "$draft" ]; then - echo "$0: failed to create draft in outbox $outbox." 1>&2 + printf '%s\n' "$0: failed to create draft in outbox $outbox." 1>&2 exit 1 fi - draftmime="$(echo $draft | sed 's,\(.*\)/cur/,\1/tmp/mime-,')" + draftmime="$(printf '%s\n' "$draft" | sed 's,\(.*\)/cur/,\1/tmp/mime-,')" fi { case "$0" in *mcom*) - echo -n "To: " + printf 'To: ' printf '%s\n' "$@" | commajoin - echo "Cc: " - echo "Bcc: " - echo "Subject: " + printf '%s: \n' Cc Bcc Subject from=$(mhdr -h local-mailbox "$MBLAZE/profile") - [ "$from" ] && echo "From: $from" + [ "$from" ] && printf 'From: %s\n' "$from" cat "$MBLAZE/headers" 2>/dev/null msgid msgdate - echo - echo + printf '\n\n' ;; *mrep*) [ "$#" -eq 0 ] && set -- . ng=$(mhdr -h newsgroups "$1") if [ "$ng" ]; then - echo "Newsgroups: $ng" + printf 'Newsgroups: %s\n' "$ng" else to=$(mhdr -h reply-to "$1") [ -z "$to" ] && to=$(mhdr -h from "$1") - echo "To: $to" - echo "Cc: $(mhdr -d -A -h to:cc: "$1" | commajoin)" - echo "Bcc: " + printf 'To: %s\n' "$to" + printf 'Cc: %s\n' "$(mhdr -d -A -h to:cc: "$1" | commajoin)" + printf 'Bcc: \n' fi - echo "Subject: Re: $(mscan -f '%S' "$1")" + printf 'Subject: Re: %s\n' "$(mscan -f '%S' "$1")" from=$(mhdr -h local-mailbox "$MBLAZE/profile") - [ "$from" ] && echo "From: $from" + [ "$from" ] && printf 'From: %s\n' "$from" cat "$MBLAZE/headers" 2>/dev/null mid=$(mhdr -h message-id "$1") if [ "$mid" ]; then - echo -n "References:" + printf 'References: ' { mhdr -h references "$1" - printf "%s\n" "$mid" + printf '%s\n' "$mid" } | reffmt - echo "In-Reply-To: $mid" + printf 'In-Reply-To: %s\n' "$mid" fi msgid msgdate - echo + printf '\n' mquote "$1" - echo + printf '\n' esac if [ -f "$MBLAZE/signature" ]; then @@ -122,11 +119,11 @@ while :; do fi exit 0 else - echo "mcom: $sendmail failed, kept draft $draft" + printf '%s\n' "mcom: $sendmail failed, kept draft $draft" exit 2 fi else - echo "mcom: re-run mmime first." + printf 'mcom: re-run mmime first.\n' c= fi else @@ -139,17 +136,17 @@ while :; do fi exit 0 else - echo "mcom: $sendmail failed, kept draft $draft" + printf '%s\n' "mcom: $sendmail failed, kept draft $draft" exit 2 fi else - echo "mcom: message needs to be MIME-encoded first." + printf '%s\n' "mcom: message needs to be MIME-encoded first." c= fi fi ;; c|cancel) - echo "mcom: cancelled draft $draft" + printf '%s\n' "mcom: cancelled draft $draft" exit 1 ;; m|mime) @@ -158,9 +155,9 @@ while :; do ' msed '/attach/d' $draft for f in $(mhdr -M -h attach $draft); do - echo "#$(file -Lbi $f | sed 's/ //g') $f" + printf '#%s %s\n' "$(file -Lbi $f | sed 's/ //g')" "$f" done - ) | tee /tmp/v | mmime >$draftmime + ) | mmime >$draftmime mshow -t $draftmime c= ;; @@ -174,13 +171,13 @@ while :; do rm -i $draft if ! [ -f $draft ]; then rm -f $draftmime - echo "mcom: deleted draft $draft" + printf '%s\n' "mcom: deleted draft $draft" exit 0 fi c= ;; *) - echo -n "What now? ([s]end, [c]ancel, [d]elete, [e]dit, [m]ime) " + printf 'What now? ([s]end, [c]ancel, [d]elete, [e]dit, [m]ime) ' read -r c ;; esac -- cgit 1.4.1