Now that I look at it, is_stopword() is broken and always has been.

Doesn't anyone remember how to program a binary search??
This commit is contained in:
Tom Lane 2000-07-04 06:29:27 +00:00
parent 6d87107b0e
commit 4e71240dbb

View File

@ -351,10 +351,9 @@ is_stopword(char *text)
StopLow = &StopWords[0]; /* initialize stuff for binary search */
StopHigh = endof(StopWords);
if (lengthof(StopWords) == 0)
return false;
/* Loop invariant: *StopLow <= text < *StopHigh */
while (StopLow <= StopHigh)
while (StopLow < StopHigh)
{
StopMiddle = StopLow + (StopHigh - StopLow) / 2;
difference = strcmp(*StopMiddle, text);
@ -363,7 +362,7 @@ is_stopword(char *text)
else if (difference < 0)
StopLow = StopMiddle + 1;
else
StopHigh = StopMiddle - 1;
StopHigh = StopMiddle;
}
return (false);