Lines Matching refs:c

37 int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter);
98 int mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter) in mbfl_filt_put_invalid_char() argument
101 w = c & MBFL_WCSGROUP_MASK; in mbfl_filt_put_invalid_char()
113 int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_utf8_wchar() argument
120 if (c < 0x80) { in mbfl_filt_conv_utf8_wchar()
121 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_utf8_wchar()
122 } else if (c >= 0xc2 && c <= 0xdf) { /* 2byte code first char: 0xc2-0xdf */ in mbfl_filt_conv_utf8_wchar()
124 filter->cache = c & 0x1f; in mbfl_filt_conv_utf8_wchar()
125 } else if (c >= 0xe0 && c <= 0xef) { /* 3byte code first char: 0xe0-0xef */ in mbfl_filt_conv_utf8_wchar()
127 filter->cache = c & 0xf; in mbfl_filt_conv_utf8_wchar()
128 } else if (c >= 0xf0 && c <= 0xf4) { /* 3byte code first char: 0xf0-0xf4 */ in mbfl_filt_conv_utf8_wchar()
130 filter->cache = c & 0x7; in mbfl_filt_conv_utf8_wchar()
132 CK(mbfl_filt_put_invalid_char(c, filter)); in mbfl_filt_conv_utf8_wchar()
139 if (c >= 0x80 && c <= 0xbf) { in mbfl_filt_conv_utf8_wchar()
140 s = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
149 s = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
152 if ((c >= 0x80 && c <= 0xbf) && in mbfl_filt_conv_utf8_wchar()
153 ((c1 == 0x0 && c >= 0xa0) || in mbfl_filt_conv_utf8_wchar()
154 (c1 == 0xd && c < 0xa0) || in mbfl_filt_conv_utf8_wchar()
164 s = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
167 if ((c >= 0x80 && c <= 0xbf) && in mbfl_filt_conv_utf8_wchar()
168 ((c1 == 0x0 && c >= 0x90) || in mbfl_filt_conv_utf8_wchar()
169 (c1 == 0x4 && c < 0x90) || in mbfl_filt_conv_utf8_wchar()
179 if (c >= 0x80 && c <= 0xbf) { in mbfl_filt_conv_utf8_wchar()
180 filter->cache = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
192 return c; in mbfl_filt_conv_utf8_wchar()
218 int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_utf8() argument
220 if (c >= 0 && c < 0x110000) { in mbfl_filt_conv_wchar_utf8()
221 if (c < 0x80) { in mbfl_filt_conv_wchar_utf8()
222 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_wchar_utf8()
223 } else if (c < 0x800) { in mbfl_filt_conv_wchar_utf8()
224 CK((*filter->output_function)(((c >> 6) & 0x1f) | 0xc0, filter->data)); in mbfl_filt_conv_wchar_utf8()
225 CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
226 } else if (c < 0x10000) { in mbfl_filt_conv_wchar_utf8()
227 CK((*filter->output_function)(((c >> 12) & 0x0f) | 0xe0, filter->data)); in mbfl_filt_conv_wchar_utf8()
228 CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
229 CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
231 CK((*filter->output_function)(((c >> 18) & 0x07) | 0xf0, filter->data)); in mbfl_filt_conv_wchar_utf8()
232 CK((*filter->output_function)(((c >> 12) & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
233 CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
234 CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
237 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_utf8()
240 return c; in mbfl_filt_conv_wchar_utf8()
243 int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) in mbfl_filt_ident_utf8() argument
250 if (c < 0x80) { in mbfl_filt_ident_utf8()
251 if (c < 0) { in mbfl_filt_ident_utf8()
257 } else if (c < 0xc0) { in mbfl_filt_ident_utf8()
260 if ((c1 == 0x0 && c >= 0xa0) || in mbfl_filt_ident_utf8()
261 (c1 == 0xd && c < 0xa0) || in mbfl_filt_ident_utf8()
270 if ((c1 == 0x0 && c >= 0x90) || in mbfl_filt_ident_utf8()
272 (c1 == 0x4 && c < 0x90)) { in mbfl_filt_ident_utf8()
292 } else if (c < 0xc2) { /* 0xc0,0xc1 */ in mbfl_filt_ident_utf8()
300 if (c < 0xe0) { /* 2 byte code first char */ in mbfl_filt_ident_utf8()
302 } else if (c < 0xf0) { /* 3 byte code 1st char */ in mbfl_filt_ident_utf8()
304 filter->status |= (c & 0xf) << 8; in mbfl_filt_ident_utf8()
305 } else if (c < 0xf5) { /* 4 byte code 1st char */ in mbfl_filt_ident_utf8()
307 filter->status |= (c & 0x7) << 8; in mbfl_filt_ident_utf8()
313 return c; in mbfl_filt_ident_utf8()