Lines Matching +full:0 +full:us
77 * slots 0x0080-0x00FF are occuped and must be excluded in _UTF8_init()
82 return (0); in _UTF8_init()
89 return (ps == NULL || ((const _UTF8State *)ps)->want == 0); in _UTF8_mbsinit()
96 _UTF8State *us; in _UTF8_mbrtowc() local
100 us = (_UTF8State *)ps; in _UTF8_mbrtowc()
102 if (us->want < 0 || us->want > 6) { in _UTF8_mbrtowc()
113 if (n == 0) in _UTF8_mbrtowc()
117 if (us->want == 0) { in _UTF8_mbrtowc()
131 if ((ch & 0x80) == 0) { in _UTF8_mbrtowc()
135 return (ch != '\0' ? 1 : 0); in _UTF8_mbrtowc()
137 if ((ch & 0xe0) == 0xc0) { in _UTF8_mbrtowc()
138 mask = 0x1f; in _UTF8_mbrtowc()
140 lbound = 0x80; in _UTF8_mbrtowc()
141 } else if ((ch & 0xf0) == 0xe0) { in _UTF8_mbrtowc()
142 mask = 0x0f; in _UTF8_mbrtowc()
144 lbound = 0x800; in _UTF8_mbrtowc()
145 } else if ((ch & 0xf8) == 0xf0) { in _UTF8_mbrtowc()
146 mask = 0x07; in _UTF8_mbrtowc()
148 lbound = 0x10000; in _UTF8_mbrtowc()
157 want = us->want; in _UTF8_mbrtowc()
158 lbound = us->lbound; in _UTF8_mbrtowc()
165 if (us->want == 0) in _UTF8_mbrtowc()
168 wch = us->ch; in _UTF8_mbrtowc()
170 for (i = (us->want == 0) ? 1 : 0; i < MIN(want, n); i++) { in _UTF8_mbrtowc()
171 if ((*s & 0xc0) != 0x80) { in _UTF8_mbrtowc()
180 wch |= *s++ & 0x3f; in _UTF8_mbrtowc()
184 us->want = want - i; in _UTF8_mbrtowc()
185 us->lbound = lbound; in _UTF8_mbrtowc()
186 us->ch = wch; in _UTF8_mbrtowc()
196 if ((wch >= 0xd800 && wch <= 0xdfff) || wch > 0x10ffff) { in _UTF8_mbrtowc()
205 us->want = 0; in _UTF8_mbrtowc()
206 return (wch == L'\0' ? 0 : want); in _UTF8_mbrtowc()
213 _UTF8State *us; in _UTF8_mbsnrtowcs() local
219 us = (_UTF8State *)ps; in _UTF8_mbsnrtowcs()
222 nchr = 0; in _UTF8_mbsnrtowcs()
230 if (nms > 0 && us->want > 0 && (signed char)*s > 0) { in _UTF8_mbsnrtowcs()
235 if (nms > 0 && (signed char)*s > 0) in _UTF8_mbsnrtowcs()
245 else if (nb == 0 || nb == (size_t)-2) in _UTF8_mbsnrtowcs()
259 if (nms > 0 && len > 0 && us->want > 0 && (signed char)*s > 0) { in _UTF8_mbsnrtowcs()
263 while (len-- > 0) { in _UTF8_mbsnrtowcs()
264 if (nms > 0 && (signed char)*s > 0) { in _UTF8_mbsnrtowcs()
278 } else if (nb == 0) { in _UTF8_mbsnrtowcs()
294 _UTF8State *us; in _UTF8_wcrtomb() local
298 us = (_UTF8State *)ps; in _UTF8_wcrtomb()
300 if (us->want != 0) { in _UTF8_wcrtomb()
315 if ((wc & ~0x7f) == 0) { in _UTF8_wcrtomb()
319 } else if ((wc & ~0x7ff) == 0) { in _UTF8_wcrtomb()
320 lead = 0xc0; in _UTF8_wcrtomb()
322 } else if ((wc & ~0xffff) == 0) { in _UTF8_wcrtomb()
323 if (wc >= 0xd800 && wc <= 0xdfff) { in _UTF8_wcrtomb()
327 lead = 0xe0; in _UTF8_wcrtomb()
329 } else if (wc >= 0 && wc <= 0x10ffff) { in _UTF8_wcrtomb()
330 lead = 0xf0; in _UTF8_wcrtomb()
343 for (i = len - 1; i > 0; i--) { in _UTF8_wcrtomb()
344 s[i] = (wc & 0x3f) | 0x80; in _UTF8_wcrtomb()
347 *s = (wc & 0xff) | lead; in _UTF8_wcrtomb()
356 _UTF8State *us; in _UTF8_wcsnrtombs() local
362 us = (_UTF8State *)ps; in _UTF8_wcsnrtombs()
364 if (us->want != 0) { in _UTF8_wcsnrtombs()
370 nbytes = 0; in _UTF8_wcsnrtombs()
373 while (nwc-- > 0) { in _UTF8_wcsnrtombs()
374 if (0 <= *s && *s < 0x80) in _UTF8_wcsnrtombs()
381 if (*s == L'\0') in _UTF8_wcsnrtombs()
389 while (len > 0 && nwc-- > 0) { in _UTF8_wcsnrtombs()
390 if (0 <= *s && *s < 0x80) { in _UTF8_wcsnrtombs()
413 if (*s == L'\0') { in _UTF8_wcsnrtombs()