5bc9b0c3ca
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.
90 lines
1.8 KiB
Bash
Executable file
90 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
|