Re: tsearch2 regression test failures - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: tsearch2 regression test failures
Date
Msg-id 20070326105821.GC1533@svr2.hagander.net
Whole thread Raw
In response to Re: tsearch2 regression test failures  (Teodor Sigaev <teodor@sigaev.ru>)
Responses Re: tsearch2 regression test failures  (Teodor Sigaev <teodor@sigaev.ru>)
List pgsql-hackers
On Mon, Mar 26, 2007 at 02:32:26PM +0400, Teodor Sigaev wrote:
> >FWIW, it looks like it failed to reject stopwords.  Is it possible you
> Right.
> 
> I suppose the problem is with '\r\n'... Try attached patch.
> -- 
> Teodor Sigaev                                   E-mail: teodor@sigaev.ru
>                                                    WWW: 
>                                                    http://www.sigaev.ru/

> *** ./contrib/tsearch2/stopword.c.orig    Mon Mar 26 14:25:16 2007
> --- ./contrib/tsearch2/stopword.c    Mon Mar 26 14:28:25 2007
> ***************
> *** 47,53 ****
>   
>           while (fgets(buf, sizeof(buf), hin))
>           {
> !             buf[strlen(buf) - 1] = '\0';
>               pg_verifymbstr(buf, strlen(buf), false);
>               if (*buf == '\0')
>                   continue;
> --- 47,57 ----
>   
>           while (fgets(buf, sizeof(buf), hin))
>           {
> !             pbuf = buf;
> !             while( !isspace( *pbuf ) )
> !                 pbuf++;
> !             *pbuf = '\0';
> ! 
>               pg_verifymbstr(buf, strlen(buf), false);
>               if (*buf == '\0')
>                   continue;


Yup, that solved the problem, thanks.

Wouldn't it be more efficiently written to walk the string backwards until
!isspace instead? Not sure that it matters at all, but then you'll
normallyi never step over more than two bytes...

//Magnus


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Group Commit
Next
From: Teodor Sigaev
Date:
Subject: Re: tsearch2 regression test failures