Perhaps there are some invisible spaces after some of the backslashes?

    Kees Jan

==============================================
 You are only young once,
      but you can stay immature all your life


> -----Original Message-----
> From: Charlie Root [mailto:[EMAIL PROTECTED]]
> Sent: dinsdag 16 mei 2000 20:39
> To: [EMAIL PROTECTED]
> Subject: smb printer trouble
> 
> 
> I wrote a simple filter to print to an nt print queue through
> the smbclinet. It tests to see if the file is postscript or
> text, and if it is text it sends a control code to tell the 
> printer to do the lf->crlf conversion. 
> 
> My problem is that the '\' escapes in the first line get clobbered.
> for example, if I print this printcap:
> 
> **** begin printcap ****
> lp:\
>       :sh:\
>       :lp=/dev/lpt0:\
>       :sd=/var/spool/output/lpd/lp:\
>       :lf=/var/log/lpd/lpd.log:
> 
> lplaser:\
>       :sh:\
>       :lp=/dev/null:\
>       :if=/root/filters/smb-filter:\
>       :sd=/var/spool/output/lpd/lplaser:\
>       :lf=/var/log/lpd/lpd.log:
> **** end printap ****
> 
> the entire entry for "lp" will be on one line, but the "lplaser"
> entry will print out like it is supposed to.
> 
> I know why it is doing it, however I don't know how to fix it. Any
> help will be appreciated (script is below). 
> 
> Thanks,
> James
> 
> **** begin smb-filter ****
> #!/bin/sh
> ####
> # Input filter to print to a NT print queue, requires smbclient.
> #
> # Author: James Halstead, e-mail: [EMAIL PROTECTED]
> #
> # Read stdin to a temp, make sure to determine the print 
> type, then use
> #   smbclient to print to the nt queue.
> ####
> 
> SERVER=<SERVER NAME>
> PRINTER=cw<PRINTER NAME>
> TEMP=/tmp/smbprint
> 
> TEMP=`mktemp -q $TEMP.XXXXXX`
> 
> read firstline
> first_two=`expr "$firstline" : '\(..\)'`
> 
> if [ "$first_two" != "%!" ]; then
>   printf "\033&k3G" > $TEMP 
> fi
> 
> #lets see, copy the firstline to temp, cat the rest to the temp, 
> # make one ugly command to print the file to the smb printer then
> # rm the temp file.
> 
> echo "$firstline" >> $TEMP && cat >> $TEMP &&\
> /usr/local/bin/smbclient \\\\$SERVER\\$PRINTER -UGUEST -N\
>  -c"print $TEMP" &&\
> rm -f $TEMP >/dev/null && exit 0
> 
> exit 1
> **** end smb-filter ****
> 
> 
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message
> 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to