From: Sergey Kitov Date: Tue, 13 Mar 2018 14:36:44 +0000 (+0200) Subject: lib-mail: html2text: do not parse entity when quote_level > 0. X-Git-Tag: 2.3.2.rc1~181 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=54f4dfbf7590f1b950943ca65bce9e81fea43afb;p=thirdparty%2Fdovecot%2Fcore.git lib-mail: html2text: do not parse entity when quote_level > 0. &entities inside blockquotes are added to text, while other text is not, this leads to strange results. --- diff --git a/src/lib-mail/mail-html2text.c b/src/lib-mail/mail-html2text.c index fe05ea729d..41aee623b9 100644 --- a/src/lib-mail/mail-html2text.c +++ b/src/lib-mail/mail-html2text.c @@ -192,13 +192,15 @@ parse_data(struct mail_html2text *ht, if (ret == 0) return i; i += ret - 1; - } else if (c == '&') { - ret = parse_entity(data+i+1, size-i-1, output); - if (ret == 0) - return i; - i += ret - 1; } else if (ht->quote_level == 0) { - buffer_append_c(output, c); + if (c == '&') { + ret = parse_entity(data+i+1, size-i-1, output); + if (ret == 0) + return i; + i += ret - 1; + } else { + buffer_append_c(output, c); + } } break; case HTML_STATE_TAG: