-rw-r--r-- | kmicromail/libetpan/imap/mailimap_parser.c | 20 | ||||
-rw-r--r-- | kmicromail/libmailwrapper/imapwrapper.cpp | 11 | ||||
-rw-r--r-- | kmicromail/viewmailbase.cpp | 2 |
3 files changed, 28 insertions, 5 deletions
diff --git a/kmicromail/libetpan/imap/mailimap_parser.c b/kmicromail/libetpan/imap/mailimap_parser.c index 1c2ecde..560e58a 100644 --- a/kmicromail/libetpan/imap/mailimap_parser.c +++ b/kmicromail/libetpan/imap/mailimap_parser.c @@ -2401,5 +2401,23 @@ mailimap_body_fld_enc_parse(mailstream * fd, MMAPString * buffer, if (r != MAILIMAP_NO_ERROR) { - res = r; + // LR start + // accept NIL and set type to utf8 + int ret = r; + r = mailimap_char_parse(fd, buffer, &cur_token, 'N'); + if (r == MAILIMAP_NO_ERROR) { + r = mailimap_char_parse(fd, buffer, &cur_token, 'I'); + if (r == MAILIMAP_NO_ERROR) { + r = mailimap_char_parse(fd, buffer, &cur_token, 'L'); + if (r == MAILIMAP_NO_ERROR) { + type = 4; + ret = MAILIMAP_NO_ERROR; + value = NULL; + } + } + } + if ( ret != MAILIMAP_NO_ERROR ) { + res = ret; goto err; } + // LR end + } } diff --git a/kmicromail/libmailwrapper/imapwrapper.cpp b/kmicromail/libmailwrapper/imapwrapper.cpp index d9496af..93fb7de 100644 --- a/kmicromail/libmailwrapper/imapwrapper.cpp +++ b/kmicromail/libmailwrapper/imapwrapper.cpp @@ -438,3 +438,3 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) cf = flist->att_list->first; - if( ! cf ) + if( cf ) { for (cf = clist_begin(flist->att_list); cf!=NULL; cf = clist_next(cf)) { @@ -442,3 +442,4 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) if( ! cflag ) - qDebug("imap:not cflag "); + qDebug("imap:NO cflag "); + else { if (cflag->fl_type==MAILIMAP_FLAG_FETCH_OTHER && cflag->fl_flag!=0) { @@ -471,2 +472,5 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) } + } + } + //qDebug(" continue"); continue; @@ -487,2 +491,3 @@ RecMail*IMAPwrapper::parse_list_result(mailimap_msg_att* m_att) if ( mailimf_date_time_parse(head->env_date, length,&index, re ) == MAILIMF_NO_ERROR ) { + //qDebug("parseDateTime "); QDateTime dt = Genericwrapper::parseDateTime( date ); @@ -609,3 +614,3 @@ RecBodyP IMAPwrapper::fetchBody(const RecMailP&mail) } else { - //odebug << "error fetching body: " << m_imap->imap_response << "" << oendl; + qDebug("error fetching body %d (%d): %s", err, MAILIMAP_NO_ERROR, m_imap->imap_response ); } diff --git a/kmicromail/viewmailbase.cpp b/kmicromail/viewmailbase.cpp index c4731a7..d21696a 100644 --- a/kmicromail/viewmailbase.cpp +++ b/kmicromail/viewmailbase.cpp @@ -54,3 +54,3 @@ ViewMailBase::ViewMailBase(QWidget *parent, const char *name, WFlags fl) - nextMail = new QAction(i18n("Show next mail"),SmallIcon("add"), 0, 0, this); + nextMail = new QAction(i18n("Show next mail"),SmallIcon("enter"), 0, 0, this); QLabel *spacer = new QLabel(toolbar); |