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