Lines Matching refs:filter

33 static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter);
153 int mbfl_filt_conv_ucs2_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_ucs2_wchar() argument
155 if (filter->status == 0) { in mbfl_filt_conv_ucs2_wchar()
156 filter->status = 1; in mbfl_filt_conv_ucs2_wchar()
157 filter->cache = c & 0xFF; in mbfl_filt_conv_ucs2_wchar()
159 filter->status = 0; in mbfl_filt_conv_ucs2_wchar()
160 int n = (filter->cache << 8) | (c & 0xFF); in mbfl_filt_conv_ucs2_wchar()
163 filter->filter_function = mbfl_filt_conv_ucs2le_wchar; in mbfl_filt_conv_ucs2_wchar()
165 filter->filter_function = mbfl_filt_conv_ucs2be_wchar; in mbfl_filt_conv_ucs2_wchar()
167 CK((*filter->output_function)(n, filter->data)); in mbfl_filt_conv_ucs2_wchar()
174 int mbfl_filt_conv_ucs2be_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_ucs2be_wchar() argument
176 if (filter->status == 0) { in mbfl_filt_conv_ucs2be_wchar()
177 filter->status = 1; in mbfl_filt_conv_ucs2be_wchar()
178 filter->cache = (c & 0xFF) << 8; in mbfl_filt_conv_ucs2be_wchar()
180 filter->status = 0; in mbfl_filt_conv_ucs2be_wchar()
181 CK((*filter->output_function)((c & 0xFF) | filter->cache, filter->data)); in mbfl_filt_conv_ucs2be_wchar()
186 int mbfl_filt_conv_wchar_ucs2be(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_ucs2be() argument
189 CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); in mbfl_filt_conv_wchar_ucs2be()
190 CK((*filter->output_function)(c & 0xFF, filter->data)); in mbfl_filt_conv_wchar_ucs2be()
192 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_ucs2be()
197 int mbfl_filt_conv_ucs2le_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_ucs2le_wchar() argument
199 if (filter->status == 0) { in mbfl_filt_conv_ucs2le_wchar()
200 filter->status = 1; in mbfl_filt_conv_ucs2le_wchar()
201 filter->cache = c & 0xFF; in mbfl_filt_conv_ucs2le_wchar()
203 filter->status = 0; in mbfl_filt_conv_ucs2le_wchar()
204 CK((*filter->output_function)(((c & 0xFF) << 8) | filter->cache, filter->data)); in mbfl_filt_conv_ucs2le_wchar()
209 int mbfl_filt_conv_wchar_ucs2le(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_ucs2le() argument
212 CK((*filter->output_function)(c & 0xFF, filter->data)); in mbfl_filt_conv_wchar_ucs2le()
213 CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); in mbfl_filt_conv_wchar_ucs2le()
215 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_ucs2le()
220 static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_ucs2_wchar_flush() argument
222 if (filter->status) { in mbfl_filt_conv_ucs2_wchar_flush()
224 filter->status = 0; in mbfl_filt_conv_ucs2_wchar_flush()
225 CK((*filter->output_function)(MBFL_BAD_INPUT, filter->data)); in mbfl_filt_conv_ucs2_wchar_flush()
228 if (filter->flush_function) { in mbfl_filt_conv_ucs2_wchar_flush()
229 (*filter->flush_function)(filter->data); in mbfl_filt_conv_ucs2_wchar_flush()