Note: the author of this paper has moved to liamquin at interlog dot com
PRIVATE void MatchOnePhrase(Phrase) char *Phrase; { t_Phrase *P; unsigned long matchCount; if (!Phrase || !*Phrase) { /* ignore an empty phrase */ return; } if ((P = LQT_StringToPhrase(Phrase)) == (t_Phrase *) 0) { /* not empty, but contained no plausible words */ return; } /* PrintAndRejectOneMatch() is a function that prints * a single match. It is called for each match as soon as it is * read from the disk. This means that results start appearing * immediately, a huge benefit in a pipeline. * The `Reject' is because it doesn't retain the match in the * returned data structure. */ matchCount = LQT_MakeMatchesWhere(P, PrintAndRejectOneMatch); /* finished. */ return; }