Lines Matching refs:filter

125 	mbfl_convert_filter *filter,  in mbfl_convert_filter_common_init()  argument
134 filter->from = from; in mbfl_convert_filter_common_init()
135 filter->to = to; in mbfl_convert_filter_common_init()
138 filter->output_function = output_function; in mbfl_convert_filter_common_init()
140 filter->output_function = mbfl_filter_output_null; in mbfl_convert_filter_common_init()
143 filter->flush_function = flush_function; in mbfl_convert_filter_common_init()
144 filter->data = data; in mbfl_convert_filter_common_init()
145 filter->illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; in mbfl_convert_filter_common_init()
146 filter->illegal_substchar = 0x3f; /* '?' */ in mbfl_convert_filter_common_init()
147 filter->num_illegalchar = 0; in mbfl_convert_filter_common_init()
148 filter->filter_ctor = vtbl->filter_ctor; in mbfl_convert_filter_common_init()
149 filter->filter_dtor = vtbl->filter_dtor; in mbfl_convert_filter_common_init()
150 filter->filter_function = vtbl->filter_function; in mbfl_convert_filter_common_init()
151 filter->filter_flush = vtbl->filter_flush; in mbfl_convert_filter_common_init()
152 filter->filter_copy = vtbl->filter_copy; in mbfl_convert_filter_common_init()
154 (*filter->filter_ctor)(filter); in mbfl_convert_filter_common_init()
168 mbfl_convert_filter * filter; in mbfl_convert_filter_new() local
177 filter = (mbfl_convert_filter *)mbfl_malloc(sizeof(mbfl_convert_filter)); in mbfl_convert_filter_new()
178 if (filter == NULL) { in mbfl_convert_filter_new()
182 if (mbfl_convert_filter_common_init(filter, from, to, vtbl, in mbfl_convert_filter_new()
184 mbfl_free(filter); in mbfl_convert_filter_new()
188 return filter; in mbfl_convert_filter_new()
198 mbfl_convert_filter * filter; in mbfl_convert_filter_new2() local
209 filter = (mbfl_convert_filter *)mbfl_malloc(sizeof(mbfl_convert_filter)); in mbfl_convert_filter_new2()
210 if (filter == NULL) { in mbfl_convert_filter_new2()
214 if (mbfl_convert_filter_common_init(filter, from_encoding, to_encoding, vtbl, in mbfl_convert_filter_new2()
216 mbfl_free(filter); in mbfl_convert_filter_new2()
220 return filter; in mbfl_convert_filter_new2()
224 mbfl_convert_filter_delete(mbfl_convert_filter *filter) in mbfl_convert_filter_delete() argument
226 if (filter) { in mbfl_convert_filter_delete()
227 (*filter->filter_dtor)(filter); in mbfl_convert_filter_delete()
228 mbfl_free((void*)filter); in mbfl_convert_filter_delete()
233 mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter) in mbfl_convert_filter_feed() argument
235 return (*filter->filter_function)(c, filter); in mbfl_convert_filter_feed()
239 mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, const unsigned char *p, size_t len) { in mbfl_convert_filter_feed_string() argument
241 if ((*filter->filter_function)(*p++, filter) < 0) { in mbfl_convert_filter_feed_string()
250 mbfl_convert_filter_flush(mbfl_convert_filter *filter) in mbfl_convert_filter_flush() argument
252 (*filter->filter_flush)(filter); in mbfl_convert_filter_flush()
253 return (filter->flush_function ? (*filter->flush_function)(filter->data) : 0); in mbfl_convert_filter_flush()
256 void mbfl_convert_filter_reset(mbfl_convert_filter *filter, in mbfl_convert_filter_reset() argument
262 (*filter->filter_dtor)(filter); in mbfl_convert_filter_reset()
270 mbfl_convert_filter_common_init(filter, from, to, vtbl, in mbfl_convert_filter_reset()
271 filter->output_function, filter->flush_function, filter->data); in mbfl_convert_filter_reset()
287 int mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device *src) in mbfl_convert_filter_devcat() argument
295 if ((*filter->filter_function)(*p++, filter) < 0) { in mbfl_convert_filter_devcat()
304 int mbfl_convert_filter_strcat(mbfl_convert_filter *filter, const unsigned char *p) in mbfl_convert_filter_strcat() argument
309 if ((*filter->filter_function)(c, filter) < 0) { in mbfl_convert_filter_strcat()
319 mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_illegal_output() argument
325 mode_backup = filter->illegal_mode; in mbfl_filt_conv_illegal_output()
326 substchar_backup = filter->illegal_substchar; in mbfl_filt_conv_illegal_output()
331 if (filter->illegal_mode == MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR in mbfl_filt_conv_illegal_output()
332 && filter->illegal_substchar != 0x3f) { in mbfl_filt_conv_illegal_output()
333 filter->illegal_substchar = 0x3f; in mbfl_filt_conv_illegal_output()
335 filter->illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE; in mbfl_filt_conv_illegal_output()
340 ret = (*filter->filter_function)(substchar_backup, filter); in mbfl_filt_conv_illegal_output()
345 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"U+"); in mbfl_filt_conv_illegal_output()
351 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS+"); in mbfl_filt_conv_illegal_output()
354 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS2+"); in mbfl_filt_conv_illegal_output()
357 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS3+"); in mbfl_filt_conv_illegal_output()
360 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"W932+"); in mbfl_filt_conv_illegal_output()
363 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"GB+"); in mbfl_filt_conv_illegal_output()
366 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"I8859_1+"); in mbfl_filt_conv_illegal_output()
369 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"?+"); in mbfl_filt_conv_illegal_output()
374 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"BAD+"); in mbfl_filt_conv_illegal_output()
385 ret = (*filter->filter_function)(mbfl_hexchar_table[n], filter); in mbfl_filt_conv_illegal_output()
393 ret = (*filter->filter_function)(mbfl_hexchar_table[0], filter); in mbfl_filt_conv_illegal_output()
401 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"&#x"); in mbfl_filt_conv_illegal_output()
411 ret = (*filter->filter_function)(mbfl_hexchar_table[n], filter); in mbfl_filt_conv_illegal_output()
422 ret = (*filter->filter_function)(mbfl_hexchar_table[0], filter); in mbfl_filt_conv_illegal_output()
424 ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)";"); in mbfl_filt_conv_illegal_output()
426 ret = (*filter->filter_function)(substchar_backup, filter); in mbfl_filt_conv_illegal_output()
435 filter->illegal_mode = mode_backup; in mbfl_filt_conv_illegal_output()
436 filter->illegal_substchar = substchar_backup; in mbfl_filt_conv_illegal_output()
437 filter->num_illegalchar++; in mbfl_filt_conv_illegal_output()
478 void mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter) in mbfl_filt_conv_common_ctor() argument
480 filter->status = 0; in mbfl_filt_conv_common_ctor()
481 filter->cache = 0; in mbfl_filt_conv_common_ctor()
484 int mbfl_filt_conv_common_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_common_flush() argument
486 filter->status = 0; in mbfl_filt_conv_common_flush()
487 filter->cache = 0; in mbfl_filt_conv_common_flush()
489 if (filter->flush_function != NULL) { in mbfl_filt_conv_common_flush()
490 (*filter->flush_function)(filter->data); in mbfl_filt_conv_common_flush()
495 void mbfl_filt_conv_common_dtor(mbfl_convert_filter *filter) in mbfl_filt_conv_common_dtor() argument
497 filter->status = 0; in mbfl_filt_conv_common_dtor()
498 filter->cache = 0; in mbfl_filt_conv_common_dtor()