#!/bin/rc # fn sigexit { rm -f $LPSPOOL/$LPDEST/.$pid.* $LPSPOOL/$LPDEST/$pid.* $LPSPOOL/$LPDEST } # if (! test -d $LPSPOOL/$LPDEST) { # mkdir $LPSPOOL/$LPDEST # chmod 777 $LPSPOOL/$LPDEST # } # Process and enqueue files to be printed # take arguments as input files i=0 if (~ $#* 0) *='' for (j in $*) { i= `{echo $i + 1|hoc} # check access to the file so that you know that a failure in the # processing is a drastic error which will cause an exit from lp. if (~ $j '' || test -f $j) { STARTIME=`{date} switch ($j) { case ''; @{bind -b $LPLIB/process /bin; $LPPROC} \ | {echo -d$LPDEST -pnoproc -M$LPMACHID -u$LPUSERID; \ cat;sleep 5} | lpsend.rc $DEST_HOST case *; @{bind -b $LPLIB/process /bin; $LPPROC} <$j \ | {echo -d$LPDEST -pnoproc -M$LPMACHID -u$LPUSERID; \ cat;sleep 5} | lpsend.rc $DEST_HOST } rval=$status ENDTIME=`{date} if (status=$rv) echo $LPMACHID' '$LPUSERID' '0' + 'unknown' '$STARTIME(4)' '$ENDTIME(4) >> $LPLOG if not echo $LPMACHID' '$LPUSERID' '0' - 'unknown' '$STARTIME(4)' '$ENDTIME(4) >> $LPLOG } if not { echo $j cannot be opened >[1=2] } }