From d18b93866278dbf2745b09808d88b1d7cb811488 Mon Sep 17 00:00:00 2001 From: Sergey Kitov Date: Tue, 13 Mar 2018 16:36:44 +0200 Subject: [PATCH] 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. --- src/lib-mail/mail-html2text.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib-mail/mail-html2text.c b/src/lib-mail/mail-html2text.c index 856ec0b8c1..c337f321ef 100644 --- a/src/lib-mail/mail-html2text.c +++ b/src/lib-mail/mail-html2text.c @@ -191,13 +191,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: