Lines Matching refs:wc

125 to_str(char *s, wchar_t wc, int bit)
142 *p++ = xdig[(wc >> (bit -= 4)) & 0xF];
148 is_hi_surrogate(wchar_t wc)
151 return (wc >= 0xD800 && wc <= 0xDBFF);
155 is_lo_surrogate(wchar_t wc)
158 return (wc >= 0xDC00 && wc <= 0xDFFF);
171 ucs_to_surrogate(wchar_t wc, wchar_t * __restrict hi, wchar_t * __restrict lo)
174 wc -= 0x10000;
175 *hi = (wc >> 10) + 0xD800;
176 *lo = (wc & 0x3FF) + 0xDC00;
180 is_basic(wchar_t wc)
183 return ((uint32_t)wc <= 0x9F && wc != 0x24 && wc != 0x40 &&
184 wc != 0x60);
194 wchar_t hi, wc;
207 wc = (wchar_t)0;
251 wc = (wc << 4) | num;
261 if (is_hi_surrogate(wc) != 0) {
262 hi = wc;
265 if ((uint32_t)wc <= 0x7F /* XXX */ ||
266 is_lo_surrogate(wc) != 0)
272 if (is_basic(wc) == 0 && (uint32_t)wc <= UCS4_MAX &&
273 is_hi_surrogate(wc) == 0 && is_lo_surrogate(wc) == 0)
278 if (is_lo_surrogate(wc) == 0)
280 wc = surrogate_to_ucs(hi, wc);
287 wc = (wchar_t)ch;
291 *pwc = wc;
292 *nresult = (size_t)((wc == 0) ? 0 : (s0 - *s));
300 char * __restrict s, size_t n, wchar_t wc,
308 if ((ei->mode & MODE_C99) ? is_basic(wc) : (uint32_t)wc <= 0x7F) {
311 psenc->ch[psenc->chlen++] = (char)wc;
312 } else if ((uint32_t)wc <= BMP_MAX) {
315 psenc->chlen = to_str(&psenc->ch[0], wc, UCS2_BIT);
316 } else if ((ei->mode & MODE_C99) == 0 && (uint32_t)wc <= UCS2_MAX) {
319 ucs_to_surrogate(wc, &hi, &lo);
322 } else if ((ei->mode & MODE_C99) && (uint32_t)wc <= UCS4_MAX) {
325 psenc->chlen = to_str(&psenc->ch[0], wc, UCS4_BIT);
344 _csid_t * __restrict csid, _index_t * __restrict idx, wchar_t wc)
348 *idx = (_index_t)wc;
356 wchar_t * __restrict wc, _csid_t csid, _index_t idx)
361 *wc = (wchar_t)idx;