Lines Matching refs:pd

2202 	struct mime_header_decoder_data *pd = (struct mime_header_decoder_data*)data;  in mime_header_decoder_collector()  local
2204 switch (pd->status) { in mime_header_decoder_collector()
2207 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2208 pd->cspos = pd->tmpdev.pos; in mime_header_decoder_collector()
2209 pd->status = 2; in mime_header_decoder_collector()
2211 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2212 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2214 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2216 pd->status = 9; in mime_header_decoder_collector()
2218 (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); in mime_header_decoder_collector()
2219 pd->status = 0; in mime_header_decoder_collector()
2226 mbfl_memory_device_output('\0', &pd->tmpdev); in mime_header_decoder_collector()
2227 encoding = mbfl_name2encoding((const char *)&pd->tmpdev.buffer[pd->cspos]); in mime_header_decoder_collector()
2229 pd->incode = encoding; in mime_header_decoder_collector()
2230 pd->status = 3; in mime_header_decoder_collector()
2232 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2233 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2235 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2236 if (pd->tmpdev.pos > 100) { /* too long charset string */ in mime_header_decoder_collector()
2237 pd->status = 0; in mime_header_decoder_collector()
2239 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2240 pd->status = 9; in mime_header_decoder_collector()
2242 if (pd->status != 2) { in mime_header_decoder_collector()
2243 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2244 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2249 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2251 pd->encoding = &mbfl_encoding_base64; in mime_header_decoder_collector()
2252 pd->status = 4; in mime_header_decoder_collector()
2254 pd->encoding = &mbfl_encoding_qprint; in mime_header_decoder_collector()
2255 pd->status = 4; in mime_header_decoder_collector()
2258 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2259 pd->status = 9; in mime_header_decoder_collector()
2261 pd->status = 0; in mime_header_decoder_collector()
2263 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2264 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2268 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2271 mbfl_convert_filter_reset(pd->conv1_filter, pd->incode, &mbfl_encoding_wchar); in mime_header_decoder_collector()
2273 mbfl_convert_filter_reset(pd->deco_filter, pd->encoding, &mbfl_encoding_8bit); in mime_header_decoder_collector()
2274 pd->status = 5; in mime_header_decoder_collector()
2277 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2278 pd->status = 9; in mime_header_decoder_collector()
2280 pd->status = 0; in mime_header_decoder_collector()
2282 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2284 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2288 pd->status = 6; in mime_header_decoder_collector()
2290 (*pd->deco_filter->filter_function)(c, pd->deco_filter); in mime_header_decoder_collector()
2296 (*pd->deco_filter->filter_flush)(pd->deco_filter); in mime_header_decoder_collector()
2297 (*pd->conv1_filter->filter_flush)(pd->conv1_filter); in mime_header_decoder_collector()
2298 mbfl_convert_filter_reset(pd->conv1_filter, &mbfl_encoding_ascii, &mbfl_encoding_wchar); in mime_header_decoder_collector()
2299 pd->status = 7; in mime_header_decoder_collector()
2301 (*pd->deco_filter->filter_function)(0x3f, pd->deco_filter); in mime_header_decoder_collector()
2303 (*pd->deco_filter->filter_function)(c, pd->deco_filter); in mime_header_decoder_collector()
2304 pd->status = 5; in mime_header_decoder_collector()
2310 pd->status = 8; in mime_header_decoder_collector()
2312 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2314 pd->status = 1; in mime_header_decoder_collector()
2316 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2317 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2318 pd->status = 0; in mime_header_decoder_collector()
2326 if (pd->status == 8) { in mime_header_decoder_collector()
2327 mbfl_memory_device_output(0x20, &pd->tmpdev); /* SPACE */ in mime_header_decoder_collector()
2329 (*pd->conv1_filter->filter_function)(0x20, pd->conv1_filter); in mime_header_decoder_collector()
2331 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2332 pd->status = 1; in mime_header_decoder_collector()
2334 mbfl_memory_device_output(0x20, &pd->tmpdev); in mime_header_decoder_collector()
2335 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2336 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2337 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2338 pd->status = 0; in mime_header_decoder_collector()
2344 pd->status = 9; in mime_header_decoder_collector()
2346 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2347 pd->status = 1; in mime_header_decoder_collector()
2349 (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); in mime_header_decoder_collector()
2358 mime_header_decoder_result(struct mime_header_decoder_data *pd, mbfl_string *result) in mime_header_decoder_result() argument
2360 switch (pd->status) { in mime_header_decoder_result()
2368 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_result()
2372 (*pd->deco_filter->filter_flush)(pd->deco_filter); in mime_header_decoder_result()
2373 (*pd->conv1_filter->filter_flush)(pd->conv1_filter); in mime_header_decoder_result()
2376 (*pd->conv2_filter->filter_flush)(pd->conv2_filter); in mime_header_decoder_result()
2377 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_result()
2378 pd->status = 0; in mime_header_decoder_result()
2380 return mbfl_memory_device_result(&pd->outdev, result); in mime_header_decoder_result()
2386 struct mime_header_decoder_data *pd; in mime_header_decoder_new() local
2388 pd = (struct mime_header_decoder_data*)mbfl_malloc(sizeof(struct mime_header_decoder_data)); in mime_header_decoder_new()
2389 if (pd == NULL) { in mime_header_decoder_new()
2393 mbfl_memory_device_init(&pd->outdev, 0, 0); in mime_header_decoder_new()
2394 mbfl_memory_device_init(&pd->tmpdev, 0, 0); in mime_header_decoder_new()
2395 pd->cspos = 0; in mime_header_decoder_new()
2396 pd->status = 0; in mime_header_decoder_new()
2397 pd->encoding = &mbfl_encoding_8bit; in mime_header_decoder_new()
2398 pd->incode = &mbfl_encoding_ascii; in mime_header_decoder_new()
2399 pd->outcode = outcode; in mime_header_decoder_new()
2401pd->conv2_filter = mbfl_convert_filter_new(&mbfl_encoding_wchar, pd->outcode, mbfl_memory_device_o… in mime_header_decoder_new()
2402pd->conv1_filter = mbfl_convert_filter_new(pd->incode, &mbfl_encoding_wchar, mbfl_filter_output_pi… in mime_header_decoder_new()
2404pd->deco_filter = mbfl_convert_filter_new(pd->encoding, &mbfl_encoding_8bit, mbfl_filter_output_pi… in mime_header_decoder_new()
2406 if (pd->conv1_filter == NULL || pd->conv2_filter == NULL || pd->deco_filter == NULL) { in mime_header_decoder_new()
2407 mime_header_decoder_delete(pd); in mime_header_decoder_new()
2411 return pd; in mime_header_decoder_new()
2415 mime_header_decoder_delete(struct mime_header_decoder_data *pd) in mime_header_decoder_delete() argument
2417 if (pd) { in mime_header_decoder_delete()
2418 mbfl_convert_filter_delete(pd->conv2_filter); in mime_header_decoder_delete()
2419 mbfl_convert_filter_delete(pd->conv1_filter); in mime_header_decoder_delete()
2420 mbfl_convert_filter_delete(pd->deco_filter); in mime_header_decoder_delete()
2421 mbfl_memory_device_clear(&pd->outdev); in mime_header_decoder_delete()
2422 mbfl_memory_device_clear(&pd->tmpdev); in mime_header_decoder_delete()
2423 mbfl_free((void*)pd); in mime_header_decoder_delete()
2428 mime_header_decoder_feed(int c, struct mime_header_decoder_data *pd) in mime_header_decoder_feed() argument
2430 return mime_header_decoder_collector(c, pd); in mime_header_decoder_feed()
2441 struct mime_header_decoder_data *pd; in mbfl_mime_header_decode() local
2447 pd = mime_header_decoder_new(outcode); in mbfl_mime_header_decode()
2448 if (pd == NULL) { in mbfl_mime_header_decode()
2456 mime_header_decoder_collector(*p++, pd); in mbfl_mime_header_decode()
2460 result = mime_header_decoder_result(pd, result); in mbfl_mime_header_decode()
2461 mime_header_decoder_delete(pd); in mbfl_mime_header_decode()