18 #ifndef MAGICKCORE_DELEGATE_PRIVATE_H
19 #define MAGICKCORE_DELEGATE_PRIVATE_H
21 #include "magick/string_.h"
23 #if defined(MAGICKCORE_GS_DELEGATE)
24 #include "ghostscript/iapi.h"
25 #include "ghostscript/ierrors.h"
30 const char *copyright;
36 #if defined(__cplusplus) || defined(c_plusplus)
40 #ifndef gs_main_instance_DEFINED
41 # define gs_main_instance_DEFINED
42 typedef struct gs_main_instance_s
46 #if !defined(MagickDLLCall)
47 # if defined(MAGICKCORE_WINDOWS_SUPPORT)
48 # define MagickDLLCall __stdcall
50 # define MagickDLLCall
57 (MagickDLLCall *delete_instance)(gs_main_instance *);
60 (MagickDLLCall *exit)(gs_main_instance *);
63 (MagickDLLCall *init_with_args)(gs_main_instance *,int,
char **);
66 (MagickDLLCall *new_instance)(gs_main_instance **,
void *);
69 (MagickDLLCall *run_string)(gs_main_instance *,
const char *,int,
int *);
72 (MagickDLLCall *set_stdio)(gs_main_instance *,int(MagickDLLCall *)(
void *,
73 char *,int),
int(MagickDLLCall *)(
void *,
const char *,int),
74 int(MagickDLLCall *)(
void *,
const char *,int));
80 static inline char *SanitizeDelegateString(
const char *source)
92 #if defined(MAGICKCORE_WINDOWS_SUPPORT)
94 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "
95 "$-_.+!;*(),{}|^~[]`\'><#%/?:@&=";
98 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 "
99 "$-_.+!;*(),{}|\\^~[]`\"><#%/?:@&=";
102 sanitize_source=AcquireString(source);
104 q=sanitize_source+strlen(sanitize_source);
105 for (p+=strspn(p,allowlist); p != q; p+=strspn(p,allowlist))
107 return(sanitize_source);
110 #if defined(__cplusplus) || defined(c_plusplus)