Lines Matching refs:pd

2408 	struct mime_header_decoder_data *pd = (struct mime_header_decoder_data*)data;  in mime_header_decoder_collector()  local
2410 switch (pd->status) { in mime_header_decoder_collector()
2413 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2414 pd->cspos = pd->tmpdev.pos; in mime_header_decoder_collector()
2415 pd->status = 2; in mime_header_decoder_collector()
2417 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2418 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2420 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2422 pd->status = 9; in mime_header_decoder_collector()
2424 (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); in mime_header_decoder_collector()
2425 pd->status = 0; in mime_header_decoder_collector()
2432 mbfl_memory_device_output('\0', &pd->tmpdev); in mime_header_decoder_collector()
2433 encoding = mbfl_name2encoding((const char *)&pd->tmpdev.buffer[pd->cspos]); in mime_header_decoder_collector()
2435 pd->incode = encoding->no_encoding; in mime_header_decoder_collector()
2436 pd->status = 3; in mime_header_decoder_collector()
2438 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2439 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2441 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2442 if (pd->tmpdev.pos > 100) { /* too long charset string */ in mime_header_decoder_collector()
2443 pd->status = 0; in mime_header_decoder_collector()
2445 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2446 pd->status = 9; in mime_header_decoder_collector()
2448 if (pd->status != 2) { in mime_header_decoder_collector()
2449 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2450 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2455 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2457 pd->encoding = mbfl_no_encoding_base64; in mime_header_decoder_collector()
2458 pd->status = 4; in mime_header_decoder_collector()
2460 pd->encoding = mbfl_no_encoding_qprint; in mime_header_decoder_collector()
2461 pd->status = 4; in mime_header_decoder_collector()
2464 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2465 pd->status = 9; in mime_header_decoder_collector()
2467 pd->status = 0; in mime_header_decoder_collector()
2469 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2470 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2474 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2477 mbfl_convert_filter_reset(pd->conv1_filter, pd->incode, mbfl_no_encoding_wchar); in mime_header_decoder_collector()
2479 mbfl_convert_filter_reset(pd->deco_filter, pd->encoding, mbfl_no_encoding_8bit); in mime_header_decoder_collector()
2480 pd->status = 5; in mime_header_decoder_collector()
2483 mbfl_memory_device_unput(&pd->tmpdev); in mime_header_decoder_collector()
2484 pd->status = 9; in mime_header_decoder_collector()
2486 pd->status = 0; in mime_header_decoder_collector()
2488 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2490 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2494 pd->status = 6; in mime_header_decoder_collector()
2496 (*pd->deco_filter->filter_function)(c, pd->deco_filter); in mime_header_decoder_collector()
2502 (*pd->deco_filter->filter_flush)(pd->deco_filter); in mime_header_decoder_collector()
2503 (*pd->conv1_filter->filter_flush)(pd->conv1_filter); in mime_header_decoder_collector()
2504 mbfl_convert_filter_reset(pd->conv1_filter, mbfl_no_encoding_ascii, mbfl_no_encoding_wchar); in mime_header_decoder_collector()
2505 pd->status = 7; in mime_header_decoder_collector()
2507 (*pd->deco_filter->filter_function)(0x3f, pd->deco_filter); in mime_header_decoder_collector()
2509 (*pd->deco_filter->filter_function)(c, pd->deco_filter); in mime_header_decoder_collector()
2510 pd->status = 5; in mime_header_decoder_collector()
2516 pd->status = 8; in mime_header_decoder_collector()
2518 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2520 pd->status = 1; in mime_header_decoder_collector()
2522 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2523 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2524 pd->status = 0; in mime_header_decoder_collector()
2532 if (pd->status == 8) { in mime_header_decoder_collector()
2533 mbfl_memory_device_output(0x20, &pd->tmpdev); /* SPACE */ in mime_header_decoder_collector()
2535 (*pd->conv1_filter->filter_function)(0x20, pd->conv1_filter); in mime_header_decoder_collector()
2537 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2538 pd->status = 1; in mime_header_decoder_collector()
2540 mbfl_memory_device_output(0x20, &pd->tmpdev); in mime_header_decoder_collector()
2541 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2542 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_collector()
2543 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_collector()
2544 pd->status = 0; in mime_header_decoder_collector()
2550 pd->status = 9; in mime_header_decoder_collector()
2552 mbfl_memory_device_output(c, &pd->tmpdev); in mime_header_decoder_collector()
2553 pd->status = 1; in mime_header_decoder_collector()
2555 (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); in mime_header_decoder_collector()
2564 mime_header_decoder_result(struct mime_header_decoder_data *pd, mbfl_string *result) in mime_header_decoder_result() argument
2566 switch (pd->status) { in mime_header_decoder_result()
2574 mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); in mime_header_decoder_result()
2578 (*pd->deco_filter->filter_flush)(pd->deco_filter); in mime_header_decoder_result()
2579 (*pd->conv1_filter->filter_flush)(pd->conv1_filter); in mime_header_decoder_result()
2582 (*pd->conv2_filter->filter_flush)(pd->conv2_filter); in mime_header_decoder_result()
2583 mbfl_memory_device_reset(&pd->tmpdev); in mime_header_decoder_result()
2584 pd->status = 0; in mime_header_decoder_result()
2586 return mbfl_memory_device_result(&pd->outdev, result); in mime_header_decoder_result()
2592 struct mime_header_decoder_data *pd; in mime_header_decoder_new() local
2594 pd = (struct mime_header_decoder_data*)mbfl_malloc(sizeof(struct mime_header_decoder_data)); in mime_header_decoder_new()
2595 if (pd == NULL) { in mime_header_decoder_new()
2599 mbfl_memory_device_init(&pd->outdev, 0, 0); in mime_header_decoder_new()
2600 mbfl_memory_device_init(&pd->tmpdev, 0, 0); in mime_header_decoder_new()
2601 pd->cspos = 0; in mime_header_decoder_new()
2602 pd->status = 0; in mime_header_decoder_new()
2603 pd->encoding = mbfl_no_encoding_pass; in mime_header_decoder_new()
2604 pd->incode = mbfl_no_encoding_ascii; in mime_header_decoder_new()
2605 pd->outcode = outcode; in mime_header_decoder_new()
2607pd->conv2_filter = mbfl_convert_filter_new(mbfl_no_encoding_wchar, pd->outcode, mbfl_memory_device… in mime_header_decoder_new()
2608pd->conv1_filter = mbfl_convert_filter_new(pd->incode, mbfl_no_encoding_wchar, mbfl_filter_output_… in mime_header_decoder_new()
2610pd->deco_filter = mbfl_convert_filter_new(pd->encoding, mbfl_no_encoding_8bit, mbfl_filter_output_… in mime_header_decoder_new()
2612 if (pd->conv1_filter == NULL || pd->conv2_filter == NULL || pd->deco_filter == NULL) { in mime_header_decoder_new()
2613 mime_header_decoder_delete(pd); in mime_header_decoder_new()
2617 return pd; in mime_header_decoder_new()
2621 mime_header_decoder_delete(struct mime_header_decoder_data *pd) in mime_header_decoder_delete() argument
2623 if (pd) { in mime_header_decoder_delete()
2624 mbfl_convert_filter_delete(pd->conv2_filter); in mime_header_decoder_delete()
2625 mbfl_convert_filter_delete(pd->conv1_filter); in mime_header_decoder_delete()
2626 mbfl_convert_filter_delete(pd->deco_filter); in mime_header_decoder_delete()
2627 mbfl_memory_device_clear(&pd->outdev); in mime_header_decoder_delete()
2628 mbfl_memory_device_clear(&pd->tmpdev); in mime_header_decoder_delete()
2629 mbfl_free((void*)pd); in mime_header_decoder_delete()
2634 mime_header_decoder_feed(int c, struct mime_header_decoder_data *pd) in mime_header_decoder_feed() argument
2636 return mime_header_decoder_collector(c, pd); in mime_header_decoder_feed()
2647 struct mime_header_decoder_data *pd; in mbfl_mime_header_decode() local
2653 pd = mime_header_decoder_new(outcode); in mbfl_mime_header_decode()
2654 if (pd == NULL) { in mbfl_mime_header_decode()
2662 mime_header_decoder_collector(*p++, pd); in mbfl_mime_header_decode()
2666 result = mime_header_decoder_result(pd, result); in mbfl_mime_header_decode()
2667 mime_header_decoder_delete(pd); in mbfl_mime_header_decode()