Hello maintainer.

I found this problem logged in upstream bug reports: 
http://bugs.linux-foundation.org/show_bug.cgi?id=337

Problem is fixed in new upstream version. I you do not want upgrade to new 
upstream version, I attach small patch, to fix only problem with LPRng in 
current Debian version. This patch is fraction from: 
http://bzr.linuxfoundation.org/loggerhead/openprinting/foomatic/foomatic-filters/revision/219

-- 
Slávek Banko
--- foomatic-filters-4.0-20090509.orig/foomaticrip.c
+++ foomatic-filters-4.0-20090509/foomaticrip.c
@@ -1192,12 +1192,13 @@
         spooler = SPOOLER_LPRNG;
         if ((str = strstr(getenv("PRINTCAP_ENTRY"), "ppd=")))
             str += 4;
-        else if ((str = strstr(getenv("PRINTCAP_ENTRY"), "ppdfile=")));
-        str += 8;
+        else if ((str = strstr(getenv("PRINTCAP_ENTRY"), "ppdfile=")))
+	    str += 8;
         if (str) {
             while (isspace(*str)) str++;
             p = job->ppdfile;
-            while (*str != '\0' && !isspace(*str) && *str != '\n') {
+            while (*str != '\0' && !isspace(*str) && *str != '\n' &&
+		   *str != ':') {
                 if (isprint(*str) && strchr(shellescapes, *str) == NULL)
                     *p++ = *str;
                 str++;
@@ -1306,8 +1307,9 @@
             init_cups(arglist, filelist, job);
             break;
 
-        case SPOOLER_LPD:
         case SPOOLER_LPRNG:
+	    if (job->ppdfile[0] != '\0') break;
+        case SPOOLER_LPD:
         case SPOOLER_GNULPR:
             /* Get PPD file name as the last command line argument */
             if (arglist->last)

Reply via email to