Lines Matching refs:convd

131 	mbfl_buffer_converter *convd;  in mbfl_buffer_converter_new()  local
134 convd = (mbfl_buffer_converter*)mbfl_malloc(sizeof (mbfl_buffer_converter)); in mbfl_buffer_converter_new()
135 if (convd == NULL) { in mbfl_buffer_converter_new()
140 convd->from = mbfl_no2encoding(from); in mbfl_buffer_converter_new()
141 convd->to = mbfl_no2encoding(to); in mbfl_buffer_converter_new()
142 if (convd->from == NULL) { in mbfl_buffer_converter_new()
143 convd->from = &mbfl_encoding_pass; in mbfl_buffer_converter_new()
145 if (convd->to == NULL) { in mbfl_buffer_converter_new()
146 convd->to = &mbfl_encoding_pass; in mbfl_buffer_converter_new()
150 convd->filter1 = NULL; in mbfl_buffer_converter_new()
151 convd->filter2 = NULL; in mbfl_buffer_converter_new()
152 if (mbfl_convert_filter_get_vtbl(convd->from->no_encoding, convd->to->no_encoding) != NULL) { in mbfl_buffer_converter_new()
153convd->filter1 = mbfl_convert_filter_new(convd->from->no_encoding, convd->to->no_encoding, mbfl_me… in mbfl_buffer_converter_new()
155convd->filter2 = mbfl_convert_filter_new(mbfl_no_encoding_wchar, convd->to->no_encoding, mbfl_memo… in mbfl_buffer_converter_new()
156 if (convd->filter2 != NULL) { in mbfl_buffer_converter_new()
157 convd->filter1 = mbfl_convert_filter_new(convd->from->no_encoding, in mbfl_buffer_converter_new()
159 (int (*)(int, void*))convd->filter2->filter_function, in mbfl_buffer_converter_new()
160 (int (*)(void*))convd->filter2->filter_flush, in mbfl_buffer_converter_new()
161 convd->filter2); in mbfl_buffer_converter_new()
162 if (convd->filter1 == NULL) { in mbfl_buffer_converter_new()
163 mbfl_convert_filter_delete(convd->filter2); in mbfl_buffer_converter_new()
167 if (convd->filter1 == NULL) { in mbfl_buffer_converter_new()
171 mbfl_memory_device_init(&convd->device, buf_initsz, buf_initsz/4); in mbfl_buffer_converter_new()
173 return convd; in mbfl_buffer_converter_new()
177 mbfl_buffer_converter_delete(mbfl_buffer_converter *convd) in mbfl_buffer_converter_delete() argument
179 if (convd != NULL) { in mbfl_buffer_converter_delete()
180 if (convd->filter1) { in mbfl_buffer_converter_delete()
181 mbfl_convert_filter_delete(convd->filter1); in mbfl_buffer_converter_delete()
183 if (convd->filter2) { in mbfl_buffer_converter_delete()
184 mbfl_convert_filter_delete(convd->filter2); in mbfl_buffer_converter_delete()
186 mbfl_memory_device_clear(&convd->device); in mbfl_buffer_converter_delete()
187 mbfl_free((void*)convd); in mbfl_buffer_converter_delete()
192 mbfl_buffer_converter_reset(mbfl_buffer_converter *convd) in mbfl_buffer_converter_reset() argument
194 mbfl_memory_device_reset(&convd->device); in mbfl_buffer_converter_reset()
198 mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode) in mbfl_buffer_converter_illegal_mode() argument
200 if (convd != NULL) { in mbfl_buffer_converter_illegal_mode()
201 if (convd->filter2 != NULL) { in mbfl_buffer_converter_illegal_mode()
202 convd->filter2->illegal_mode = mode; in mbfl_buffer_converter_illegal_mode()
203 } else if (convd->filter1 != NULL) { in mbfl_buffer_converter_illegal_mode()
204 convd->filter1->illegal_mode = mode; in mbfl_buffer_converter_illegal_mode()
214 mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar) in mbfl_buffer_converter_illegal_substchar() argument
216 if (convd != NULL) { in mbfl_buffer_converter_illegal_substchar()
217 if (convd->filter2 != NULL) { in mbfl_buffer_converter_illegal_substchar()
218 convd->filter2->illegal_substchar = substchar; in mbfl_buffer_converter_illegal_substchar()
219 } else if (convd->filter1 != NULL) { in mbfl_buffer_converter_illegal_substchar()
220 convd->filter1->illegal_substchar = substchar; in mbfl_buffer_converter_illegal_substchar()
230 mbfl_buffer_converter_strncat(mbfl_buffer_converter *convd, const unsigned char *p, int n) in mbfl_buffer_converter_strncat() argument
235 if (convd != NULL && p != NULL) { in mbfl_buffer_converter_strncat()
236 filter = convd->filter1; in mbfl_buffer_converter_strncat()
252 mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string) in mbfl_buffer_converter_feed() argument
259 if (convd == NULL || string == NULL) { in mbfl_buffer_converter_feed()
262 mbfl_memory_device_realloc(&convd->device, convd->device.pos + string->len, string->len/4); in mbfl_buffer_converter_feed()
266 filter = convd->filter1; in mbfl_buffer_converter_feed()
281 mbfl_buffer_converter_flush(mbfl_buffer_converter *convd) in mbfl_buffer_converter_flush() argument
283 if (convd == NULL) { in mbfl_buffer_converter_flush()
287 if (convd->filter1 != NULL) { in mbfl_buffer_converter_flush()
288 mbfl_convert_filter_flush(convd->filter1); in mbfl_buffer_converter_flush()
290 if (convd->filter2 != NULL) { in mbfl_buffer_converter_flush()
291 mbfl_convert_filter_flush(convd->filter2); in mbfl_buffer_converter_flush()
298 mbfl_buffer_converter_getbuffer(mbfl_buffer_converter *convd, mbfl_string *result) in mbfl_buffer_converter_getbuffer() argument
300 if (convd != NULL && result != NULL && convd->device.buffer != NULL) { in mbfl_buffer_converter_getbuffer()
301 result->no_encoding = convd->to->no_encoding; in mbfl_buffer_converter_getbuffer()
302 result->val = convd->device.buffer; in mbfl_buffer_converter_getbuffer()
303 result->len = convd->device.pos; in mbfl_buffer_converter_getbuffer()
312 mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result) in mbfl_buffer_converter_result() argument
314 if (convd == NULL || result == NULL) { in mbfl_buffer_converter_result()
317 result->no_encoding = convd->to->no_encoding; in mbfl_buffer_converter_result()
318 return mbfl_memory_device_result(&convd->device, result); in mbfl_buffer_converter_result()
322 mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, in mbfl_buffer_converter_feed_result() argument
325 if (convd == NULL || string == NULL || result == NULL) { in mbfl_buffer_converter_feed_result()
328 mbfl_buffer_converter_feed(convd, string); in mbfl_buffer_converter_feed_result()
329 if (convd->filter1 != NULL) { in mbfl_buffer_converter_feed_result()
330 mbfl_convert_filter_flush(convd->filter1); in mbfl_buffer_converter_feed_result()
332 if (convd->filter2 != NULL) { in mbfl_buffer_converter_feed_result()
333 mbfl_convert_filter_flush(convd->filter2); in mbfl_buffer_converter_feed_result()
335 result->no_encoding = convd->to->no_encoding; in mbfl_buffer_converter_feed_result()
336 return mbfl_memory_device_result(&convd->device, result); in mbfl_buffer_converter_feed_result()
339 int mbfl_buffer_illegalchars(mbfl_buffer_converter *convd) in mbfl_buffer_illegalchars() argument
343 if (convd == NULL) { in mbfl_buffer_illegalchars()
347 if (convd->filter1 != NULL) { in mbfl_buffer_illegalchars()
348 num_illegalchars += convd->filter1->num_illegalchar; in mbfl_buffer_illegalchars()
351 if (convd->filter2 != NULL) { in mbfl_buffer_illegalchars()
352 num_illegalchars += convd->filter2->num_illegalchar; in mbfl_buffer_illegalchars()