]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Fix mapping of OutputBin values such as "Tray1" (<rdar://problem/16685606>)
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 24 Apr 2014 15:04:00 +0000 (15:04 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 24 Apr 2014 15:04:00 +0000 (15:04 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11832 a1ca3aef-8c08-0410-bb20-df032aa958be

CHANGES-1.7.txt
cups/ppd-cache.c
cups/testcache.c

index 49544805ad9d07311ab86001a95a4fa1e8407e33..272a8087b2599ccaa056f9b7951f7de34c31d606 100644 (file)
@@ -1,6 +1,12 @@
 CHANGES-1.7.txt
 ---------------
 
+CHANGES IN CUPS V1.7.3
+
+       - Fixed mapping of OutputBin values such as "Tray1"
+         (<rdar://problem/16685606>)
+
+
 CHANGES IN CUPS V1.7.2
 
        - Security: The scheduler now blocks URLs containing embedded HTML
index 27bce5f89145d4abb098edea927d4e3c445c9df3..8b29e04d17109146313b060aa9ad994a41251d6a 100644 (file)
@@ -2703,6 +2703,8 @@ pwg_unppdize_name(const char *ppd,        /* I - PPD keyword */
     if (!_cups_isupper(*ppd) && _cups_isalnum(*ppd) &&
        _cups_isupper(ppd[1]) && ptr < end)
       *ptr++ = '-';
+    else if (!isdigit(*ppd & 255) && isdigit(ppd[1] & 255))
+      *ptr++ = '-';
   }
 
   *ptr = '\0';
index 96f05d7259da43f8d5b193d022c5fb6095ca47a0..2c92dbdc792229bd191514657e021560a2460d68 100644 (file)
@@ -38,7 +38,8 @@ main(int  argc,                               /* I - Number of command-line args */
   _ppd_cache_t         *pc;            /* PPD cache and PWG mapping data */
   int                  num_finishings, /* Number of finishing options */
                        finishings[20]; /* Finishing options */
-
+  ppd_choice_t         *ppd_bin;       /* OutputBin value */
+  const char           *output_bin;    /* output-bin value */
 
   if (argc < 2)
   {
@@ -73,13 +74,20 @@ main(int  argc,                             /* I - Number of command-line args */
 
   num_finishings = _ppdCacheGetFinishingValues(pc, num_options, options, (int)sizeof(finishings) / sizeof(finishings[0]), finishings);
 
-  fputs("finishings=", stdout);
-  for (i = 0; i < num_finishings; i ++)
-    if (i)
-      printf(",%d", finishings[i]);
-    else
-      printf("%d", finishings[i]);
-  fputs("\n", stdout);
+  if (num_finishings > 0)
+  {
+    fputs("finishings=", stdout);
+    for (i = 0; i < num_finishings; i ++)
+      if (i)
+       printf(",%d", finishings[i]);
+      else
+       printf("%d", finishings[i]);
+    fputs("\n", stdout);
+  }
+
+  if ((ppd_bin = ppdFindMarkedChoice(ppd, "OutputBin")) != NULL &&
+      (output_bin = _ppdCacheGetBin(pc, ppd_bin->choice)) != NULL)
+    printf("output-bin=\"%s\"\n", output_bin);
 
   return (0);
 }