Lines Matching +full:0 +full:xd800
63 #define _ENDIAN_UNKNOWN 0
73 #define _MODE_UTF32 0x00000001U
74 #define _MODE_FORCE_ENDIAN 0x00000002U
88 #define _ENCODING_IS_STATE_DEPENDENT 0
89 #define _STATE_NEEDS_EXPLICIT_INIT(_ps_) 0
98 memset(s, 0, sizeof(*s)); in _citrus_UTF1632_init_state()
107 wchar_t wc = L'\0'; in _citrus_UTF1632_mbrtowc_priv()
114 *nresult = 0; /* state independent */ in _citrus_UTF1632_mbrtowc_priv()
115 return (0); in _citrus_UTF1632_mbrtowc_priv()
118 result = 0; in _citrus_UTF1632_mbrtowc_priv()
122 needlen = ((ei->mode & _MODE_UTF32) != 0 || chlenbak >= 2) ? 4 : 2; in _citrus_UTF1632_mbrtowc_priv()
125 if (n == 0) in _citrus_UTF1632_mbrtowc_priv()
133 if ((ei->mode & _MODE_UTF32) == 0) { in _citrus_UTF1632_mbrtowc_priv()
135 if (psenc->ch[0] == 0xFE && psenc->ch[1] == 0xFF) { in _citrus_UTF1632_mbrtowc_priv()
137 chlenbak = 0; in _citrus_UTF1632_mbrtowc_priv()
139 } else if (psenc->ch[0] == 0xFF && psenc->ch[1] == 0xFE) { in _citrus_UTF1632_mbrtowc_priv()
141 chlenbak = 0; in _citrus_UTF1632_mbrtowc_priv()
146 if (psenc->ch[0] == 0x00 && psenc->ch[1] == 0x00 && in _citrus_UTF1632_mbrtowc_priv()
147 psenc->ch[2] == 0xFE && psenc->ch[3] == 0xFF) { in _citrus_UTF1632_mbrtowc_priv()
149 chlenbak = 0; in _citrus_UTF1632_mbrtowc_priv()
151 } else if (psenc->ch[0] == 0xFF && psenc->ch[1] == 0xFE && in _citrus_UTF1632_mbrtowc_priv()
152 psenc->ch[2] == 0x00 && psenc->ch[3] == 0x00) { in _citrus_UTF1632_mbrtowc_priv()
154 chlenbak = 0; in _citrus_UTF1632_mbrtowc_priv()
158 endian = ((ei->mode & _MODE_FORCE_ENDIAN) != 0 || in _citrus_UTF1632_mbrtowc_priv()
163 if ((ei->mode & _MODE_UTF32) == 0) { in _citrus_UTF1632_mbrtowc_priv()
168 wc = (psenc->ch[0] | in _citrus_UTF1632_mbrtowc_priv()
173 ((wchar_t)psenc->ch[0] << 8)); in _citrus_UTF1632_mbrtowc_priv()
178 if (wc >= 0xD800 && wc <= 0xDBFF) { in _citrus_UTF1632_mbrtowc_priv()
185 wc -= 0xD800; /* wc : surrogate high (see above) */ in _citrus_UTF1632_mbrtowc_priv()
189 if (psenc->ch[3] < 0xDC || psenc->ch[3] > 0xDF) in _citrus_UTF1632_mbrtowc_priv()
195 if (psenc->ch[2]<0xDC || psenc->ch[2]>0xDF) in _citrus_UTF1632_mbrtowc_priv()
203 wc += 0x10000; in _citrus_UTF1632_mbrtowc_priv()
209 wc = (psenc->ch[0] | in _citrus_UTF1632_mbrtowc_priv()
218 ((wchar_t)psenc->ch[0] << 24)); in _citrus_UTF1632_mbrtowc_priv()
223 if (wc >= 0xD800 && wc <= 0xDFFF) in _citrus_UTF1632_mbrtowc_priv()
229 psenc->chlen = 0; in _citrus_UTF1632_mbrtowc_priv()
233 return (0); in _citrus_UTF1632_mbrtowc_priv()
237 psenc->chlen = 0; in _citrus_UTF1632_mbrtowc_priv()
244 return (0); in _citrus_UTF1632_mbrtowc_priv()
253 0x00, 0x00, 0xFE, 0xFF, in _citrus_UTF1632_wcrtomb_priv()
255 const char *bom = &_bom[0]; in _citrus_UTF1632_wcrtomb_priv()
258 cnt = (size_t)0; in _citrus_UTF1632_wcrtomb_priv()
260 if ((ei->mode & _MODE_FORCE_ENDIAN) == 0) { in _citrus_UTF1632_wcrtomb_priv()
275 wc2 = 0; in _citrus_UTF1632_wcrtomb_priv()
276 if ((ei->mode & _MODE_UTF32)==0) { in _citrus_UTF1632_wcrtomb_priv()
278 if (wc > 0xFFFF) { in _citrus_UTF1632_wcrtomb_priv()
280 if (wc > 0x10FFFF) in _citrus_UTF1632_wcrtomb_priv()
285 wc -= 0x10000; in _citrus_UTF1632_wcrtomb_priv()
286 wc2 = (wc & 0x3FF) | 0xDC00; in _citrus_UTF1632_wcrtomb_priv()
287 wc = (wc>>10) | 0xD800; in _citrus_UTF1632_wcrtomb_priv()
298 s[0] = (wc >>= 8); in _citrus_UTF1632_wcrtomb_priv()
301 s[0] = wc; in _citrus_UTF1632_wcrtomb_priv()
305 if (wc2 != 0) { in _citrus_UTF1632_wcrtomb_priv()
307 wc2 = 0; in _citrus_UTF1632_wcrtomb_priv()
313 if (wc >= 0xD800 && wc <= 0xDFFF) in _citrus_UTF1632_wcrtomb_priv()
323 s[0] = (wc >>= 8); in _citrus_UTF1632_wcrtomb_priv()
326 s[0] = wc; in _citrus_UTF1632_wcrtomb_priv()
335 return (0); in _citrus_UTF1632_wcrtomb_priv()
352 while (lenvar > 0) { in parse_variable()
390 memset((void *)ei, 0, sizeof(*ei)); in _citrus_UTF1632_encoding_module_init()
394 ei->cur_min = ((ei->mode&_MODE_UTF32) == 0) ? 2 : 4; in _citrus_UTF1632_encoding_module_init()
395 ei->cur_max = ((ei->mode&_MODE_UTF32) == 0) ? 6 : 8; in _citrus_UTF1632_encoding_module_init()
403 return (0); in _citrus_UTF1632_encoding_module_init()
419 *csid = 0; in _citrus_UTF1632_stdenc_wctocs()
422 return (0); in _citrus_UTF1632_stdenc_wctocs()
431 if (csid != 0) in _citrus_UTF1632_stdenc_cstowc()
436 return (0); in _citrus_UTF1632_stdenc_cstowc()
445 *rstate = (psenc->chlen == 0) ? _STDENC_SDGEN_INITIAL : in _citrus_UTF1632_stdenc_get_state_desc_generic()
447 return (0); in _citrus_UTF1632_stdenc_get_state_desc_generic()