Lines Matching refs:psenc
81 _ZWState * __restrict psenc) in _citrus_ZW_init_state() argument
84 psenc->chlen = 0; in _citrus_ZW_init_state()
85 psenc->charset = NONE; in _citrus_ZW_init_state()
92 void *__restrict pspriv, const _ZWState * __restrict psenc)
95 memcpy(pspriv, (const void *)psenc, sizeof(*psenc));
101 _ZWState * __restrict psenc, const void * __restrict pspriv)
104 memcpy((void *)psenc, pspriv, sizeof(*psenc));
111 _ZWState * __restrict psenc, size_t * __restrict nresult) in _citrus_ZW_mbrtowc_priv() argument
118 _citrus_ZW_init_state(ei, psenc); in _citrus_ZW_mbrtowc_priv()
135 psenc->ch[psenc->chlen++] = ch; \ in _citrus_ZW_mbrtowc_priv()
139 switch (psenc->charset) { in _citrus_ZW_mbrtowc_priv()
141 switch (psenc->chlen) { in _citrus_ZW_mbrtowc_priv()
144 switch (psenc->ch[0]) { in _citrus_ZW_mbrtowc_priv()
146 psenc->charset = NONE; in _citrus_ZW_mbrtowc_priv()
154 ch = (unsigned char)psenc->ch[0]; in _citrus_ZW_mbrtowc_priv()
158 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
161 if (psenc->chlen != 0) in _citrus_ZW_mbrtowc_priv()
164 ch = (unsigned char)psenc->ch[0]; in _citrus_ZW_mbrtowc_priv()
167 psenc->charset = ASCII; in _citrus_ZW_mbrtowc_priv()
169 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
172 psenc->charset = AMBIGIOUS; in _citrus_ZW_mbrtowc_priv()
173 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
176 if (psenc->chlen != 0) in _citrus_ZW_mbrtowc_priv()
179 if (psenc->ch[0] != 'W') { in _citrus_ZW_mbrtowc_priv()
180 psenc->charset = ASCII; in _citrus_ZW_mbrtowc_priv()
184 psenc->charset = GB2312; in _citrus_ZW_mbrtowc_priv()
185 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
188 switch (psenc->chlen) { in _citrus_ZW_mbrtowc_priv()
191 ch = (unsigned char)psenc->ch[0]; in _citrus_ZW_mbrtowc_priv()
193 psenc->charset = NONE; in _citrus_ZW_mbrtowc_priv()
195 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
198 psenc->charset = NONE; in _citrus_ZW_mbrtowc_priv()
199 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
205 if (psenc->ch[0] == ' ') { in _citrus_ZW_mbrtowc_priv()
206 ch = (unsigned char)psenc->ch[1]; in _citrus_ZW_mbrtowc_priv()
208 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
210 } else if (psenc->ch[0] == '#') { in _citrus_ZW_mbrtowc_priv()
211 ch = (unsigned char)psenc->ch[1]; in _citrus_ZW_mbrtowc_priv()
213 psenc->charset = NONE; in _citrus_ZW_mbrtowc_priv()
215 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
219 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
223 ch = (unsigned char)psenc->ch[0]; in _citrus_ZW_mbrtowc_priv()
227 ch = (unsigned char)psenc->ch[1]; in _citrus_ZW_mbrtowc_priv()
234 psenc->chlen = 0; in _citrus_ZW_mbrtowc_priv()
256 _ZWState * __restrict psenc, size_t * __restrict nresult) in _citrus_ZW_wcrtomb_priv() argument
260 if (psenc->chlen != 0) in _citrus_ZW_wcrtomb_priv()
264 switch (psenc->charset) { in _citrus_ZW_wcrtomb_priv()
267 psenc->ch[psenc->chlen++] = ch; in _citrus_ZW_wcrtomb_priv()
272 psenc->ch[psenc->chlen++] = 'z'; in _citrus_ZW_wcrtomb_priv()
273 psenc->ch[psenc->chlen++] = 'W'; in _citrus_ZW_wcrtomb_priv()
274 psenc->ch[psenc->chlen++] = ' '; in _citrus_ZW_wcrtomb_priv()
275 psenc->ch[psenc->chlen++] = ch; in _citrus_ZW_wcrtomb_priv()
276 psenc->charset = GB2312; in _citrus_ZW_wcrtomb_priv()
284 psenc->ch[psenc->chlen++] = '\n'; in _citrus_ZW_wcrtomb_priv()
285 psenc->ch[psenc->chlen++] = '\0'; in _citrus_ZW_wcrtomb_priv()
286 psenc->charset = NONE; in _citrus_ZW_wcrtomb_priv()
288 psenc->ch[psenc->chlen++] = '#'; in _citrus_ZW_wcrtomb_priv()
289 psenc->ch[psenc->chlen++] = '\n'; in _citrus_ZW_wcrtomb_priv()
290 psenc->charset = NONE; in _citrus_ZW_wcrtomb_priv()
292 psenc->ch[psenc->chlen++] = ' '; in _citrus_ZW_wcrtomb_priv()
293 psenc->ch[psenc->chlen++] = ch; in _citrus_ZW_wcrtomb_priv()
300 switch (psenc->charset) { in _citrus_ZW_wcrtomb_priv()
305 psenc->ch[psenc->chlen++] = 'z'; in _citrus_ZW_wcrtomb_priv()
306 psenc->ch[psenc->chlen++] = 'W'; in _citrus_ZW_wcrtomb_priv()
307 psenc->charset = GB2312; in _citrus_ZW_wcrtomb_priv()
316 psenc->ch[psenc->chlen++] = ch; in _citrus_ZW_wcrtomb_priv()
320 psenc->ch[psenc->chlen++] = ch; in _citrus_ZW_wcrtomb_priv()
330 memcpy(s, psenc->ch, psenc->chlen); in _citrus_ZW_wcrtomb_priv()
331 *nresult = psenc->chlen; in _citrus_ZW_wcrtomb_priv()
332 psenc->chlen = 0; in _citrus_ZW_wcrtomb_priv()
340 char * __restrict s, size_t n, _ZWState * __restrict psenc, in _citrus_ZW_put_state_reset() argument
344 if (psenc->chlen != 0) in _citrus_ZW_put_state_reset()
346 switch (psenc->charset) { in _citrus_ZW_put_state_reset()
350 psenc->ch[psenc->chlen++] = '\n'; in _citrus_ZW_put_state_reset()
351 psenc->charset = NONE; in _citrus_ZW_put_state_reset()
354 *nresult = psenc->chlen; in _citrus_ZW_put_state_reset()
355 if (psenc->chlen > 0) { in _citrus_ZW_put_state_reset()
356 memcpy(s, psenc->ch, psenc->chlen); in _citrus_ZW_put_state_reset()
357 psenc->chlen = 0; in _citrus_ZW_put_state_reset()
370 _ZWState * __restrict psenc, int * __restrict rstate) in _citrus_ZW_stdenc_get_state_desc_generic() argument
373 switch (psenc->charset) { in _citrus_ZW_stdenc_get_state_desc_generic()
375 if (psenc->chlen != 0) in _citrus_ZW_stdenc_get_state_desc_generic()
380 if (psenc->chlen != 0) in _citrus_ZW_stdenc_get_state_desc_generic()
386 switch (psenc->chlen) { in _citrus_ZW_stdenc_get_state_desc_generic()
391 *rstate = (psenc->ch[0] == '#') ? in _citrus_ZW_stdenc_get_state_desc_generic()