123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #!/bin/rc
- view=no
- stdin=no
- switch($1){
- case -v
- view=yes
- shift
- }
- switch($#*){
- case 0 1
- echo usage: $0 telephone-number recipient [files]
- exit 0
- 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
|