public boolean matchString(String s) {
    int k = idx;
    for (int i = 0; i < s.length(); i++) {
      if (k >= len || s.charAt(i) != buf[k++]) { return false; }
    }
    idx = k;
    return true;
  }