diff --git a/linebuf.go b/linebuf.go index f15a0f3..8cee645 100644 --- a/linebuf.go +++ b/linebuf.go @@ -52,6 +52,7 @@ func New(opts ...Option) *Scanner { for _, opt := range opts { opt(s) } + s.MaxBufSize = max(s.StartBufSize, s.MaxBufSize) s.buf = make([]byte, s.StartBufSize) return s } diff --git a/linebuf_test.go b/linebuf_test.go index 7781f22..70a3d38 100644 --- a/linebuf_test.go +++ b/linebuf_test.go @@ -117,7 +117,7 @@ func TestScanBufferExpand(t *testing.T) { } func TestScanBufferExpandMax(t *testing.T) { - sb := New(WithMaxBufSize(16)) + sb := New(WithStartBufSize(16), WithMaxBufSize(16)) err := sb.expand(16) require.ErrorIs(t, err, ErrTokenTooLong)