From ff2fff5a72217aaaa8ceea20f4732bea97cc382e Mon Sep 17 00:00:00 2001 From: Marin Ivanov Date: Fri, 29 Mar 2024 01:14:59 +0200 Subject: fix search --- main.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index a0d217c..9389c65 100644 --- a/main.go +++ b/main.go @@ -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) } } -- cgit v1.2.3