Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6950:63e225ab7361 HEAD
If header contains invalid MIME input, preserve the =? in output.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 08 Dec 2007 15:42:25 +0200 |
parents | eda51f08e8bf |
children | 1f70c72e4312 |
files | src/lib-mail/message-header-decode.c |
diffstat | 1 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-mail/message-header-decode.c Sat Dec 08 15:04:52 2007 +0200 +++ b/src/lib-mail/message-header-decode.c Sat Dec 08 15:42:25 2007 +0200 @@ -62,7 +62,7 @@ { buffer_t *decodebuf = NULL; unsigned int charsetlen = 0; - size_t pos, start_pos; + size_t pos, start_pos, ret; /* =?charset?Q|B?text?= */ start_pos = pos = 0; @@ -90,8 +90,13 @@ } pos += 2; - pos += message_header_decode_encoded(data + pos, size - pos, - decodebuf, &charsetlen); + ret = message_header_decode_encoded(data + pos, size - pos, + decodebuf, &charsetlen); + if (ret == 0) { + start_pos = pos-2; + continue; + } + pos += ret; if (decodebuf->used > charsetlen) { /* decodebuf contains <charset> NUL <text> */