]> diplodocus.org Git - nmh/blobdiff - uip/mhmail
More tests, but not quite there yet.
[nmh] / uip / mhmail
index 2fbedccb61f64855abd03b6c44e79e5b152a9b56..916732d8f502c0f5d68fc9e18d5c415fbdb1adaf 100755 (executable)
@@ -50,6 +50,10 @@ finddir() {
 
 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.
@@ -160,7 +164,8 @@ for arg in "$@"; do
          #### It's not strictly necessary to have one space after
          #### the : that separates the header field name from the
          #### body, but do it to avoid surprising someone.
-         add=`printf %s "$arg" | sed -e 's/:/: /' -e 's/:  /: /'`
+         #### Solaris sed wants the trailing newline in its input.
+         add=`printf '%s\n' "$arg" | sed -e 's/:/: /' -e 's/:  /: /'`
          headerfieldlist="${headerfieldlist:+$headerfieldlist}$add
 "
          headerfieldarg=0
@@ -255,12 +260,12 @@ if [ "$body"x = x ]; then
   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