From: msweet Date: Thu, 24 Apr 2014 15:04:00 +0000 (+0000) Subject: Fix mapping of OutputBin values such as "Tray1" () X-Git-Tag: v2.2b1~656 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d489df6a975007b75ec63f112701cfc15e0ebe32;p=thirdparty%2Fcups.git Fix mapping of OutputBin values such as "Tray1" () git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11832 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/CHANGES-1.7.txt b/CHANGES-1.7.txt index 49544805ad..272a8087b2 100644 --- a/CHANGES-1.7.txt +++ b/CHANGES-1.7.txt @@ -1,6 +1,12 @@ CHANGES-1.7.txt --------------- +CHANGES IN CUPS V1.7.3 + + - Fixed mapping of OutputBin values such as "Tray1" + () + + CHANGES IN CUPS V1.7.2 - Security: The scheduler now blocks URLs containing embedded HTML diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c index 27bce5f891..8b29e04d17 100644 --- a/cups/ppd-cache.c +++ b/cups/ppd-cache.c @@ -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'; diff --git a/cups/testcache.c b/cups/testcache.c index 96f05d7259..2c92dbdc79 100644 --- a/cups/testcache.c +++ b/cups/testcache.c @@ -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); }