Lines Matching refs:filter

69 int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter)  in mbfl_filt_conv_utf7imap_wchar()  argument
74 if (filter->status != 0) { /* Modified Base64 */ in mbfl_filt_conv_utf7imap_wchar()
88 if (filter->status == 1) { /* "&-" -> "&" */ in mbfl_filt_conv_utf7imap_wchar()
89 CK((*filter->output_function)(0x26, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
92 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
96 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
98 filter->cache = 0; in mbfl_filt_conv_utf7imap_wchar()
99 filter->status = 0; in mbfl_filt_conv_utf7imap_wchar()
104 switch (filter->status) { in mbfl_filt_conv_utf7imap_wchar()
108 filter->status++; in mbfl_filt_conv_utf7imap_wchar()
110 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
114 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
121 filter->cache |= n << 10; in mbfl_filt_conv_utf7imap_wchar()
122 filter->status = 3; in mbfl_filt_conv_utf7imap_wchar()
125 filter->cache |= n << 4; in mbfl_filt_conv_utf7imap_wchar()
126 filter->status = 4; in mbfl_filt_conv_utf7imap_wchar()
129 s = ((n >> 2) & 0xf) | (filter->cache & 0xffff); in mbfl_filt_conv_utf7imap_wchar()
131 filter->status = 5; in mbfl_filt_conv_utf7imap_wchar()
134 filter->cache = s; in mbfl_filt_conv_utf7imap_wchar()
137 s |= (filter->cache & 0xfff0000) >> 6; in mbfl_filt_conv_utf7imap_wchar()
138 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
140 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
144 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
147 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
148 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
153 filter->cache |= n << 8; in mbfl_filt_conv_utf7imap_wchar()
154 filter->status = 6; in mbfl_filt_conv_utf7imap_wchar()
157 filter->cache |= n << 2; in mbfl_filt_conv_utf7imap_wchar()
158 filter->status = 7; in mbfl_filt_conv_utf7imap_wchar()
161 s = ((n >> 4) & 0x3) | (filter->cache & 0xffff); in mbfl_filt_conv_utf7imap_wchar()
163 filter->status = 8; in mbfl_filt_conv_utf7imap_wchar()
166 filter->cache = s; in mbfl_filt_conv_utf7imap_wchar()
169 s |= (filter->cache & 0xfff0000) >> 6; in mbfl_filt_conv_utf7imap_wchar()
170 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
172 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
176 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
179 filter->cache = n; in mbfl_filt_conv_utf7imap_wchar()
180 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
185 filter->cache |= n << 6; in mbfl_filt_conv_utf7imap_wchar()
186 filter->status = 9; in mbfl_filt_conv_utf7imap_wchar()
189 s = n | (filter->cache & 0xffff); in mbfl_filt_conv_utf7imap_wchar()
190 filter->status = 2; in mbfl_filt_conv_utf7imap_wchar()
193 filter->cache = s; in mbfl_filt_conv_utf7imap_wchar()
196 s |= (filter->cache & 0xfff0000) >> 6; in mbfl_filt_conv_utf7imap_wchar()
197 filter->cache = 0; in mbfl_filt_conv_utf7imap_wchar()
199 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
203 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
206 filter->cache = 0; in mbfl_filt_conv_utf7imap_wchar()
207 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_utf7imap_wchar()
212 filter->status = 0; in mbfl_filt_conv_utf7imap_wchar()
236 int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_utf7imap() argument
249 CK((*filter->filter_function)(s, filter)); in mbfl_filt_conv_wchar_utf7imap()
251 CK((*filter->filter_function)(s, filter)); in mbfl_filt_conv_wchar_utf7imap()
254 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()