Lines Matching refs:filter

39 static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter);
83 mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_hz_wchar() argument
87 switch (filter->status & 0xf) { in mbfl_filt_conv_hz_wchar()
92 filter->status += 2; in mbfl_filt_conv_hz_wchar()
93 } else if (filter->status == 0x10 && c > 0x20 && c < 0x7f) { /* DBCS first char */ in mbfl_filt_conv_hz_wchar()
94 filter->cache = c; in mbfl_filt_conv_hz_wchar()
95 filter->status += 1; in mbfl_filt_conv_hz_wchar()
97 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_hz_wchar()
101 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_hz_wchar()
107 filter->status &= ~0xf; in mbfl_filt_conv_hz_wchar()
108 c1 = filter->cache; in mbfl_filt_conv_hz_wchar()
121 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_hz_wchar()
123 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_hz_wchar()
128 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_hz_wchar()
135 filter->status = 0x0; in mbfl_filt_conv_hz_wchar()
137 filter->status = 0x10; in mbfl_filt_conv_hz_wchar()
139 filter->status = 0x0; in mbfl_filt_conv_hz_wchar()
140 CK((*filter->output_function)(0x007e, filter->data)); in mbfl_filt_conv_hz_wchar()
145 filter->status = 0; in mbfl_filt_conv_hz_wchar()
156 mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_hz() argument
195 if ((filter->status & 0xff00) != 0) { in mbfl_filt_conv_wchar_hz()
196 CK((*filter->output_function)(0x7e, filter->data)); /* '~' */ in mbfl_filt_conv_wchar_hz()
197 CK((*filter->output_function)(0x7d, filter->data)); /* '}' */ in mbfl_filt_conv_wchar_hz()
199 filter->status = 0; in mbfl_filt_conv_wchar_hz()
201 CK((*filter->output_function)(0x7e, filter->data)); in mbfl_filt_conv_wchar_hz()
203 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_wchar_hz()
205 if ((filter->status & 0xff00) != 0x200) { in mbfl_filt_conv_wchar_hz()
206 CK((*filter->output_function)(0x7e, filter->data)); /* '~' */ in mbfl_filt_conv_wchar_hz()
207 CK((*filter->output_function)(0x7b, filter->data)); /* '{' */ in mbfl_filt_conv_wchar_hz()
209 filter->status = 0x200; in mbfl_filt_conv_wchar_hz()
210 CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); in mbfl_filt_conv_wchar_hz()
211 CK((*filter->output_function)(s & 0x7f, filter->data)); in mbfl_filt_conv_wchar_hz()
214 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_hz()
221 mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_any_hz_flush() argument
224 if ((filter->status & 0xff00) != 0) { in mbfl_filt_conv_any_hz_flush()
225 CK((*filter->output_function)(0x7e, filter->data)); /* ~ */ in mbfl_filt_conv_any_hz_flush()
226 CK((*filter->output_function)(0x7d, filter->data)); /* '{' */ in mbfl_filt_conv_any_hz_flush()
228 filter->status &= 0xff; in mbfl_filt_conv_any_hz_flush()
232 static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) in mbfl_filt_ident_hz() argument
234 switch (filter->status & 0xf) { in mbfl_filt_ident_hz()
239 filter->status += 2; in mbfl_filt_ident_hz()
240 } else if (filter->status == 0x10 && c > 0x20 && c < 0x7f) { /* DBCS first char */ in mbfl_filt_ident_hz()
241 filter->status += 1; in mbfl_filt_ident_hz()
245 filter->flag = 1; /* bad */ in mbfl_filt_ident_hz()
251 filter->status &= ~0xf; in mbfl_filt_ident_hz()
253 filter->flag = 1; in mbfl_filt_ident_hz()
259 filter->status = 0; in mbfl_filt_ident_hz()
261 filter->status = 0x10; in mbfl_filt_ident_hz()
263 filter->status = 0; in mbfl_filt_ident_hz()
265 filter->flag = 1; /* bad */ in mbfl_filt_ident_hz()
266 filter->status &= ~0xf; in mbfl_filt_ident_hz()
271 filter->status = 0; in mbfl_filt_ident_hz()