1 /*
2 Copyright (C) 2015-2021, Dirk Krause
3 SPDX-License-Identifier: BSD-3-Clause
4 */
5 
6 /*
7 	WARNING: This file was generated by the dkct program (see
8 	http://dktools.sourceforge.net/ for details).
9 	Changes you make here will be lost if dkct is run again!
10 	You should modify the original source and run dkct on it.
11 	Original source: dk4tspwx.cpt
12 */
13 
14 /**	@file dk4tspwx.cpp The dk4tspwx module.
15 */
16 
17 
18 #include <libdk4wx/dk4tspwx.h>
19 
20 
21 
22 
23 
24 
25 
26 int
dk4tspwx_setup_char(dk4_tspwx_t * tsp,void * obj,dk4_wx_handler_t * fct,int pre,int eie,dk4_er_t * erp)27 dk4tspwx_setup_char(
28   dk4_tspwx_t		*tsp,
29   void			*obj,
30   dk4_wx_handler_t	*fct,
31 #if DK4_SIZEOF_WXCHAR == 1
32   int			 pre,
33 #else
34   int			 WXUNUSED(pre),
35 #endif
36   int			 eie,
37   dk4_er_t		*erp
38 )
39 {
40 #if DK4_SIZEOF_WXCHAR > 1
41 #if DK4_SIZEOF_WXCHAR > 2
42   return (dk4tsp32_setup_char(tsp, obj, fct, eie, erp));
43 #else
44   return (dk4tsp16_setup_char(tsp, obj, fct, eie, erp));
45 #endif
46 #else
47   return (dk4tsp08_setup_char(tsp, obj, fct, pre, eie, erp));
48 #endif
49 }
50 
51 
52 
53 int
dk4tspwx_setup_line(dk4_tspwx_t * tsp,void * obj,dk4_wx_line_handler_t * fct,wxChar * inbuf,size_t szin,int pre,int eie,dk4_er_t * erp)54 dk4tspwx_setup_line(
55   dk4_tspwx_t		*tsp,
56   void			*obj,
57   dk4_wx_line_handler_t	*fct,
58   wxChar		*inbuf,
59   size_t		 szin,
60 #if DK4_SIZEOF_WXCHAR == 1
61   int			 pre,
62 #else
63   int			 WXUNUSED(pre),
64 #endif
65   int			 eie,
66   dk4_er_t		*erp
67 )
68 {
69 #if DK4_SIZEOF_WXCHAR > 1
70 #if DK4_SIZEOF_WXCHAR > 2
71   return (dk4tsp32_setup_line(tsp,obj,fct,(dk4_c32_t *)inbuf,szin,eie,erp));
72 #else
73   return (dk4tsp16_setup_line(tsp,obj,fct,(dk4_c16_t *)inbuf,szin,eie,erp));
74 #endif
75 #else
76   return (dk4tsp08_setup_line(tsp,obj,fct,(char *)inbuf,szin,pre,eie,erp));
77 #endif
78 }
79 
80 
81 
82 void
dk4tspwx_enable_utf8_pass_through(dk4_tspwx_t * tsp,int fl)83 dk4tspwx_enable_utf8_pass_through(
84 #if DK4_SIZEOF_WXCHAR == 1
85   dk4_tspwx_t *tsp, int fl
86 #else
87   dk4_tspwx_t * WXUNUSED(tsp), int WXUNUSED(fl)
88 #endif
89 )
90 {
91 #if DK4_SIZEOF_WXCHAR == 1
92   dk4tsp08_enable_utf8_pass_through(tsp, fl);
93 #endif
94 }
95 
96 
97 
98 #if TRACE_DEBUG
99 static unsigned long byteno = 0UL;
100 #endif
101 
102 
103 int
dk4tspwx_add_one_byte(dk4_tspwx_t * tsp,unsigned char inbyte)104 dk4tspwx_add_one_byte(
105   dk4_tspwx_t	*tsp,
106   unsigned char	 inbyte
107 )
108 {
109 
110 #if DK4_SIZEOF_WXCHAR > 1
111 #if DK4_SIZEOF_WXCHAR > 2
112   return (dk4tsp32_add_one_byte(tsp, inbyte));
113 #else
114   return (dk4tsp16_add_one_byte(tsp, inbyte));
115 #endif
116 #else
117   return (dk4tsp08_add_one_byte(tsp, inbyte));
118 #endif
119 }
120 
121 
122 
123 int
dk4tspwx_add_bytes(dk4_tspwx_t * tsp,const unsigned char * buffer,size_t sz)124 dk4tspwx_add_bytes(
125   dk4_tspwx_t		*tsp,
126   const unsigned char	*buffer,
127   size_t		 sz
128 )
129 {
130 
131 #if TRACE_DEBUG
132   if (NULL != dktrace_file()) {
133     fputc('"', dktrace_file());
134     fwrite(buffer, sizeof(char), sz, dktrace_file());
135     fputc('"', dktrace_file());
136   }
137 #endif
138 
139 #if DK4_SIZEOF_WXCHAR > 1
140 #if DK4_SIZEOF_WXCHAR > 2
141   return (dk4tsp32_add_bytes(tsp, buffer, sz));
142 #else
143   return (dk4tsp16_add_bytes(tsp, buffer, sz));
144 #endif
145 #else
146   return (dk4tsp08_add_bytes(tsp, buffer, sz));
147 #endif
148 }
149 
150 
151 
152 int
dk4tspwx_finish(dk4_tspwx_t * tsp)153 dk4tspwx_finish(dk4_tspwx_t *tsp)
154 {
155 #if DK4_SIZEOF_WXCHAR > 1
156 #if DK4_SIZEOF_WXCHAR > 2
157   return (dk4tsp32_finish(tsp));
158 #else
159   return (dk4tsp16_finish(tsp));
160 #endif
161 #else
162   return (dk4tsp08_finish(tsp));
163 #endif
164 }
165 
166 
167 
168 void
dk4tspwx_get_errors(dk4_er_t * er_en,dk4_er_t * er_pr,dk4_tspwx_t * tsp)169 dk4tspwx_get_errors(dk4_er_t *er_en, dk4_er_t *er_pr, dk4_tspwx_t *tsp)
170 {
171 #if DK4_SIZEOF_WXCHAR > 1
172 #if DK4_SIZEOF_WXCHAR > 2
173   dk4tsp32_get_errors(er_en, er_pr, tsp);
174 #else
175   dk4tsp16_get_errors(er_en, er_pr, tsp);
176 #endif
177 #else
178   dk4tsp08_get_errors(er_en, er_pr, tsp);
179 #endif
180 }
181 
182