diff options
author | Michael R Sweet <michael.r.sweet@gmail.com> | 2019-10-15 17:05:55 -0400 |
---|---|---|
committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2019-10-15 17:05:55 -0400 |
commit | 2a06655e5c1925f09d5a2e38cd073eb1b6f069ad (patch) | |
tree | fb467a31ac959458fa04761e3f1da63b9b94a953 /cups | |
parent | 692b157d0cd1c2a262635868d37f639f3fe9e70d (diff) | |
download | cups-2a06655e5c1925f09d5a2e38cd073eb1b6f069ad.tar.gz |
PPD files containing custom option keywords did not work (Issue #5639)
Diffstat (limited to 'cups')
-rw-r--r-- | cups/ppd.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/cups/ppd.c b/cups/ppd.c index fae19c42e..ff52df2e1 100644 --- a/cups/ppd.c +++ b/cups/ppd.c @@ -1874,9 +1874,9 @@ _ppdOpen( { if (!_cups_strcasecmp(name, "custom") || !_cups_strncasecmp(name, "custom.", 7)) { - pg->ppd_status = PPD_ILLEGAL_OPTION_KEYWORD; - - goto error; + char cname[PPD_MAX_NAME]; /* Rewrite with a leading underscore */ + snprintf(cname, sizeof(cname), "_%s", name); + strlcpy(name, cname, sizeof(name)); } if ((size = ppdPageSize(ppd, name)) == NULL) @@ -1903,9 +1903,9 @@ _ppdOpen( { if (!_cups_strcasecmp(name, "custom") || !_cups_strncasecmp(name, "custom.", 7)) { - pg->ppd_status = PPD_ILLEGAL_OPTION_KEYWORD; - - goto error; + char cname[PPD_MAX_NAME]; /* Rewrite with a leading underscore */ + snprintf(cname, sizeof(cname), "_%s", name); + strlcpy(name, cname, sizeof(name)); } if ((size = ppdPageSize(ppd, name)) == NULL) @@ -1939,9 +1939,9 @@ _ppdOpen( if (!_cups_strcasecmp(name, "custom") || !_cups_strncasecmp(name, "custom.", 7)) { - pg->ppd_status = PPD_ILLEGAL_OPTION_KEYWORD; - - goto error; + char cname[PPD_MAX_NAME]; /* Rewrite with a leading underscore */ + snprintf(cname, sizeof(cname), "_%s", name); + strlcpy(name, cname, sizeof(name)); } if (!strcmp(keyword, "PageSize")) |