blob: 43e97deb72bfc446f79c0693e7b361cc952c7a8c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/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
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
|