/* Advance the current position (read in new data if needed). Delete outdated string info. Find a match string for current position. */
BOOLEAN GetNextMatch(VOID)
/* Advance the current position (read in new data if needed). Delete outdated string info. Find a match string for current position. */
BOOLEAN GetNextMatch(VOID)
{
  INT32  LoopVar8;
  VOID   *Temp;
  mRemainder--;
  mPos++;
  if (mPos == WNDSIZ * 2) {
    Temp = AllocateZeroPool (WNDSIZ + MAXMATCH);
    if (Temp == NULL) {
      return (FALSE);
    }
    CopyMem (Temp, &mText[WNDSIZ], WNDSIZ + MAXMATCH);
    CopyMem (&mText[0], Temp, WNDSIZ + MAXMATCH);
    FreePool (Temp);
    LoopVar8    = FreadCrc (&mText[WNDSIZ + MAXMATCH], WNDSIZ);
    mRemainder += LoopVar8;
    mPos        = WNDSIZ;
  }
  DeleteNode ();
  InsertNode ();
  return (TRUE);
}