summaryrefslogtreecommitdiff
path: root/psi/iminst.h
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2020-07-30 19:16:13 +0100
committerRobin Watts <Robin.Watts@artifex.com>2020-08-03 18:02:41 +0100
commitbf6884134c244c4766d13c76264fa4372eab4056 (patch)
treeab1af05f3c1ae6b8f76545def0c41770701d71f0 /psi/iminst.h
parent49a4fede913a12a61fd6649898cf5999030f4b69 (diff)
downloadghostpdl-bf6884134c244c4766d13c76264fa4372eab4056.tar.gz
gsapi_set_param improvements.
Allow for a 'parsed' param type; this leverages the functions in gsparaml.c to parse an input string into a param list, coping with dictionaries and arrays. We update those functions to improve behaviour on more exotically formed numbers ("- 0.3e-10" etc), on 'tricksy' inputs (e.g. "<< /Foo (>>) >>" etc) and to cope without relying on whitespace (e.g. "<</Foo/Bar/Baz[1 0]/Fizz<1234>/Bang(A)>>" etc). Update pl_implementation set_param entrypoint so that the language interface itself is based upon param lists, rather than typed params. Update both implementations of gsapi_set_params so that if we are too early in the setup process stuff goes into the list and is held until we have devices/languages to pass it to. Also add a flag to allow for 'more to come' so that we can effectively set multiple params at once.
Diffstat (limited to 'psi/iminst.h')
-rw-r--r--psi/iminst.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/psi/iminst.h b/psi/iminst.h
index 0bab15c4e..042616111 100644
--- a/psi/iminst.h
+++ b/psi/iminst.h
@@ -22,6 +22,7 @@
#include "iref.h"
#include "imain.h"
+#include "gsparam.h"
#ifndef display_callback_DEFINED
# define display_callback_DEFINED
@@ -83,6 +84,9 @@ struct gs_main_instance_s {
i_ctx_t *i_ctx_p; /* current interpreter context state */
char *saved_pages_initial_arg; /* used to defer processing of --saved-pages=begin... */
bool saved_pages_test_mode; /* for regression testing of saved-pages */
+
+ /* Used for gsapi_set_params in the gs (not gpdl) case. */
+ gs_c_param_list *param_list;
};
/*