We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ab769a4 commit 04653f2Copy full SHA for 04653f2
buffer.go
@@ -23,8 +23,9 @@ type buffer struct {
23
}
24
25
func newBuffer(rd io.Reader) *buffer {
26
+ var b [defaultBufSize]byte
27
return &buffer{
- buf: make([]byte, defaultBufSize),
28
+ buf: b[:],
29
rd: rd,
30
31
@@ -38,14 +39,9 @@ func (b *buffer) fill(need int) (err error) {
38
39
40
// grow buffer if necessary
41
if need > len(b.buf) {
- for {
42
- b.buf = append(b.buf, 0)
43
- b.buf = b.buf[:cap(b.buf)]
44
-
45
- if cap(b.buf) >= need {
46
- break
47
- }
48
+ newBuf := make([]byte, need)
+ copy(newBuf, b.buf)
+ b.buf = newBuf
49
50
51
b.idx = 0
0 commit comments