diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-09-10 13:47:28 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-09-10 13:47:28 +0100 |
commit | 0affe52da0ca281a482f8dfeb0868529425f0377 (patch) | |
tree | c4925b99021dcb40f11d0e45ba2433af43d235fa | |
parent | e52f7b39afb23093d38a0b90e5f9b640671c27f4 (diff) | |
download | rspamd-0affe52da0ca281a482f8dfeb0868529425f0377.tar.gz rspamd-0affe52da0ca281a482f8dfeb0868529425f0377.zip |
Be more carefull about newlines in html.
-rw-r--r-- | src/libserver/html.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/libserver/html.c b/src/libserver/html.c index 401c13f7a..96380a3ef 100644 --- a/src/libserver/html.c +++ b/src/libserver/html.c @@ -1887,10 +1887,14 @@ rspamd_html_process_part_full (rspamd_mempool_t *pool, struct html_content *hc, setbit (hc->tags_seen, cur_tag->id); } - if ((cur_tag->id == Tag_P || cur_tag->id == Tag_BR || - cur_tag->id == Tag_HR) && balanced) { + if ((cur_tag->flags & (FL_CLOSED|FL_CLOSING)) && + (cur_tag->id == Tag_P || cur_tag->id == Tag_BR || + cur_tag->id == Tag_HR || cur_tag->id == Tag_TR || + cur_tag->id == Tag_DIV) && balanced) { /* Insert newline */ - g_byte_array_append (dest, "\r\n", 2); + if (dest->data[dest->len - 1] != '\n') { + g_byte_array_append (dest, "\r\n", 2); + } save_space = FALSE; } |