Subject: patch in cygutil/lpr
From: gilles civario <[email-masked]>
To: [email-masked], [email-masked]
Cc: [email-masked], [email-masked]
Date: Thu, 12 Jun 2003 07:24:07 +0200

Hello.

I've found that the new version of lpr provided with cygutils-1.1.4 no longer
works with my PostScript network printer. With the previous version of cygutils
(1.1.3), I had to change the datatype provided to StartDocPrinter from "raw"
to "RAW". This time, the trouble I've encounted wath this one :

$ ./lpr.exe lpr.1
lpr: printer error: StartDocPrinter error: Invalide descriptor
$ uname -a
CYGWIN_NT-5.0 hepatique 1.3.22(0.78/3/2) 2003-03-18 09:20 i686 unknown unknown Cygwin

After some searches, I've found a solution by changing the DesidedAccess of the
PRINTER_DEFAULTS argument in OpenPrinter, from PRINTER_ALL_ACCESS to PRINTER_ACCESS_USE.

$ diff -urN Printer.cc.orig Printer.cc
--- Printer.cc.orig     2003-06-11 05:01:58.000000000 +0200
+++ Printer.cc  2003-06-12 07:10:06.000000000 +0200
@@ -281,7 +281,7 @@

    prDef.pDatatype = "RAW";
    prDef.pDevMode = m_devMode;
-  prDef.DesiredAccess = PRINTER_ALL_ACCESS;
+  prDef.DesiredAccess = PRINTER_ACCESS_USE;

    if (m_devHandle == INVALID_HANDLE_VALUE &&
        !OpenPrinter(tstr(m_devName), &m_devHandle, &prDef))

And now, it works perfectly for me.

Regards.

Gilles Civario.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/