diff options
| author | Marin Ivanov <[email protected]> | 2024-03-29 01:14:59 +0200 |
|---|---|---|
| committer | Marin Ivanov <[email protected]> | 2024-03-29 01:14:59 +0200 |
| commit | ff2fff5a72217aaaa8ceea20f4732bea97cc382e (patch) | |
| tree | 35a9bcffee2cb10e069bbaa4771eb068dbbc2229 | |
| parent | 5f2bcbaf163ff096137cab84bafc7bd1e8301447 (diff) | |
fix search
| -rw-r--r-- | main.go | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -278,11 +278,9 @@ func search(r io.Reader, term []byte, offset int64) (int64, error) { termLen := len(term) buf := make([]byte, searchSize+termLen) - var err error - var n, idx int + n, err := r.Read(buf[termLen:]) + idx := bytes.Index(buf[termLen:n+termLen], term) for { - n, err = r.Read(buf[termLen:]) - idx = bytes.Index(buf[:n+termLen], term) if idx >= 0 { return offset + int64(idx), nil } @@ -293,6 +291,8 @@ func search(r io.Reader, term []byte, offset int64) (int64, error) { } copy(buf, buf[searchSize:]) offset += searchSize + n, err = r.Read(buf[termLen:]) + idx = bytes.Index(buf[:n+termLen], term) } } |
