/src/imagemagick/MagickCore/delegate-private.h
Line | Count | Source |
1 | | /* |
2 | | Copyright @ 1999 ImageMagick Studio LLC, a non-profit organization |
3 | | dedicated to making software imaging solutions freely available. |
4 | | |
5 | | You may not use this file except in compliance with the License. You may |
6 | | obtain a copy of the License at |
7 | | |
8 | | https://imagemagick.org/license/ |
9 | | |
10 | | Unless required by applicable law or agreed to in writing, software |
11 | | distributed under the License is distributed on an "AS IS" BASIS, |
12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 | | See the License for the specific language governing permissions and |
14 | | limitations under the License. |
15 | | |
16 | | MagickCore delegates private methods. |
17 | | */ |
18 | | #ifndef MAGICKCORE_DELEGATE_PRIVATE_H |
19 | | #define MAGICKCORE_DELEGATE_PRIVATE_H |
20 | | |
21 | | #include "MagickCore/locale_.h" |
22 | | #include "MagickCore/string_.h" |
23 | | |
24 | | #if defined(MAGICKCORE_GS_DELEGATE) |
25 | | #include "ghostscript/iapi.h" |
26 | | #include "ghostscript/ierrors.h" |
27 | | #else |
28 | | typedef struct gsapi_revision_s |
29 | | { |
30 | | const char *product; |
31 | | const char *copyright; |
32 | | long revision; |
33 | | long revisiondate; |
34 | | } gsapi_revision_t; |
35 | | #endif |
36 | | |
37 | | #if defined(__cplusplus) || defined(c_plusplus) |
38 | | extern "C" { |
39 | | #endif |
40 | | |
41 | | #ifndef gs_main_instance_DEFINED |
42 | | # define gs_main_instance_DEFINED |
43 | | typedef struct gs_main_instance_s |
44 | | gs_main_instance; |
45 | | #endif |
46 | | |
47 | | #if !defined(MagickDLLCall) |
48 | | # if defined(MAGICKCORE_WINDOWS_SUPPORT) |
49 | | # define MagickDLLCall __stdcall |
50 | | # else |
51 | | # define MagickDLLCall |
52 | | # endif |
53 | | #endif |
54 | | |
55 | | typedef struct _GhostInfo |
56 | | { |
57 | | void |
58 | | (MagickDLLCall *delete_instance)(gs_main_instance *); |
59 | | |
60 | | int |
61 | | (MagickDLLCall *exit)(gs_main_instance *); |
62 | | |
63 | | int |
64 | | (MagickDLLCall *init_with_args)(gs_main_instance *,int,char **); |
65 | | |
66 | | int |
67 | | (MagickDLLCall *new_instance)(gs_main_instance **,void *); |
68 | | |
69 | | int |
70 | | (MagickDLLCall *run_string)(gs_main_instance *,const char *,int,int *); |
71 | | |
72 | | int |
73 | | (MagickDLLCall* set_arg_encoding)(gs_main_instance*, int); |
74 | | |
75 | | int |
76 | | (MagickDLLCall *set_stdio)(gs_main_instance *,int(MagickDLLCall *)(void *, |
77 | | char *,int),int(MagickDLLCall *)(void *,const char *,int), |
78 | | int(MagickDLLCall *)(void *,const char *,int)); |
79 | | |
80 | | int |
81 | | (MagickDLLCall *revision)(gsapi_revision_t *, int); |
82 | | } GhostInfo; |
83 | | |
84 | | static inline char *SanitizeDelegateString(const char *source) |
85 | 63 | { |
86 | 63 | char |
87 | 63 | *sanitize_source; |
88 | | |
89 | 63 | const char |
90 | 63 | *q; |
91 | | |
92 | 63 | char |
93 | 63 | *p; |
94 | | |
95 | 63 | static char |
96 | | #if defined(MAGICKCORE_WINDOWS_SUPPORT) |
97 | | allowlist[] = |
98 | | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 " |
99 | | "$-_.+!;*(),{}|^~[]`\'><#%/?:@&="; |
100 | | #else |
101 | 63 | allowlist[] = |
102 | 63 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 " |
103 | 63 | "$-_.+!;*(),{}|\\^~[]`\"><#%/?:@&="; |
104 | 63 | #endif |
105 | | |
106 | 63 | sanitize_source=AcquireString(source); |
107 | 63 | p=sanitize_source; |
108 | 63 | q=sanitize_source+strlen(sanitize_source); |
109 | 63 | for (p+=strspn(p,allowlist); p != q; p+=(ptrdiff_t) strspn(p,allowlist)) |
110 | 0 | *p='_'; |
111 | 63 | return(sanitize_source); |
112 | 63 | } Unexecuted instantiation: magick-image.c:SanitizeDelegateString Unexecuted instantiation: animate.c:SanitizeDelegateString Unexecuted instantiation: annotate.c:SanitizeDelegateString Unexecuted instantiation: blob.c:SanitizeDelegateString Unexecuted instantiation: cache.c:SanitizeDelegateString Unexecuted instantiation: color.c:SanitizeDelegateString Unexecuted instantiation: composite.c:SanitizeDelegateString Unexecuted instantiation: configure.c:SanitizeDelegateString Unexecuted instantiation: constitute.c:SanitizeDelegateString delegate.c:SanitizeDelegateString Line | Count | Source | 85 | 63 | { | 86 | 63 | char | 87 | 63 | *sanitize_source; | 88 | | | 89 | 63 | const char | 90 | 63 | *q; | 91 | | | 92 | 63 | char | 93 | 63 | *p; | 94 | | | 95 | 63 | static char | 96 | | #if defined(MAGICKCORE_WINDOWS_SUPPORT) | 97 | | allowlist[] = | 98 | | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 " | 99 | | "$-_.+!;*(),{}|^~[]`\'><#%/?:@&="; | 100 | | #else | 101 | 63 | allowlist[] = | 102 | 63 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 " | 103 | 63 | "$-_.+!;*(),{}|\\^~[]`\"><#%/?:@&="; | 104 | 63 | #endif | 105 | | | 106 | 63 | sanitize_source=AcquireString(source); | 107 | 63 | p=sanitize_source; | 108 | 63 | q=sanitize_source+strlen(sanitize_source); | 109 | 63 | for (p+=strspn(p,allowlist); p != q; p+=(ptrdiff_t) strspn(p,allowlist)) | 110 | 0 | *p='_'; | 111 | 63 | return(sanitize_source); | 112 | 63 | } |
Unexecuted instantiation: display.c:SanitizeDelegateString Unexecuted instantiation: distribute-cache.c:SanitizeDelegateString Unexecuted instantiation: effect.c:SanitizeDelegateString Unexecuted instantiation: exception.c:SanitizeDelegateString Unexecuted instantiation: feature.c:SanitizeDelegateString Unexecuted instantiation: identify.c:SanitizeDelegateString Unexecuted instantiation: image.c:SanitizeDelegateString Unexecuted instantiation: locale.c:SanitizeDelegateString Unexecuted instantiation: log.c:SanitizeDelegateString Unexecuted instantiation: magic.c:SanitizeDelegateString Unexecuted instantiation: magick.c:SanitizeDelegateString Unexecuted instantiation: coder.c:SanitizeDelegateString Unexecuted instantiation: matrix.c:SanitizeDelegateString Unexecuted instantiation: memory.c:SanitizeDelegateString Unexecuted instantiation: mime.c:SanitizeDelegateString Unexecuted instantiation: module.c:SanitizeDelegateString Unexecuted instantiation: montage.c:SanitizeDelegateString Unexecuted instantiation: morphology.c:SanitizeDelegateString Unexecuted instantiation: opencl.c:SanitizeDelegateString Unexecuted instantiation: policy.c:SanitizeDelegateString Unexecuted instantiation: property.c:SanitizeDelegateString Unexecuted instantiation: random.c:SanitizeDelegateString Unexecuted instantiation: resample.c:SanitizeDelegateString Unexecuted instantiation: resize.c:SanitizeDelegateString Unexecuted instantiation: resource.c:SanitizeDelegateString Unexecuted instantiation: semaphore.c:SanitizeDelegateString Unexecuted instantiation: shear.c:SanitizeDelegateString Unexecuted instantiation: string.c:SanitizeDelegateString Unexecuted instantiation: timer.c:SanitizeDelegateString Unexecuted instantiation: token.c:SanitizeDelegateString Unexecuted instantiation: type.c:SanitizeDelegateString Unexecuted instantiation: utility.c:SanitizeDelegateString Unexecuted instantiation: version.c:SanitizeDelegateString Unexecuted instantiation: xml-tree.c:SanitizeDelegateString Unexecuted instantiation: xwindow.c:SanitizeDelegateString Unexecuted instantiation: ashlar.c:SanitizeDelegateString Unexecuted instantiation: cals.c:SanitizeDelegateString Unexecuted instantiation: cut.c:SanitizeDelegateString Unexecuted instantiation: dcm.c:SanitizeDelegateString Unexecuted instantiation: dng.c:SanitizeDelegateString Unexecuted instantiation: histogram.c:SanitizeDelegateString Unexecuted instantiation: icon.c:SanitizeDelegateString Unexecuted instantiation: inline.c:SanitizeDelegateString Unexecuted instantiation: mat.c:SanitizeDelegateString Unexecuted instantiation: ora.c:SanitizeDelegateString Unexecuted instantiation: pdf.c:SanitizeDelegateString Unexecuted instantiation: pes.c:SanitizeDelegateString Unexecuted instantiation: ps.c:SanitizeDelegateString Unexecuted instantiation: pwp.c:SanitizeDelegateString Unexecuted instantiation: screenshot.c:SanitizeDelegateString Unexecuted instantiation: sfw.c:SanitizeDelegateString Unexecuted instantiation: svg.c:SanitizeDelegateString Unexecuted instantiation: url.c:SanitizeDelegateString Unexecuted instantiation: video.c:SanitizeDelegateString Unexecuted instantiation: wpg.c:SanitizeDelegateString Unexecuted instantiation: xps.c:SanitizeDelegateString Unexecuted instantiation: tiff.c:SanitizeDelegateString Unexecuted instantiation: webp.c:SanitizeDelegateString |
113 | | |
114 | | #if defined(MAGICKCORE_WINDOWS_SUPPORT) |
115 | | static inline void FormatSanitizedDelegateOption(char *string, |
116 | | const size_t length,const char *windows_format, |
117 | | const char *magick_unused(non_windows_format),const char *option) |
118 | | { |
119 | | char |
120 | | *sanitized_option; |
121 | | |
122 | | magick_unreferenced(non_windows_format); |
123 | | sanitized_option=SanitizeDelegateString(option); |
124 | | (void) FormatLocaleString(string,length,windows_format,sanitized_option); |
125 | | sanitized_option=DestroyString(sanitized_option); |
126 | | } |
127 | | #else |
128 | | static inline void FormatSanitizedDelegateOption(char *string, |
129 | | const size_t length,const char *magick_unused(windows_format), |
130 | | const char *non_windows_format,const char *option) |
131 | 0 | { |
132 | 0 | char |
133 | 0 | *sanitized_option; |
134 | |
|
135 | 0 | magick_unreferenced(windows_format); |
136 | 0 | sanitized_option=SanitizeDelegateString(option); |
137 | 0 | (void) FormatLocaleString(string,length,non_windows_format,sanitized_option); |
138 | 0 | sanitized_option=DestroyString(sanitized_option); |
139 | 0 | } Unexecuted instantiation: magick-image.c:FormatSanitizedDelegateOption Unexecuted instantiation: animate.c:FormatSanitizedDelegateOption Unexecuted instantiation: annotate.c:FormatSanitizedDelegateOption Unexecuted instantiation: blob.c:FormatSanitizedDelegateOption Unexecuted instantiation: cache.c:FormatSanitizedDelegateOption Unexecuted instantiation: color.c:FormatSanitizedDelegateOption Unexecuted instantiation: composite.c:FormatSanitizedDelegateOption Unexecuted instantiation: configure.c:FormatSanitizedDelegateOption Unexecuted instantiation: constitute.c:FormatSanitizedDelegateOption Unexecuted instantiation: delegate.c:FormatSanitizedDelegateOption Unexecuted instantiation: display.c:FormatSanitizedDelegateOption Unexecuted instantiation: distribute-cache.c:FormatSanitizedDelegateOption Unexecuted instantiation: effect.c:FormatSanitizedDelegateOption Unexecuted instantiation: exception.c:FormatSanitizedDelegateOption Unexecuted instantiation: feature.c:FormatSanitizedDelegateOption Unexecuted instantiation: identify.c:FormatSanitizedDelegateOption Unexecuted instantiation: image.c:FormatSanitizedDelegateOption Unexecuted instantiation: locale.c:FormatSanitizedDelegateOption Unexecuted instantiation: log.c:FormatSanitizedDelegateOption Unexecuted instantiation: magic.c:FormatSanitizedDelegateOption Unexecuted instantiation: magick.c:FormatSanitizedDelegateOption Unexecuted instantiation: coder.c:FormatSanitizedDelegateOption Unexecuted instantiation: matrix.c:FormatSanitizedDelegateOption Unexecuted instantiation: memory.c:FormatSanitizedDelegateOption Unexecuted instantiation: mime.c:FormatSanitizedDelegateOption Unexecuted instantiation: module.c:FormatSanitizedDelegateOption Unexecuted instantiation: montage.c:FormatSanitizedDelegateOption Unexecuted instantiation: morphology.c:FormatSanitizedDelegateOption Unexecuted instantiation: opencl.c:FormatSanitizedDelegateOption Unexecuted instantiation: policy.c:FormatSanitizedDelegateOption Unexecuted instantiation: property.c:FormatSanitizedDelegateOption Unexecuted instantiation: random.c:FormatSanitizedDelegateOption Unexecuted instantiation: resample.c:FormatSanitizedDelegateOption Unexecuted instantiation: resize.c:FormatSanitizedDelegateOption Unexecuted instantiation: resource.c:FormatSanitizedDelegateOption Unexecuted instantiation: semaphore.c:FormatSanitizedDelegateOption Unexecuted instantiation: shear.c:FormatSanitizedDelegateOption Unexecuted instantiation: string.c:FormatSanitizedDelegateOption Unexecuted instantiation: timer.c:FormatSanitizedDelegateOption Unexecuted instantiation: token.c:FormatSanitizedDelegateOption Unexecuted instantiation: type.c:FormatSanitizedDelegateOption Unexecuted instantiation: utility.c:FormatSanitizedDelegateOption Unexecuted instantiation: version.c:FormatSanitizedDelegateOption Unexecuted instantiation: xml-tree.c:FormatSanitizedDelegateOption Unexecuted instantiation: xwindow.c:FormatSanitizedDelegateOption Unexecuted instantiation: ashlar.c:FormatSanitizedDelegateOption Unexecuted instantiation: cals.c:FormatSanitizedDelegateOption Unexecuted instantiation: cut.c:FormatSanitizedDelegateOption Unexecuted instantiation: dcm.c:FormatSanitizedDelegateOption Unexecuted instantiation: dng.c:FormatSanitizedDelegateOption Unexecuted instantiation: histogram.c:FormatSanitizedDelegateOption Unexecuted instantiation: icon.c:FormatSanitizedDelegateOption Unexecuted instantiation: inline.c:FormatSanitizedDelegateOption Unexecuted instantiation: mat.c:FormatSanitizedDelegateOption Unexecuted instantiation: ora.c:FormatSanitizedDelegateOption Unexecuted instantiation: pdf.c:FormatSanitizedDelegateOption Unexecuted instantiation: pes.c:FormatSanitizedDelegateOption Unexecuted instantiation: ps.c:FormatSanitizedDelegateOption Unexecuted instantiation: pwp.c:FormatSanitizedDelegateOption Unexecuted instantiation: screenshot.c:FormatSanitizedDelegateOption Unexecuted instantiation: sfw.c:FormatSanitizedDelegateOption Unexecuted instantiation: svg.c:FormatSanitizedDelegateOption Unexecuted instantiation: url.c:FormatSanitizedDelegateOption Unexecuted instantiation: video.c:FormatSanitizedDelegateOption Unexecuted instantiation: wpg.c:FormatSanitizedDelegateOption Unexecuted instantiation: xps.c:FormatSanitizedDelegateOption Unexecuted instantiation: tiff.c:FormatSanitizedDelegateOption Unexecuted instantiation: webp.c:FormatSanitizedDelegateOption |
140 | | #endif |
141 | | |
142 | | extern MagickPrivate MagickBooleanType |
143 | | DelegateComponentGenesis(void); |
144 | | |
145 | | extern MagickPrivate void |
146 | | DelegateComponentTerminus(void); |
147 | | |
148 | | #if defined(__cplusplus) || defined(c_plusplus) |
149 | | } |
150 | | #endif |
151 | | |
152 | | #endif |