author | zautrix <zautrix> | 2004-10-31 12:28:03 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-10-31 12:28:03 (UTC) |
commit | bed831cc1a38d38a4c5b9329bf37b1c663142c23 (patch) (unidiff) | |
tree | db12b81ea6cee0cac347c801798d759dfe24acfb /kmicromail/libmailwrapper/imapwrapper.cpp | |
parent | 553bd9acf9879a77c5fa925155f73afbe8a9af41 (diff) | |
download | kdepimpi-bed831cc1a38d38a4c5b9329bf37b1c663142c23.zip kdepimpi-bed831cc1a38d38a4c5b9329bf37b1c663142c23.tar.gz kdepimpi-bed831cc1a38d38a4c5b9329bf37b1c663142c23.tar.bz2 |
ompi utf8 fixes
Diffstat (limited to 'kmicromail/libmailwrapper/imapwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kmicromail/libmailwrapper/imapwrapper.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kmicromail/libmailwrapper/imapwrapper.cpp b/kmicromail/libmailwrapper/imapwrapper.cpp index 110583f..ae667ec 100644 --- a/kmicromail/libmailwrapper/imapwrapper.cpp +++ b/kmicromail/libmailwrapper/imapwrapper.cpp | |||
@@ -706,96 +706,97 @@ encodedString*IMAPwrapper::fetchRawPart(const RecMailP&mail,const QValueList<int | |||
706 | msg_att = (mailimap_msg_att*)current->data; | 706 | msg_att = (mailimap_msg_att*)current->data; |
707 | mailimap_msg_att_item*msg_att_item; | 707 | mailimap_msg_att_item*msg_att_item; |
708 | for(cur = clist_begin(msg_att->att_list) ; cur != NULL ; cur = clist_next(cur)) { | 708 | for(cur = clist_begin(msg_att->att_list) ; cur != NULL ; cur = clist_next(cur)) { |
709 | msg_att_item = (mailimap_msg_att_item*)clist_content(cur); | 709 | msg_att_item = (mailimap_msg_att_item*)clist_content(cur); |
710 | if (msg_att_item->att_type == MAILIMAP_MSG_ATT_ITEM_STATIC) { | 710 | if (msg_att_item->att_type == MAILIMAP_MSG_ATT_ITEM_STATIC) { |
711 | if (msg_att_item->att_data.att_static->att_type == MAILIMAP_MSG_ATT_BODY_SECTION) { | 711 | if (msg_att_item->att_data.att_static->att_type == MAILIMAP_MSG_ATT_BODY_SECTION) { |
712 | char*text = msg_att_item->att_data.att_static->att_data.att_body_section->sec_body_part; | 712 | char*text = msg_att_item->att_data.att_static->att_data.att_body_section->sec_body_part; |
713 | /* detach - we take over the content */ | 713 | /* detach - we take over the content */ |
714 | msg_att_item->att_data.att_static->att_data.att_body_section->sec_body_part = 0L; | 714 | msg_att_item->att_data.att_static->att_data.att_body_section->sec_body_part = 0L; |
715 | res->setContent(text,msg_att_item->att_data.att_static->att_data.att_body_section->sec_length); | 715 | res->setContent(text,msg_att_item->att_data.att_static->att_data.att_body_section->sec_length); |
716 | } | 716 | } |
717 | } | 717 | } |
718 | } | 718 | } |
719 | } else { | 719 | } else { |
720 | ;//odebug << "error fetching text: " << m_imap->imap_response << "" << oendl; | 720 | ;//odebug << "error fetching text: " << m_imap->imap_response << "" << oendl; |
721 | } | 721 | } |
722 | if (result) mailimap_fetch_list_free(result); | 722 | if (result) mailimap_fetch_list_free(result); |
723 | return res; | 723 | return res; |
724 | } | 724 | } |
725 | 725 | ||
726 | /* current_recursion is for recursive calls. | 726 | /* current_recursion is for recursive calls. |
727 | current_count means the position inside the internal loop! */ | 727 | current_count means the position inside the internal loop! */ |
728 | void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body, | 728 | void IMAPwrapper::traverseBody(const RecMailP&mail,mailimap_body*body,RecBodyP&target_body, |
729 | int current_recursion,QValueList<int>recList,int current_count) | 729 | int current_recursion,QValueList<int>recList,int current_count) |
730 | { | 730 | { |
731 | if (!body || current_recursion>=10) { | 731 | if (!body || current_recursion>=10) { |
732 | return; | 732 | return; |
733 | } | 733 | } |
734 | switch (body->bd_type) { | 734 | switch (body->bd_type) { |
735 | case MAILIMAP_BODY_1PART: | 735 | case MAILIMAP_BODY_1PART: |
736 | { | 736 | { |
737 | QValueList<int>countlist = recList; | 737 | QValueList<int>countlist = recList; |
738 | countlist.append(current_count); | 738 | countlist.append(current_count); |
739 | RecPartP currentPart = new RecPart(); | 739 | RecPartP currentPart = new RecPart(); |
740 | mailimap_body_type_1part*part1 = body->bd_data.bd_body_1part; | 740 | mailimap_body_type_1part*part1 = body->bd_data.bd_body_1part; |
741 | QString id(""); | 741 | QString id(""); |
742 | currentPart->setPositionlist(countlist); | 742 | currentPart->setPositionlist(countlist); |
743 | for (unsigned int j = 0; j < countlist.count();++j) { | 743 | for (unsigned int j = 0; j < countlist.count();++j) { |
744 | id+=(j>0?" ":""); | 744 | id+=(j>0?" ":""); |
745 | id+=QString("%1").arg(countlist[j]); | 745 | id+=QString("%1").arg(countlist[j]); |
746 | } | 746 | } |
747 | //odebug << "ID = " << id.latin1() << "" << oendl; | 747 | //odebug << "ID = " << id.latin1() << "" << oendl; |
748 | currentPart->setIdentifier(id); | 748 | currentPart->setIdentifier(id); |
749 | fillSinglePart(currentPart,part1); | 749 | fillSinglePart(currentPart,part1); |
750 | /* important: Check for is NULL 'cause a body can be empty! | 750 | /* important: Check for is NULL 'cause a body can be empty! |
751 | And we put it only into the mail if it is the FIRST part */ | 751 | And we put it only into the mail if it is the FIRST part */ |
752 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body->Bodytext().isNull() && countlist[0]==1) { | 752 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_TEXT && target_body->Bodytext().isNull() && countlist[0]==1) { |
753 | QString body_text = fetchTextPart(mail,countlist,true,currentPart->Encoding()); | 753 | QString body_text = fetchTextPart(mail,countlist,true,currentPart->Encoding()); |
754 | //qDebug("encoding %d text %s ",currentPart->Encoding().latin1(), body_text.latin1() ); | ||
754 | target_body->setDescription(currentPart); | 755 | target_body->setDescription(currentPart); |
755 | target_body->setBodytext(body_text); | 756 | target_body->setBodytext(body_text); |
756 | if (countlist.count()>1) { | 757 | if (countlist.count()>1) { |
757 | target_body->addPart(currentPart); | 758 | target_body->addPart(currentPart); |
758 | } | 759 | } |
759 | } else { | 760 | } else { |
760 | target_body->addPart(currentPart); | 761 | target_body->addPart(currentPart); |
761 | } | 762 | } |
762 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_MSG) { | 763 | if (part1->bd_type==MAILIMAP_BODY_TYPE_1PART_MSG) { |
763 | traverseBody(mail,part1->bd_data.bd_type_msg->bd_body,target_body,current_recursion+1,countlist); | 764 | traverseBody(mail,part1->bd_data.bd_type_msg->bd_body,target_body,current_recursion+1,countlist); |
764 | } | 765 | } |
765 | } | 766 | } |
766 | break; | 767 | break; |
767 | case MAILIMAP_BODY_MPART: | 768 | case MAILIMAP_BODY_MPART: |
768 | { | 769 | { |
769 | QValueList<int>countlist = recList; | 770 | QValueList<int>countlist = recList; |
770 | clistcell*current=0; | 771 | clistcell*current=0; |
771 | mailimap_body*current_body=0; | 772 | mailimap_body*current_body=0; |
772 | unsigned int ccount = 1; | 773 | unsigned int ccount = 1; |
773 | mailimap_body_type_mpart*mailDescription = body->bd_data.bd_body_mpart; | 774 | mailimap_body_type_mpart*mailDescription = body->bd_data.bd_body_mpart; |
774 | for (current=clist_begin(mailDescription->bd_list);current!=0;current=clist_next(current)) { | 775 | for (current=clist_begin(mailDescription->bd_list);current!=0;current=clist_next(current)) { |
775 | current_body = (mailimap_body*)current->data; | 776 | current_body = (mailimap_body*)current->data; |
776 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { | 777 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { |
777 | RecPartP targetPart = new RecPart(); | 778 | RecPartP targetPart = new RecPart(); |
778 | targetPart->setType("multipart"); | 779 | targetPart->setType("multipart"); |
779 | fillMultiPart(targetPart,mailDescription); | 780 | fillMultiPart(targetPart,mailDescription); |
780 | countlist.append(current_count); | 781 | countlist.append(current_count); |
781 | targetPart->setPositionlist(countlist); | 782 | targetPart->setPositionlist(countlist); |
782 | target_body->addPart(targetPart); | 783 | target_body->addPart(targetPart); |
783 | QString id(""); | 784 | QString id(""); |
784 | for (unsigned int j = 0; j < countlist.count();++j) { | 785 | for (unsigned int j = 0; j < countlist.count();++j) { |
785 | id+=(j>0?" ":""); | 786 | id+=(j>0?" ":""); |
786 | id+=QString("%1").arg(countlist[j]); | 787 | id+=QString("%1").arg(countlist[j]); |
787 | } | 788 | } |
788 | // odebug << "ID(mpart) = " << id.latin1() << "" << oendl; | 789 | // odebug << "ID(mpart) = " << id.latin1() << "" << oendl; |
789 | } | 790 | } |
790 | traverseBody(mail,current_body,target_body,current_recursion+1,countlist,ccount); | 791 | traverseBody(mail,current_body,target_body,current_recursion+1,countlist,ccount); |
791 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { | 792 | if (current_body->bd_type==MAILIMAP_BODY_MPART) { |
792 | countlist = recList; | 793 | countlist = recList; |
793 | } | 794 | } |
794 | ++ccount; | 795 | ++ccount; |
795 | } | 796 | } |
796 | } | 797 | } |
797 | break; | 798 | break; |
798 | default: | 799 | default: |
799 | break; | 800 | break; |
800 | } | 801 | } |
801 | } | 802 | } |