13e12c5d1SDavid du Colombier#!/bin/rc 23e12c5d1SDavid du Colombier# fn sigexit { rm -f $LPSPOOL/$LPDEST/.$pid.* $LPSPOOL/$LPDEST/$pid.* $LPSPOOL/$LPDEST } 3219b2ee8SDavid du Colombierif (! ~ $DEBUG '') flag x + 4219b2ee8SDavid du Colombier 5219b2ee8SDavid du Colombierif (~ $THIS_HOST $DEST_HOST) { 6219b2ee8SDavid du Colombier if (! test -d $LPSPOOL/$LPDEST) { 7219b2ee8SDavid du Colombier mkdir $LPSPOOL/$LPDEST 8*7dd7cddfSDavid du Colombier chmod 777 $LPSPOOL/$LPDEST >[2]/dev/null 9219b2ee8SDavid du Colombier } 10219b2ee8SDavid du Colombier} 113e12c5d1SDavid du Colombier# Process and enqueue files to be printed 123e12c5d1SDavid du Colombier# take arguments as input files 133e12c5d1SDavid du Colombieri=0 143e12c5d1SDavid du Colombierif (~ $#* 0) *='' 153e12c5d1SDavid du Colombierfor (j in $*) { 163e12c5d1SDavid du Colombier i= `{echo $i + 1|hoc} 173e12c5d1SDavid du Colombier 183e12c5d1SDavid du Colombier# check access to the file so that you know that a failure in the 193e12c5d1SDavid du Colombier# processing is a drastic error which will cause an exit from lp. 203e12c5d1SDavid du Colombier 213e12c5d1SDavid du Colombier if (~ $j '' || test -f $j) { 22219b2ee8SDavid du Colombier if (~ $THIS_HOST $DEST_HOST) { 23219b2ee8SDavid du Colombier echo $LPMACHID $LPUSERID $pid.$i 0 > $LPSPOOL/$LPDEST/.$pid.$i^id 24219b2ee8SDavid du Colombier if (~ $j '') @{bind -b $LPLIB/process /bin; $LPPROC} >$LPSPOOL/$LPDEST/.$pid.$i 25219b2ee8SDavid du Colombier if not @{bind -b $LPLIB/process /bin; $LPPROC} <$j >$LPSPOOL/$LPDEST/.$pid.$i 26219b2ee8SDavid du Colombier if (~ $status '') { 27219b2ee8SDavid du Colombier mv $LPSPOOL/$LPDEST/.$pid.$i $LPSPOOL/$LPDEST/$pid.$i 28219b2ee8SDavid du Colombier mv $LPSPOOL/$LPDEST/.$pid.$i^id $LPSPOOL/$LPDEST/$pid.$i^id 29219b2ee8SDavid du Colombier } 30219b2ee8SDavid du Colombier if not { 31219b2ee8SDavid du Colombier rval='preprocessing failed' 32219b2ee8SDavid du Colombier rm -f $LPSPOOL/$LPDEST/.$pid.$i $LPSPOOL/queue/$LPDEST/.$pid.$i^id 33219b2ee8SDavid du Colombier exit $rval 34219b2ee8SDavid du Colombier } 35219b2ee8SDavid du Colombier } 36219b2ee8SDavid du Colombier if not { 373e12c5d1SDavid du Colombier switch ($j) { 38219b2ee8SDavid du Colombier case ''; @{ {echo -d^$LPDEST -pnoproc -M^$LPMACHID -u^$LPUSERID; bind -b $LPLIB/process /bin; $LPPROC} | lpsend.rc $DEST_HOST} 39219b2ee8SDavid du Colombier case *; @{ {echo -d^$LPDEST -pnoproc -M^$LPMACHID -u^$LPUSERID; bind -b $LPLIB/process /bin; $LPPROC} < $j | lpsend.rc $DEST_HOST} 403e12c5d1SDavid du Colombier } 413e12c5d1SDavid du Colombier rval=$status 42219b2ee8SDavid du Colombier } 433e12c5d1SDavid du Colombier } 443e12c5d1SDavid du Colombier if not { 453e12c5d1SDavid du Colombier echo $j cannot be opened >[1=2] 463e12c5d1SDavid du Colombier } 473e12c5d1SDavid du Colombier} 48