From: Teodor Sigaev Date: Thu, 15 Jan 2009 18:29:47 +0000 (+0000) Subject: Fix generation of too long headline with ShortWords. X-Git-Tag: REL7_4_24~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f58cccb0b5b09790a2539845c9e0bfe23c8eca3c;p=thirdparty%2Fpostgresql.git Fix generation of too long headline with ShortWords. Per http://archives.postgresql.org/pgsql-hackers/2008-09/msg01088.php --- diff --git a/contrib/tsearch2/wparser_def.c b/contrib/tsearch2/wparser_def.c index 352fae298c4..53199992c8e 100644 --- a/contrib/tsearch2/wparser_def.c +++ b/contrib/tsearch2/wparser_def.c @@ -280,11 +280,13 @@ prsd_headline(PG_FUNCTION_ARGS) break; } if ( curlen < min_words && i>=prs->curwords ) { /* got end of text and our cover is shoter than min_words */ - for(i=p; i>= 0; i--) { + for(i=p-1; i>= 0; i--) { if (!NONWORDTOKEN(prs->words[i].type)) curlen++; if (prs->words[i].item && !prs->words[i].repeated) poslen++; + if ( curlen >= max_words ) + break; if (NOENDTOKEN(prs->words[i].type) || prs->words[i].len <= shortword) continue; if (curlen >= min_words)