Date: Wed, 17 May 2000 23:28:18 -0400 From: "James Halstead" <halstead@dreamscape.com> To: "Koster, K.J." <K.J.Koster@kpn.com> Cc: <freebsd-hackers@freebsd.org> Subject: Re: smb printer trouble Message-ID: <002f01bfc079$1d0e1060$f2c3d9d1@halste07> References: <59063B5B4D98D311BC0D0001FA7E4522026D753C@l04.research.kpn.com>
next in thread | previous in thread | raw e-mail | index | archive | help
I know it is happening because of the ``read firstline'' command. It is using the standard shell way of continuing a line using the '\' char and applying that to the input. That explains why only the first line is effected. Actually, if there is a way that I can read only the first two chars from the standard input that would solve the problem for nearly all the cases. I only need the first two chars to do my test, then I can leave the rest up to cat. It would be even better if sombody could tell me a way to push chars back on to the stdin stream that way I can completly avoid making a temporary file. Thanks, James (root@jestocost.cosc.morrisville.edu) ----- Original Message ----- From: "Koster, K.J." <K.J.Koster@kpn.com> To: "'Charlie Root'" <root@jestocost.cosc.morrisville.edu> Cc: "'FreeBSD Hackers mailing list'" <freebsd-hackers@FreeBSD.ORG> Sent: Wednesday, May 17, 2000 4:40 AM Subject: RE: smb printer trouble > 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:root@jestocost.cosc.morrisville.edu] > > Sent: dinsdag 16 mei 2000 20:39 > > To: freebsd-hackers@FreeBSD.ORG > > Subject: smb printer trouble > > > > **** begin smb-filter **** > > #!/bin/sh > > #### > > # Input filter to print to a NT print queue, requires smbclient. > > # > > # Author: James Halstead, e-mail: JAHalstead@hotmail.com > > # > > # 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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?002f01bfc079$1d0e1060$f2c3d9d1>