Lines Matching +full:8 +full:- +full:ch

3 /*-
4 * SPDX-License-Identifier: BSD-2-Clause
50 /* ----------------------------------------------------------------------
56 char ch[4]; member
63 #define _CEI_TO_EI(_cei_) (&(_cei_)->ei)
64 #define _CEI_TO_STATE(_cei_, _func_) (_cei_)->states.__CONCAT(s_,_func_)
79 psenc->chlen = 0; in _citrus_DECHanyu_init_state()
174 int ch; in _citrus_DECHanyu_mbrtowc_priv() local
184 switch (psenc->chlen) { in _citrus_DECHanyu_mbrtowc_priv()
186 if (n-- < 1) in _citrus_DECHanyu_mbrtowc_priv()
188 ch = *s0++ & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
189 if (is_singlebyte(ch)) { in _citrus_DECHanyu_mbrtowc_priv()
191 *pwc = (wchar_t)ch; in _citrus_DECHanyu_mbrtowc_priv()
192 *nresult = (size_t)((ch == 0) ? 0 : 1); in _citrus_DECHanyu_mbrtowc_priv()
196 if (!is_leadbyte(ch)) in _citrus_DECHanyu_mbrtowc_priv()
198 psenc->ch[psenc->chlen++] = ch; in _citrus_DECHanyu_mbrtowc_priv()
201 ch = psenc->ch[0] & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
202 if (!is_leadbyte(ch)) in _citrus_DECHanyu_mbrtowc_priv()
206 ch = psenc->ch[0] & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
207 if (is_hanyu1(ch)) { in _citrus_DECHanyu_mbrtowc_priv()
208 ch = psenc->ch[1] & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
209 if (is_hanyu2(ch)) { in _citrus_DECHanyu_mbrtowc_priv()
219 switch (psenc->chlen) { in _citrus_DECHanyu_mbrtowc_priv()
221 if (is_hanyu1(ch)) { in _citrus_DECHanyu_mbrtowc_priv()
222 if (n-- < 1) in _citrus_DECHanyu_mbrtowc_priv()
224 ch = *s0++ & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
225 if (!is_hanyu2(ch)) in _citrus_DECHanyu_mbrtowc_priv()
227 psenc->ch[psenc->chlen++] = ch; in _citrus_DECHanyu_mbrtowc_priv()
229 if (n-- < 1) in _citrus_DECHanyu_mbrtowc_priv()
231 ch = *s0++ & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
232 if (!is_leadbyte(ch)) in _citrus_DECHanyu_mbrtowc_priv()
234 psenc->ch[psenc->chlen++] = ch; in _citrus_DECHanyu_mbrtowc_priv()
238 if (n-- < 1) in _citrus_DECHanyu_mbrtowc_priv()
240 ch = *s0++ & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
241 if (!is_leadbyte(ch)) in _citrus_DECHanyu_mbrtowc_priv()
243 psenc->ch[psenc->chlen++] = ch; in _citrus_DECHanyu_mbrtowc_priv()
246 ch = psenc->ch[2] & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
247 if (!is_leadbyte(ch)) in _citrus_DECHanyu_mbrtowc_priv()
250 if (n-- < 1) in _citrus_DECHanyu_mbrtowc_priv()
252 wc |= (wchar_t)(ch << 8); in _citrus_DECHanyu_mbrtowc_priv()
253 ch = *s0++ & 0xFF; in _citrus_DECHanyu_mbrtowc_priv()
254 if (!is_trailbyte(ch)) in _citrus_DECHanyu_mbrtowc_priv()
256 wc |= (wchar_t)ch; in _citrus_DECHanyu_mbrtowc_priv()
259 *nresult = (size_t)(s0 - *s); in _citrus_DECHanyu_mbrtowc_priv()
261 psenc->chlen = 0; in _citrus_DECHanyu_mbrtowc_priv()
266 *nresult = (size_t)-2; in _citrus_DECHanyu_mbrtowc_priv()
271 *nresult = (size_t)-1; in _citrus_DECHanyu_mbrtowc_priv()
281 int ch; in _citrus_DECHanyu_wcrtomb_priv() local
283 if (psenc->chlen != 0) in _citrus_DECHanyu_wcrtomb_priv()
288 ch = wc & 0xFF; in _citrus_DECHanyu_wcrtomb_priv()
293 psenc->ch[psenc->chlen++] = (wc >> 24) & 0xFF; in _citrus_DECHanyu_wcrtomb_priv()
294 psenc->ch[psenc->chlen++] = (wc >> 16) & 0xFF; in _citrus_DECHanyu_wcrtomb_priv()
297 ch = (wc >> 8) & 0xFF; in _citrus_DECHanyu_wcrtomb_priv()
298 if (!is_leadbyte(ch)) in _citrus_DECHanyu_wcrtomb_priv()
300 psenc->ch[psenc->chlen++] = ch; in _citrus_DECHanyu_wcrtomb_priv()
301 ch = wc & 0xFF; in _citrus_DECHanyu_wcrtomb_priv()
302 if (!is_trailbyte(ch)) in _citrus_DECHanyu_wcrtomb_priv()
305 psenc->ch[psenc->chlen++] = ch; in _citrus_DECHanyu_wcrtomb_priv()
306 if (n < psenc->chlen) { in _citrus_DECHanyu_wcrtomb_priv()
307 *nresult = (size_t)-1; in _citrus_DECHanyu_wcrtomb_priv()
310 memcpy(s, psenc->ch, psenc->chlen); in _citrus_DECHanyu_wcrtomb_priv()
311 *nresult = psenc->chlen; in _citrus_DECHanyu_wcrtomb_priv()
312 psenc->chlen = 0; in _citrus_DECHanyu_wcrtomb_priv()
317 *nresult = (size_t)-1; in _citrus_DECHanyu_wcrtomb_priv()
338 if (!is_leadbyte((wc >> 8) & 0xFF) || in _citrus_DECHanyu_stdenc_wctocs()
360 if (!is_94charset(idx >> 8)) in _citrus_DECHanyu_stdenc_cstowc()
382 *rstate = (psenc->chlen == 0) in _citrus_DECHanyu_stdenc_get_state_desc_generic()
388 /* ----------------------------------------------------------------------