summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2023-05-05 09:24:19 +0100
committerKen Sharp <ken.sharp@artifex.com>2023-05-05 09:24:19 +0100
commit95e687807f47e59f1860c4c0ddc65080a354bd0b (patch)
tree6cceb6a3457b9ee058d8d5040d8648c4517299b8
parent3dab3b466b2ed956875386f0675a37448cc5faba (diff)
downloadghostpdl-95e687807f47e59f1860c4c0ddc65080a354bd0b.tar.gz
Ghostscript - split up PDF operator table
Bug #706705 "zpdfops_op_defs[] table overflow" If HAVE_LIBIDN is true then we would have more than 16 operators in the table, which is the maximum (obviously this is not true on the cluster) Split the table up by moving the old PDF interpreter operators into a new table to make it easier to get rid of them in future.
-rw-r--r--psi/int.mak1
-rw-r--r--psi/zpdfops.c13
2 files changed, 10 insertions, 4 deletions
diff --git a/psi/int.mak b/psi/int.mak
index ca78caa1f..d0f73cafe 100644
--- a/psi/int.mak
+++ b/psi/int.mak
@@ -1808,6 +1808,7 @@ zpdfops_=$(PSOBJ)zpdfops.$(OBJ)
$(PSD)pdfops.dev : $(ECHOGS_XE) $(zpdfops_) $(INT_MAK) $(MAKEDIRS)
$(SETMOD) $(PSD)pdfops $(zpdfops_)
$(ADDMOD) $(PSD)pdfops -oper zpdfops
+ $(ADDMOD) $(PSD)pdfops -oper zpdfops_old
$(PSOBJ)zpdfops.$(OBJ) : $(PSSRC)zpdfops.c $(OP) $(MAKEFILE)\
$(ghost_h) $(gsmchunk_h) $(oper_h) \
diff --git a/psi/zpdfops.c b/psi/zpdfops.c
index d4a470886..005a41ab2 100644
--- a/psi/zpdfops.c
+++ b/psi/zpdfops.c
@@ -1742,11 +1742,19 @@ static int zPDFAvailable(i_ctx_t *i_ctx_p)
/* ------ Initialization procedure ------ */
-const op_def zpdfops_op_defs[] =
+const op_def zpdfops_old_op_defs[] =
{
{"0.pdfinkpath", zpdfinkpath},
{"1.pdfFormName", zpdfFormName},
{"3.setscreenphase", zsetscreenphase},
+#ifdef HAVE_LIBIDN
+ {"1.saslprep", zsaslprep},
+#endif
+ op_def_end(0)
+};
+
+const op_def zpdfops_op_defs[] =
+{
{"0.PDFFile", zPDFfile},
{"1.PDFStream", zPDFstream},
{"1.PDFClose", zPDFclose},
@@ -1760,8 +1768,5 @@ const op_def zpdfops_op_defs[] =
{"1.PDFparsePageList", zPDFparsePageList},
{"0.PDFAvailable", zPDFAvailable},
{"2.PDFSetParams", zPDFSetParams},
-#ifdef HAVE_LIBIDN
- {"1.saslprep", zsaslprep},
-#endif
op_def_end(0)
};