aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarin Ivanov <[email protected]>2024-03-29 01:14:59 +0200
committerMarin Ivanov <[email protected]>2024-03-29 01:14:59 +0200
commitff2fff5a72217aaaa8ceea20f4732bea97cc382e (patch)
tree35a9bcffee2cb10e069bbaa4771eb068dbbc2229
parent5f2bcbaf163ff096137cab84bafc7bd1e8301447 (diff)
fix search
-rw-r--r--main.go8
1 files 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)
}
}