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: dk4tspdk.ctr
12 */
13
14 /** @file dk4tspdk.c The dk4tspdk module.
15 */
16
17
18
19
20 #include "dk4conf.h"
21 #include <libdk4c/dk4tspdk.h>
22 #include <libdk4base/dk4unused.h>
23
24 #if DK4_HAVE_ASSERT_H
25 #ifndef ASSERT_H_INCLUDED
26 #include <assert.h>
27 #define ASSERT_H_INCLUDED 1
28 #endif
29 #endif
30
31
32 int
dk4tspdk_setup_char(dk4_tspdk_t * tsp,void * obj,dk4_dk_handler_t * fct,int pre,int eie,dk4_er_t * erp)33 dk4tspdk_setup_char(
34 dk4_tspdk_t *tsp,
35 void *obj,
36 dk4_dk_handler_t *fct,
37 #if 1 == DK4_CHAR_SIZE
38 int pre,
39 #else
40 int DK4_ARG_UNUSED(pre),
41 #endif
42 int eie,
43 dk4_er_t *erp
44 )
45 {
46 #if DK4_CHAR_SIZE > 1
47 DK4_UNUSED_ARG(pre)
48 #endif
49 #if DK4_USE_ASSERT
50 assert(NULL != tsp);
51 #endif
52 #if DK4_CHAR_SIZE > 1
53 #if DK4_CHAR_SIZE > 2
54 return (dk4tsp32_setup_char(tsp, obj, fct, eie, erp));
55 #else
56 return (dk4tsp16_setup_char(tsp, obj, fct, eie, erp));
57 #endif
58 #else
59 return (dk4tsp08_setup_char(tsp, obj, fct, pre, eie, erp));
60 #endif
61 }
62
63
64
65 int
dk4tspdk_setup_line(dk4_tspdk_t * tsp,void * obj,dk4_dk_line_handler_t * fct,dkChar * inbuf,size_t szin,int pre,int eie,dk4_er_t * erp)66 dk4tspdk_setup_line(
67 dk4_tspdk_t *tsp,
68 void *obj,
69 dk4_dk_line_handler_t *fct,
70 dkChar *inbuf,
71 size_t szin,
72 #if 1 == DK4_CHAR_SIZE
73 int pre,
74 #else
75 int DK4_ARG_UNUSED(pre),
76 #endif
77 int eie,
78 dk4_er_t *erp
79 )
80 {
81 #if DK4_CHAR_SIZE > 1
82 DK4_UNUSED_ARG(pre)
83 #endif
84 #if DK4_USE_ASSERT
85 assert(NULL != tsp);
86 assert(NULL != inbuf);
87 assert(0 < szin);
88 #endif
89 #if DK4_CHAR_SIZE > 1
90 #if DK4_CHAR_SIZE > 2
91 return (dk4tsp32_setup_line(tsp, obj, fct, inbuf, szin, eie, erp));
92 #else
93 return (dk4tsp16_setup_line(tsp, obj, fct, inbuf, szin, eie, erp));
94 #endif
95 #else
96 return (dk4tsp08_setup_line(tsp, obj, fct, inbuf, szin, pre, eie, erp));
97 #endif
98 }
99
100
101
102 int
dk4tspdk_add_one_byte(dk4_tspdk_t * tsp,unsigned char inbyte)103 dk4tspdk_add_one_byte(
104 dk4_tspdk_t *tsp,
105 unsigned char inbyte
106 )
107 {
108 #if DK4_USE_ASSERT
109 assert(NULL != tsp);
110 #endif
111 #if DK4_CHAR_SIZE > 1
112 #if DK4_CHAR_SIZE > 2
113 return (dk4tsp32_add_one_byte(tsp, inbyte));
114 #else
115 return (dk4tsp16_add_one_byte(tsp, inbyte));
116 #endif
117 #else
118 return (dk4tsp08_add_one_byte(tsp, inbyte));
119 #endif
120 }
121
122
123
124 int
dk4tspdk_add_bytes(dk4_tspdk_t * tsp,const unsigned char * buffer,size_t sz)125 dk4tspdk_add_bytes(
126 dk4_tspdk_t *tsp,
127 const unsigned char *buffer,
128 size_t sz
129 )
130 {
131 #if DK4_USE_ASSERT
132 assert(NULL != tsp);
133 assert(NULL != buffer);
134 assert(0 < sz);
135 #endif
136 #if DK4_CHAR_SIZE > 1
137 #if DK4_CHAR_SIZE > 2
138 return (dk4tsp32_add_bytes(tsp, buffer, sz));
139 #else
140 return (dk4tsp16_add_bytes(tsp, buffer, sz));
141 #endif
142 #else
143 return (dk4tsp08_add_bytes(tsp, buffer, sz));
144 #endif
145 }
146
147
148
149 int
dk4tspdk_finish(dk4_tspdk_t * tsp)150 dk4tspdk_finish(dk4_tspdk_t *tsp)
151 {
152 #if DK4_USE_ASSERT
153 assert(NULL != tsp);
154 #endif
155 #if DK4_CHAR_SIZE > 1
156 #if DK4_CHAR_SIZE > 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
dk4tspdk_get_errors(dk4_er_t * er_en,dk4_er_t * er_pr,dk4_tspdk_t const * tsp)169 dk4tspdk_get_errors(dk4_er_t *er_en, dk4_er_t *er_pr, dk4_tspdk_t const *tsp)
170 {
171 #if DK4_USE_ASSERT
172 assert(NULL != tsp);
173 #endif
174 #if DK4_CHAR_SIZE > 1
175 #if DK4_CHAR_SIZE > 2
176 dk4tsp32_get_errors(er_en, er_pr, tsp);
177 #else
178 dk4tsp16_get_errors(er_en, er_pr, tsp);
179 #endif
180 #else
181 dk4tsp08_get_errors(er_en, er_pr, tsp);
182 #endif
183 }
184
185
186
187 void
dk4tspdk_enable_utf8_pass_through(dk4_tspdk_t * tsp,int fl)188 dk4tspdk_enable_utf8_pass_through(
189 #if 1 == DK4_CHAR_SIZE
190 dk4_tspdk_t *tsp,
191 int fl
192 #else
193 dk4_tspdk_t * DK4_ARG_UNUSED(tsp),
194 int DK4_ARG_UNUSED(fl)
195 #endif
196 )
197 {
198 #if DK4_CHAR_SIZE > 1
199 DK4_UNUSED_ARG(tsp)
200 DK4_UNUSED_ARG(fl)
201 #endif
202 #if DK4_USE_ASSERT
203 assert(NULL != tsp);
204 #endif
205 #if DK4_CHAR_SIZE == 1
206 dk4tsp08_enable_utf8_pass_through(tsp, fl);
207 #endif
208 }
209
210
211