Lines Matching refs:pd

2288 	struct mime_header_decoder_data *pd = (struct mime_header_decoder_data*)data;  in mime_header_decoder_collector()  local
2290 switch (pd->status) { in mime_header_decoder_collector()
2293 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2294 pd->cspos = pd->tmpdev.pos; in mime_header_decoder_collector()
2295 pd->status = 2; in mime_header_decoder_collector()
2297 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2298 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2300 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2302 pd->status = 9; in mime_header_decoder_collector()
2304 (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); in mime_header_decoder_collector()
2305 pd->status = 0; in mime_header_decoder_collector()
2312 mbfl_memory_device_output('\0', &pd->tmpdev); in mime_header_decoder_collector()
2313 encoding = mbfl_name2encoding((const char *)&pd->tmpdev.buffer[pd->cspos]); in mime_header_decoder_collector()
2315 pd->incode = encoding->no_encoding; in mime_header_decoder_collector()
2316 pd->status = 3; in mime_header_decoder_collector()
2318 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2319 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2321 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2322 if (pd->tmpdev.pos > 100) { /* too long charset string */ in mime_header_decoder_collector()
2323 pd->status = 0; in mime_header_decoder_collector()
2325 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2326 pd->status = 9; in mime_header_decoder_collector()
2328 if (pd->status != 2) { in mime_header_decoder_collector()
2329 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2330 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2335 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2337 pd->encoding = mbfl_no_encoding_base64; in mime_header_decoder_collector()
2338 pd->status = 4; in mime_header_decoder_collector()
2340 pd->encoding = mbfl_no_encoding_qprint; in mime_header_decoder_collector()
2341 pd->status = 4; in mime_header_decoder_collector()
2344 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2345 pd->status = 9; in mime_header_decoder_collector()
2347 pd->status = 0; in mime_header_decoder_collector()
2349 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2350 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2354 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2357 mbfl_convert_filter_reset(pd->conv1_filter, pd->incode, mbfl_no_encoding_wchar); in mime_header_decoder_collector()
2359 mbfl_convert_filter_reset(pd->deco_filter, pd->encoding, mbfl_no_encoding_8bit); in mime_header_decoder_collector()
2360 pd->status = 5; in mime_header_decoder_collector()
2363 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2364 pd->status = 9; in mime_header_decoder_collector()
2366 pd->status = 0; in mime_header_decoder_collector()
2368 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2370 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2374 pd->status = 6; in mime_header_decoder_collector()
2376 (*pd->deco_filter->filter_function)(c, pd->deco_filter); in mime_header_decoder_collector()
2382 (*pd->deco_filter->filter_flush)(pd->deco_filter); in mime_header_decoder_collector()
2383 (*pd->conv1_filter->filter_flush)(pd->conv1_filter); in mime_header_decoder_collector()
2384 mbfl_convert_filter_reset(pd->conv1_filter, mbfl_no_encoding_ascii, mbfl_no_encoding_wchar); in mime_header_decoder_collector()
2385 pd->status = 7; in mime_header_decoder_collector()
2387 (*pd->deco_filter->filter_function)(0x3f, pd->deco_filter); in mime_header_decoder_collector()
2389 (*pd->deco_filter->filter_function)(c, pd->deco_filter); in mime_header_decoder_collector()
2390 pd->status = 5; in mime_header_decoder_collector()
2396 pd->status = 8; in mime_header_decoder_collector()
2398 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2400 pd->status = 1; in mime_header_decoder_collector()
2402 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2403 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2404 pd->status = 0; in mime_header_decoder_collector()
2412 if (pd->status == 8) { in mime_header_decoder_collector()
2413 mbfl_memory_device_output(0x20, &pd->tmpdev); /* SPACE */ in mime_header_decoder_collector()
2415 (*pd->conv1_filter->filter_function)(0x20, pd->conv1_filter); in mime_header_decoder_collector()
2417 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2418 pd->status = 1; in mime_header_decoder_collector()
2420 mbfl_memory_device_output(0x20, &pd->tmpdev); in mime_header_decoder_collector()
2421 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2422 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2423 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2424 pd->status = 0; in mime_header_decoder_collector()
2430 pd->status = 9; in mime_header_decoder_collector()
2432 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2433 pd->status = 1; in mime_header_decoder_collector()
2435 (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); in mime_header_decoder_collector()
2444 mime_header_decoder_result(struct mime_header_decoder_data *pd, mbfl_string *result) in mime_header_decoder_result() argument
2446 switch (pd->status) { in mime_header_decoder_result()
2454 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_result()
2458 (*pd->deco_filter->filter_flush)(pd->deco_filter); in mime_header_decoder_result()
2459 (*pd->conv1_filter->filter_flush)(pd->conv1_filter); in mime_header_decoder_result()
2462 (*pd->conv2_filter->filter_flush)(pd->conv2_filter); in mime_header_decoder_result()
2463 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_result()
2464 pd->status = 0; in mime_header_decoder_result()
2466 return mbfl_memory_device_result(&pd->outdev, result); in mime_header_decoder_result()
2472 struct mime_header_decoder_data *pd; in mime_header_decoder_new() local
2474 pd = (struct mime_header_decoder_data*)mbfl_malloc(sizeof(struct mime_header_decoder_data)); in mime_header_decoder_new()
2475 if (pd == NULL) { in mime_header_decoder_new()
2479 mbfl_memory_device_init(&pd->outdev, 0, 0); in mime_header_decoder_new()
2480 mbfl_memory_device_init(&pd->tmpdev, 0, 0); in mime_header_decoder_new()
2481 pd->cspos = 0; in mime_header_decoder_new()
2482 pd->status = 0; in mime_header_decoder_new()
2483 pd->encoding = mbfl_no_encoding_pass; in mime_header_decoder_new()
2484 pd->incode = mbfl_no_encoding_ascii; in mime_header_decoder_new()
2485 pd->outcode = outcode; in mime_header_decoder_new()
2487pd->conv2_filter = mbfl_convert_filter_new(mbfl_no_encoding_wchar, pd->outcode, mbfl_memory_device… in mime_header_decoder_new()
2488pd->conv1_filter = mbfl_convert_filter_new(pd->incode, mbfl_no_encoding_wchar, mbfl_filter_output_… in mime_header_decoder_new()
2490pd->deco_filter = mbfl_convert_filter_new(pd->encoding, mbfl_no_encoding_8bit, mbfl_filter_output_… in mime_header_decoder_new()
2492 if (pd->conv1_filter == NULL || pd->conv2_filter == NULL || pd->deco_filter == NULL) { in mime_header_decoder_new()
2493 mime_header_decoder_delete(pd); in mime_header_decoder_new()
2497 return pd; in mime_header_decoder_new()
2501 mime_header_decoder_delete(struct mime_header_decoder_data *pd) in mime_header_decoder_delete() argument
2503 if (pd) { in mime_header_decoder_delete()
2504 mbfl_convert_filter_delete(pd->conv2_filter); in mime_header_decoder_delete()
2505 mbfl_convert_filter_delete(pd->conv1_filter); in mime_header_decoder_delete()
2506 mbfl_convert_filter_delete(pd->deco_filter); in mime_header_decoder_delete()
2507 mbfl_memory_device_clear(&pd->outdev); in mime_header_decoder_delete()
2508 mbfl_memory_device_clear(&pd->tmpdev); in mime_header_decoder_delete()
2509 mbfl_free((void*)pd); in mime_header_decoder_delete()
2514 mime_header_decoder_feed(int c, struct mime_header_decoder_data *pd) in mime_header_decoder_feed() argument
2516 return mime_header_decoder_collector(c, pd); in mime_header_decoder_feed()
2527 struct mime_header_decoder_data *pd; in mbfl_mime_header_decode() local
2533 pd = mime_header_decoder_new(outcode); in mbfl_mime_header_decode()
2534 if (pd == NULL) { in mbfl_mime_header_decode()
2542 mime_header_decoder_collector(*p++, pd); in mbfl_mime_header_decode()
2546 result = mime_header_decoder_result(pd, result); in mbfl_mime_header_decode()
2547 mime_header_decoder_delete(pd); in mbfl_mime_header_decode()