changeset 22912:0ebd5557ce43

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.
author Sergey Kitov <sergey.kitov@open-xchange.com>
date Tue, 13 Mar 2018 16:36:44 +0200
parents 08a348bc475b
children 70289891b91a
files src/lib-mail/mail-html2text.c
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-mail/mail-html2text.c	Fri Apr 06 15:48:02 2018 +0300
+++ b/src/lib-mail/mail-html2text.c	Tue Mar 13 16:36:44 2018 +0200
@@ -191,13 +191,15 @@
 				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: