bindir=`finddir $0`
nmhbindir=`cd "$bindir" && pwd`
+case `printf 'OK\n' | tail -n 1 2>&1` in
+ OK) tail='tail -n ' ;;
+ *) tail='tail -' ;;
+esac
#### Checks for missing mandatory arguments.
tolist= ## To: addresses
toarg=0 ## whether currently handling -to
attacharg=0 ## whether currently handling -attach
-attach_send_switch_added=0 ## whether added "-attach Nmh-Attachment" switch
-attachind=Nmh-Attachment ## attachment indicator
+attachind=Attach ## attachment indicator
body= ## contents of the message body
bodyarg=0 ## whether currently handling -body
cclist= ## Cc: addresses
mhmailswitch=1
attacharg=1
use_send=1
- if [ $attach_send_switch_added -eq 0 ]; then
- #### Override any send -attach switch in user's profile.
- postsendargs="${postsendargs:+$postsendargs }-attach $attachind"
- attach_send_switch_added=1
- fi ;;
+ ;;
-b|-bo|-bod|-body) mhmailswitch=1; bodyarg=1 ;;
-c|-cc) mhmailswitch=1; ccarg=1 ;;
-f|-fr|-fro|-from) mhmailswitch=1; fromarg=1 ;;
header="$header$headerfieldlist"
fi
-#### Set up a file to supply as a draft to post/send. And set a
-#### trap to remove it. send moves the file to a backup, so it will
-#### remove that, too.
+#### Set up a file to supply as a draft to post/send. And set a trap
+#### to remove it. send moves the file to a backup and can create a
+#### .orig file, so it will remove them, too.
umask 077
-tmpdir="${MHTMPDIR:-${TMPDIR:-${TMP:-`$nmhbindir/mhpath +`}}}"
+tmpdir="${MHTMPDIR:-${TMPDIR:-`$nmhbindir/mhpath +`}}"
tmpfile="$tmpdir/mhmail$$"
-tmpfilebackup="'$tmpdir'/,mhmail$$ '$tmpdir'/#mhmail$$"
+backup_char=`"$nmhbindir"/mhparam sbackup`
+tmpfilebackup="'$tmpdir'/${backup_char}mhmail$$*"
tmpfileresent=
+trap "rm -f '$tmpfile' $tmpfilebackup ${tmpfileresent:+'$tmpfileresent'}" 0
+
message_file=
if [ $resent -eq 0 ]; then
#### Add blank line after header if not resending.
fi
fi
-trap "rm -f '$tmpfile' $tmpfilebackup ${tmpfileresent:+'$tmpfileresent'}" 0
-
if [ "$body"x = x ]; then
#### First put message header in the file.
printf %s "$header" >"$tmpfile" || exit 2
fi
#### Add trailing newline to body if it doesn't have one.
- if [ `tail -n 1 "$message_file" | wc -l` -ne 1 ]; then
+ if [ `${tail}1 "$message_file" | wc -l` -ne 1 ]; then
printf '\n' >>"$message_file" || exit 2
fi
else
#### Add trailing newline to body if it doesn't have one.
- [ `printf %s "$body" | tail -n 1 | wc -l` -ne 1 ] && body="$body
+ [ `printf %s "$body" | ${tail}1 | wc -l` -ne 1 ] && body="$body
"
if [ "$tmpfileresent" ]; then