Lines Matching refs:filter

67 int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter)  in mbfl_filt_conv_utf7imap_wchar()  argument
72 if (filter->status != 0) { /* Modified Base64 */ in mbfl_filt_conv_utf7imap_wchar()
86 if (filter->status == 1) { /* "&-" -> "&" */ in mbfl_filt_conv_utf7imap_wchar()
87 CK((*filter->output_function)(0x26, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
90 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
94 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
96 filter->cache = 0; in mbfl_filt_conv_utf7imap_wchar()
97 filter->status = 0; in mbfl_filt_conv_utf7imap_wchar()
102 switch (filter->status) { in mbfl_filt_conv_utf7imap_wchar()
106 filter->status++; in mbfl_filt_conv_utf7imap_wchar()
108 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
112 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
119 filter->cache |= n << 10; in mbfl_filt_conv_utf7imap_wchar()
120 filter->status = 3; in mbfl_filt_conv_utf7imap_wchar()
123 filter->cache |= n << 4; in mbfl_filt_conv_utf7imap_wchar()
124 filter->status = 4; in mbfl_filt_conv_utf7imap_wchar()
127 s = ((n >> 2) & 0xf) | (filter->cache & 0xffff); in mbfl_filt_conv_utf7imap_wchar()
129 filter->status = 5; in mbfl_filt_conv_utf7imap_wchar()
132 filter->cache = s; in mbfl_filt_conv_utf7imap_wchar()
135 s |= (filter->cache & 0xfff0000) >> 6; in mbfl_filt_conv_utf7imap_wchar()
136 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
138 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
142 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
145 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
146 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
151 filter->cache |= n << 8; in mbfl_filt_conv_utf7imap_wchar()
152 filter->status = 6; in mbfl_filt_conv_utf7imap_wchar()
155 filter->cache |= n << 2; in mbfl_filt_conv_utf7imap_wchar()
156 filter->status = 7; in mbfl_filt_conv_utf7imap_wchar()
159 s = ((n >> 4) & 0x3) | (filter->cache & 0xffff); in mbfl_filt_conv_utf7imap_wchar()
161 filter->status = 8; in mbfl_filt_conv_utf7imap_wchar()
164 filter->cache = s; in mbfl_filt_conv_utf7imap_wchar()
167 s |= (filter->cache & 0xfff0000) >> 6; in mbfl_filt_conv_utf7imap_wchar()
168 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
170 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
174 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
177 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
178 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
183 filter->cache |= n << 6; in mbfl_filt_conv_utf7imap_wchar()
184 filter->status = 9; in mbfl_filt_conv_utf7imap_wchar()
187 s = n | (filter->cache & 0xffff); in mbfl_filt_conv_utf7imap_wchar()
188 filter->status = 2; in mbfl_filt_conv_utf7imap_wchar()
191 filter->cache = s; in mbfl_filt_conv_utf7imap_wchar()
194 s |= (filter->cache & 0xfff0000) >> 6; in mbfl_filt_conv_utf7imap_wchar()
195 filter->cache = 0; in mbfl_filt_conv_utf7imap_wchar()
197 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
201 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
204 filter->cache = 0; in mbfl_filt_conv_utf7imap_wchar()
205 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
210 filter->status = 0; in mbfl_filt_conv_utf7imap_wchar()
234 int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_utf7imap() argument
247 CK((*filter->filter_function)(s, filter)); in mbfl_filt_conv_wchar_utf7imap()
249 CK((*filter->filter_function)(s, filter)); in mbfl_filt_conv_wchar_utf7imap()
252 if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { in mbfl_filt_conv_wchar_utf7imap()
253 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_utf7imap()
258 switch (filter->status) { in mbfl_filt_conv_wchar_utf7imap()
261 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_wchar_utf7imap()
263 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap()
266 CK((*filter->output_function)(0x26, filter->data)); /* '&' */ in mbfl_filt_conv_wchar_utf7imap()
267 filter->status = 1; in mbfl_filt_conv_wchar_utf7imap()
268 filter->cache = c; in mbfl_filt_conv_wchar_utf7imap()
274 s = filter->cache; in mbfl_filt_conv_wchar_utf7imap()
275 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 10) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
276 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 4) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
278 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s << 2) & 0x3c], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
279 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap()
280 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_wchar_utf7imap()
282 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap()
284 filter->status = 0; in mbfl_filt_conv_wchar_utf7imap()
286 filter->status = 2; in mbfl_filt_conv_wchar_utf7imap()
287 filter->cache = ((s & 0xf) << 16) | c; in mbfl_filt_conv_wchar_utf7imap()
292 s = filter->cache; in mbfl_filt_conv_wchar_utf7imap()
293 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 14) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
294 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 8) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
295 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 2) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
297 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s << 4) & 0x30], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
298 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap()
299 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_wchar_utf7imap()
301 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap()
303 filter->status = 0; in mbfl_filt_conv_wchar_utf7imap()
305 filter->status = 3; in mbfl_filt_conv_wchar_utf7imap()
306 filter->cache = ((s & 0x3) << 16) | c; in mbfl_filt_conv_wchar_utf7imap()
311 s = filter->cache; in mbfl_filt_conv_wchar_utf7imap()
312 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 12) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
313 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 6) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
314 CK((*filter->output_function)(mbfl_utf7imap_base64_table[s & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap()
316 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap()
317 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_wchar_utf7imap()
319 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap()
321 filter->status = 0; in mbfl_filt_conv_wchar_utf7imap()
323 filter->status = 1; in mbfl_filt_conv_wchar_utf7imap()
324 filter->cache = c; in mbfl_filt_conv_wchar_utf7imap()
329 filter->status = 0; in mbfl_filt_conv_wchar_utf7imap()
337 int mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_utf7imap_flush() argument
341 status = filter->status; in mbfl_filt_conv_wchar_utf7imap_flush()
342 cache = filter->cache; in mbfl_filt_conv_wchar_utf7imap_flush()
343 filter->status = 0; in mbfl_filt_conv_wchar_utf7imap_flush()
344 filter->cache = 0; in mbfl_filt_conv_wchar_utf7imap_flush()
348 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 10) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
349 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 4) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
350 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache << 2) & 0x3c], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
351 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap_flush()
355 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 14) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
356 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 8) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
357 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 2) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
358 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache << 4) & 0x30], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
359 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap_flush()
363 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 12) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
364 CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 6) & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
365 CK((*filter->output_function)(mbfl_utf7imap_base64_table[cache & 0x3f], filter->data)); in mbfl_filt_conv_wchar_utf7imap_flush()
366 CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ in mbfl_filt_conv_wchar_utf7imap_flush()