SVN commit 437400 by sngeorgaras: fixxing an infinite loop bug M +19 -13 kmhtmlarchive.cpp --- trunk/kdenonbeta/kio_mhtml/kmhtmlarchive.cpp #437399:437400 @@ -1650,7 +1650,8 @@ // Subject foreground color ins.append(hTxt); ins.append("\">"); - ins.append(archive->mSubject.local8Bit()); + if(archive->mSubject.isNull()) ins.append("No subject"); + else ins.append(archive->mSubject.local8Bit()); ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); @@ -1680,7 +1681,7 @@ ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); - ins.append("From:"); + ins.append("From:"); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); ins.append(""); @@ -1695,7 +1696,7 @@ ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); - ins.append("To:"); + ins.append("To:"); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); ins.append(""); @@ -1711,7 +1712,7 @@ ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); - ins.append("CC:"); + ins.append("CC:"); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); ins.append(""); @@ -1728,7 +1729,7 @@ ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); - ins.append("BCC:"); + ins.append("BCC:"); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); ins.append(""); @@ -1744,12 +1745,12 @@ ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); - ins.append("Date:"); + ins.append("Date:"); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); - ins.append(""); + ins.append(""); ins.append(archive->mDate); - ins.append(""); + ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); ins.append(""); @@ -1768,7 +1769,7 @@ ================================*/ QString KmhtmlEntry::createEmlAttachments(){ int att=0; - + int curAtt=0; for(int i=0;iitems;i++) if(archive->item[i].contentDisposition.lower()=="attachment") att++; if(att==0) return ""; QCString ins; @@ -1796,6 +1797,7 @@ ins.append(archive->controlChars[1]); for(int i=0;iitems;i++){ if(archive->item[i].contentDisposition.lower()=="attachment"){ + curAtt+=1; ins.append("  item[i].alias.local8Bit()); //Εντολές RHP.doc @@ -1812,11 +1814,13 @@ //180KB ins.append(" Bytes, type: "); ins.append(archive->item[i].mimeType); - //image/gif + if(att==curAtt) ins.append("

"); ins.append(""); } } - ins.append("


"); + ins.append(""); + if(archive->isDOS) ins.append(archive->controlChars[0]); + ins.append(archive->controlChars[1]); ins.append(""); if(archive->isDOS) ins.append(archive->controlChars[0]); ins.append(archive->controlChars[1]); @@ -1873,13 +1877,15 @@ st=encodedText.find("=?"); while(st!=-1){ en=encodedText.find("?="); - while(encodedText.mid(en+2,1)!=" " && en+2<(int)encodedText.length()) en=encodedText.find("?=",en+1); + while(encodedText.mid(en+2,2)!="\" " && encodedText.mid(en+2,1)!=" " && en+2<(int)encodedText.length()) en=encodedText.find("?=",en+1); + //while(encodedText.mid(en+2,1)!=" " && en+2<(int)encodedText.length()) en=encodedText.find("?=",en+1); if(en==-1) break; decodedText+=encodedText.left(st); QString tmp=encodedText.mid(st,en-st+2); encodedText=encodedText.mid(en+2); decodedText+=decodeRFC2047String(tmp); - st=encodedText.find("=?",st+1); + st=encodedText.find("=?"); + //st=encodedText.find("=?",st+1); } decodedText += encodedText; // //kdDebug()<<"[KmhtmlArchive::decodeRFC2047Phrase]: decodedText="<< decodedText << endl;