while (i + m <= n) { shift_temp = 0; while (equal(t, p, i, j, h, n, location)) { if (uncontinue) { h++; } else { j++; h++; } if (temp != 0 && h - temp >= m - 1 && !uncontinue) { temp = 0; i = i + shift_temp; j = 1; h = j; s = new StringBuffer(); } else if (temp != 0 && !uncontinue) { temp = 0; i = i + shift_temp; j = 1; h = j; s = new StringBuffer(); } } i = i + shift[j - 1 + 1]; j = max(j - shift[j - 1 + 1], 1); }