From: Timo Sirainen Date: Thu, 4 Aug 2011 10:05:26 +0000 (+0300) Subject: fts: HTML parser now makes sure space is added for each X-Git-Tag: 2.1.alpha1~189 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=96f62326b890207d844f41baa8f736a04d973c30;p=thirdparty%2Fdovecot%2Fcore.git fts: HTML parser now makes sure space is added for each This could be smarter though, like not doing this for , but it gets a bit complex.. --- diff --git a/src/plugins/fts/fts-parser-html.c b/src/plugins/fts/fts-parser-html.c index 870aafe389..4dc63e4a1c 100644 --- a/src/plugins/fts/fts-parser-html.c +++ b/src/plugins/fts/fts-parser-html.c @@ -127,6 +127,15 @@ static size_t parse_entity(struct html_fts_parser *parser, return i + 1; } +static void parser_add_space(struct html_fts_parser *parser) +{ + const unsigned char *data = parser->output->data; + + if (parser->output->used > 0 && + data[parser->output->used-1] != ' ') + buffer_append_c(parser->output, ' '); +} + static size_t parse_data(struct html_fts_parser *parser, const unsigned char *data, size_t size) @@ -158,6 +167,7 @@ parse_data(struct html_fts_parser *parser, else if (c == '>') { parser->state = parser->ignore_next_text ? HTML_STATE_IGNORE : HTML_STATE_TEXT; + parser_add_space(parser); } break; case HTML_STATE_TAG_QUOTED: