Lines Matching refs:ch
59 uint32_t ch;
64 ch = (bo == BIG_ENDIAN) ? be16toh(*str) : le16toh(*str);
66 if ((ch & 0xf800) == 0xd800) {
73 if ((ch & 0x400) == 0 && (c & 0xfc00) == 0xdc00) {
74 ch = ((ch & 0x3ff) << 10) + (c & 0x3ff);
75 ch += 0x10000;
77 ch = 0xfffd;
78 } else if (ch == 0xfffe) { /* BOM (U+FEFF) swapped. */
81 } else if (ch == 0xfeff) /* BOM (U+FEFF) unswapped. */
85 if (ch < 0x80)
86 sbuf_printf(sb, "%c", ch);
87 else if (ch < 0x800)
88 sbuf_printf(sb, "%c%c", 0xc0 | (ch >> 6),
89 0x80 | (ch & 0x3f));
90 else if (ch < 0x10000)
91 sbuf_printf(sb, "%c%c%c", 0xe0 | (ch >> 12),
92 0x80 | ((ch >> 6) & 0x3f), 0x80 | (ch & 0x3f));
93 else if (ch < 0x200000)
94 sbuf_printf(sb, "%c%c%c%c", 0xf0 | (ch >> 18),
95 0x80 | ((ch >> 12) & 0x3f),
96 0x80 | ((ch >> 6) & 0x3f), 0x80 | (ch & 0x3f));