summaryrefslogtreecommitdiff
path: root/cups/ppd.c
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-07-24 01:02:46 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-07-24 01:02:46 +0000
commit005dd1eb9e7844f4bf631111847c26c9a4b56df3 (patch)
tree6a5030f2c3c51c88b05f886e7034a3734fb77046 /cups/ppd.c
parent5d6412a9f1d6faef517cc8038f9d3784afef9945 (diff)
downloadcups-005dd1eb9e7844f4bf631111847c26c9a4b56df3.tar.gz
Merge changes from CUPS 1.4svn-r7791.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@886 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'cups/ppd.c')
-rw-r--r--cups/ppd.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/cups/ppd.c b/cups/ppd.c
index 436dd05f2..75db5c5ac 100644
--- a/cups/ppd.c
+++ b/cups/ppd.c
@@ -59,6 +59,7 @@
* Include necessary headers.
*/
+#include "ppd-private.h"
#include "globals.h"
#include "debug.h"
#include <stdlib.h>
@@ -292,6 +293,26 @@ ppdClose(ppd_file_t *ppd) /* I - PPD file record */
cupsArrayDelete(ppd->coptions);
/*
+ * Free constraints...
+ */
+
+ if (ppd->cups_uiconstraints)
+ {
+ _ppd_cups_uiconsts_t *consts; /* Current constraints */
+
+
+ for (consts = (_ppd_cups_uiconsts_t *)cupsArrayFirst(ppd->cups_uiconstraints);
+ consts;
+ consts = (_ppd_cups_uiconsts_t *)cupsArrayNext(ppd->cups_uiconstraints))
+ {
+ free(consts->constraints);
+ free(consts);
+ }
+
+ cupsArrayDelete(ppd->cups_uiconstraints);
+ }
+
+ /*
* Free the whole record...
*/
@@ -1042,6 +1063,9 @@ ppdOpen2(cups_file_t *fp) /* I - File to read from */
sizeof(choice->text));
choice->code = _cupsStrAlloc(string);
+
+ if (custom_option->section == PPD_ORDER_JCL)
+ ppd_decode(choice->code);
}
/*