Lines Matching refs:filter

93 int mbfl_filt_put_invalid_char(mbfl_convert_filter *filter)  in mbfl_filt_put_invalid_char()  argument
95 filter->status = filter->cache = 0; in mbfl_filt_put_invalid_char()
96 CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); in mbfl_filt_put_invalid_char()
100 int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_utf8_wchar() argument
105 switch (filter->status) { in mbfl_filt_conv_utf8_wchar()
108 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_utf8_wchar()
110 filter->status = 0x10; in mbfl_filt_conv_utf8_wchar()
111 filter->cache = c & 0x1f; in mbfl_filt_conv_utf8_wchar()
113 filter->status = 0x20; in mbfl_filt_conv_utf8_wchar()
114 filter->cache = c & 0xf; in mbfl_filt_conv_utf8_wchar()
116 filter->status = 0x30; in mbfl_filt_conv_utf8_wchar()
117 filter->cache = c & 0x7; in mbfl_filt_conv_utf8_wchar()
119 CK(mbfl_filt_put_invalid_char(filter)); in mbfl_filt_conv_utf8_wchar()
126 s = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
127 filter->status = filter->cache = 0; in mbfl_filt_conv_utf8_wchar()
128 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf8_wchar()
130 CK(mbfl_filt_put_invalid_char(filter)); in mbfl_filt_conv_utf8_wchar()
135 s = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
136 c1 = filter->cache & 0xf; in mbfl_filt_conv_utf8_wchar()
142 filter->cache = s; in mbfl_filt_conv_utf8_wchar()
143 filter->status++; in mbfl_filt_conv_utf8_wchar()
145 CK(mbfl_filt_put_invalid_char(filter)); in mbfl_filt_conv_utf8_wchar()
150 s = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
151 c1 = filter->cache & 0x7; in mbfl_filt_conv_utf8_wchar()
157 filter->cache = s; in mbfl_filt_conv_utf8_wchar()
158 filter->status++; in mbfl_filt_conv_utf8_wchar()
160 CK(mbfl_filt_put_invalid_char(filter)); in mbfl_filt_conv_utf8_wchar()
166 filter->cache = (filter->cache<<6) | (c & 0x3f); in mbfl_filt_conv_utf8_wchar()
167 filter->status++; in mbfl_filt_conv_utf8_wchar()
169 CK(mbfl_filt_put_invalid_char(filter)); in mbfl_filt_conv_utf8_wchar()
180 int mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_utf8_wchar_flush() argument
182 if (filter->status) { in mbfl_filt_conv_utf8_wchar_flush()
183 (*filter->output_function)(MBFL_BAD_INPUT, filter->data); in mbfl_filt_conv_utf8_wchar_flush()
184 filter->status = 0; in mbfl_filt_conv_utf8_wchar_flush()
187 if (filter->flush_function) { in mbfl_filt_conv_utf8_wchar_flush()
188 (*filter->flush_function)(filter->data); in mbfl_filt_conv_utf8_wchar_flush()
194 int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_utf8() argument
198 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_wchar_utf8()
200 CK((*filter->output_function)(((c >> 6) & 0x1f) | 0xc0, filter->data)); in mbfl_filt_conv_wchar_utf8()
201 CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
203 CK((*filter->output_function)(((c >> 12) & 0x0f) | 0xe0, filter->data)); in mbfl_filt_conv_wchar_utf8()
204 CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
205 CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
207 CK((*filter->output_function)(((c >> 18) & 0x07) | 0xf0, filter->data)); in mbfl_filt_conv_wchar_utf8()
208 CK((*filter->output_function)(((c >> 12) & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
209 CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
210 CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); in mbfl_filt_conv_wchar_utf8()
213 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_utf8()