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]
|
|
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
|