plan9fox/rc/bin/psfax
Ori Bernstein 5bc9b0c3ca improve usage messages (thanks henesy)
Fix inconsistencies between programs and their usage
messages,  correct instances where information seems
to be missing or lost. This  includes missing arguments,
making usage consistent with manuals, and so on.
2020-03-10 10:09:34 -07:00

91 lines
1.8 KiB
Bash
Executable file

#!/bin/rc
view=no
stdin=no
switch($1){
case -v
view=yes
shift
}
switch($#*){
case 0 1
echo usage: $0 telephone-number recipient '[files]' >[1=2]
exit usage
case 2
stdin=yes
}
telno=$1
shift
recip=$1
shift
script=/tmp/fax.$pid
header=/tmp/faxh.$pid
user=`{cat /dev/user}
tmp=/tmp/page.$pid
tmpin=/tmp/page.in.$pid
tel=`{grep '\) '$user /lib/tel}
myname=`{echo $tel | sed 's/ \(.*//'}
ext=`{echo $tel | sed 's/.*\) [^ ]* [^ ]* ([^ ]*).*/\1/'}
fn sigint{
#rm -f $tmp.* $tmpin.* $script $header $header.*
exit interrupt
}
# gs insists on reading its standard input, so we read quit.ps to cut it off.
switch($stdin){
case yes
cat > $tmpin
gs -dSAFER '-sDEVICE=dfaxlow' '-sOUTPUTFILE='$tmp'.%.3d' -dNOPAUSE -dQUIET $tmpin quit.ps
case *
gs -dSAFER '-sDEVICE=dfaxlow' '-sOUTPUTFILE='$tmp'.%.3d' -dNOPAUSE -dQUIET $* quit.ps
}
pages=`{echo $tmp.*|wc -w}
# use delimiters that are unlikely to be supplied in arguments
echo -n s∮FAXddd∮ >$script
echo -n `{date} >>$script
echo ∮ >>$script
echo -n s∮FAXFFF∮ >>$script
echo -n $myname >>$script
echo ∮ >>$script
echo -n s∮FAXEEE∮ >>$script
echo -n $user >>$script
echo ∮ >>$script
echo -n s∮FAXVVV∮ >>$script
echo -n $ext >>$script
echo ∮ >>$script
echo -n s∮FAXTTT∮ >>$script
echo -n $recip >>$script
echo ∮ >>$script
echo -n s∮FAXfff∮ >>$script
echo -n $telno >>$script
echo ∮ >>$script
echo -n s∮FAXPPP∮ >>$script
echo -n $pages >>$script
echo ∮ >>$script
sed -f $script /sys/lib/fax/h.ps > $header
gs -dSAFER '-sDEVICE=dfaxlow' '-sOUTPUTFILE='$header'.%.3d' -dNOPAUSE -dQUIET $header quit.ps
files=()
for(i in $header.* $tmp.*){
files=($files -f $i)
}
switch($view){
case no
upas/qer $files /mail/faxoutqueue fax $user $telno < /dev/null
rx fax /sys/lib/fax/faxgoose
case yes
page $header.* $tmp.*
}
#rm -f $tmp.* $header $script $header.* $tmpin