]> Cypherpunks repositories - gostls13.git/commitdiff
all: avoid bytes.NewBuffer(nil)
authorRob Pike <r@golang.org>
Mon, 6 Feb 2012 03:09:00 +0000 (14:09 +1100)
committerRob Pike <r@golang.org>
Mon, 6 Feb 2012 03:09:00 +0000 (14:09 +1100)
The practice encourages people to think this is the way to
create a bytes.Buffer when new(bytes.Buffer) or
just var buf bytes.Buffer work fine.
(html/token.go was missing the point altogether.)

R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/5637043

18 files changed:
src/pkg/bufio/bufio_test.go
src/pkg/compress/flate/deflate_test.go
src/pkg/compress/lzw/reader_test.go
src/pkg/compress/zlib/writer_test.go
src/pkg/encoding/asn1/marshal.go
src/pkg/encoding/gob/encoder_test.go
src/pkg/encoding/hex/hex.go
src/pkg/encoding/hex/hex_test.go
src/pkg/encoding/pem/pem.go
src/pkg/encoding/pem/pem_test.go
src/pkg/exp/html/escape.go
src/pkg/exp/html/parse_test.go
src/pkg/exp/html/token.go
src/pkg/exp/html/token_test.go
src/pkg/html/escape.go
src/pkg/image/jpeg/writer_test.go
src/pkg/image/png/writer_test.go
src/pkg/old/template/template_test.go

index 6463bbb9cb3fde048fae35db8fffcb64bf7b31c8..a2ee849f581b0588435c21ad5fd5d776dd718025 100644 (file)
@@ -688,7 +688,7 @@ func TestReadAfterLines(t *testing.T) {
 }
 
 func TestReadEmptyBuffer(t *testing.T) {
-       l, _ := NewReaderSize(bytes.NewBuffer(nil), minReadBufferSize)
+       l, _ := NewReaderSize(new(bytes.Buffer), minReadBufferSize)
        line, isPrefix, err := l.ReadLine()
        if err != io.EOF {
                t.Errorf("expected EOF from ReadLine, got '%s' %t %s", line, isPrefix, err)
index 24881d31c069ff7e5f9fd72c6ffee29e21f4597f..75d801df4053230e095b23825c76f770d02148a6 100644 (file)
@@ -229,14 +229,14 @@ func testToFromWithLevel(t *testing.T, level int, input []byte, name string) err
 }
 
 func testToFromWithLevelAndLimit(t *testing.T, level int, input []byte, name string, limit int) error {
-       buffer := bytes.NewBuffer(nil)
-       w := NewWriter(buffer, level)
+       var buffer bytes.Buffer
+       w := NewWriter(&buffer, level)
        w.Write(input)
        w.Close()
        if limit > 0 && buffer.Len() > limit {
                t.Errorf("level: %d, len(compress(data)) = %d > limit = %d", level, buffer.Len(), limit)
        }
-       r := NewReader(buffer)
+       r := NewReader(&buffer)
        out, err := ioutil.ReadAll(r)
        if err != nil {
                t.Errorf("read: %s", err)
index 09821573cc03cb6db4ed9ccbfd54f6a4866f0fe6..e5be12f54e8d0cd65fecadbc603a6b76098e8ea0 100644 (file)
@@ -81,7 +81,7 @@ var lzwTests = []lzwTest{
 }
 
 func TestReader(t *testing.T) {
-       b := bytes.NewBuffer(nil)
+       var b bytes.Buffer
        for _, tt := range lzwTests {
                d := strings.Split(tt.desc, ";")
                var order Order
@@ -97,7 +97,7 @@ func TestReader(t *testing.T) {
                rc := NewReader(strings.NewReader(tt.compressed), order, litWidth)
                defer rc.Close()
                b.Reset()
-               n, err := io.Copy(b, rc)
+               n, err := io.Copy(&b, rc)
                if err != nil {
                        if err != tt.err {
                                t.Errorf("%s: io.Copy: %v want %v", tt.desc, err, tt.err)
@@ -116,7 +116,7 @@ func benchmarkDecoder(b *testing.B, n int) {
        b.SetBytes(int64(n))
        buf0, _ := ioutil.ReadFile("../testdata/e.txt")
        buf0 = buf0[:10000]
-       compressed := bytes.NewBuffer(nil)
+       compressed := new(bytes.Buffer)
        w := NewWriter(compressed, LSB, 8)
        for i := 0; i < n; i += len(buf0) {
                io.Copy(w, bytes.NewBuffer(buf0))
index a71894da3200ab92258727682f8344bd1a5f47fd..1c75d088ddf2879a172a6640354012999a38d408 100644 (file)
@@ -124,8 +124,8 @@ func TestWriterDict(t *testing.T) {
 
 func TestWriterDictIsUsed(t *testing.T) {
        var input = []byte("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
-       buf := bytes.NewBuffer(nil)
-       compressor, err := NewWriterDict(buf, BestCompression, input)
+       var buf bytes.Buffer
+       compressor, err := NewWriterDict(&buf, BestCompression, input)
        if err != nil {
                t.Errorf("error in NewWriterDict: %s", err)
                return
index c181e43f9798bc893823ace212343bcb60fc9c14..774bee74baacbd67ce8eff74523afdd5fca41c6a 100644 (file)
@@ -24,7 +24,7 @@ type forkableWriter struct {
 }
 
 func newForkableWriter() *forkableWriter {
-       return &forkableWriter{bytes.NewBuffer(nil), nil, nil}
+       return &forkableWriter{new(bytes.Buffer), nil, nil}
 }
 
 func (f *forkableWriter) fork() (pre, post *forkableWriter) {
index 7a30f9107e636638e6d666fce46792d5bb639be2..9a62cf9c2ade63cf7aa658fe4c20facd5c8d4394 100644 (file)
@@ -570,8 +570,7 @@ func TestGobMapInterfaceEncode(t *testing.T) {
                "bo": []bool{false},
                "st": []string{"s"},
        }
-       buf := bytes.NewBuffer(nil)
-       enc := NewEncoder(buf)
+       enc := NewEncoder(new(bytes.Buffer))
        err := enc.Encode(m)
        if err != nil {
                t.Errorf("encode map: %s", err)
@@ -579,7 +578,7 @@ func TestGobMapInterfaceEncode(t *testing.T) {
 }
 
 func TestSliceReusesMemory(t *testing.T) {
-       buf := bytes.NewBuffer(nil)
+       buf := new(bytes.Buffer)
        // Bytes
        {
                x := []byte("abcd")
index eb7e7ca8d3878cebd044070fdd6ba84ea1dabdb8..e7c22dac72fdbb2eb30a4d7050777829f99cbc72 100644 (file)
@@ -103,8 +103,8 @@ func DecodeString(s string) ([]byte, error) {
 // Dump returns a string that contains a hex dump of the given data. The format
 // of the hex dump matches the output of `hexdump -C` on the command line.
 func Dump(data []byte) string {
-       buf := bytes.NewBuffer(nil)
-       dumper := Dumper(buf)
+       var buf bytes.Buffer
+       dumper := Dumper(&buf)
        dumper.Write(data)
        dumper.Close()
        return string(buf.Bytes())
index 8e1838e51e6f4c2b2562f74b2e462ec75f47462a..ff60e893536e896bcdfa59dc9428c9c2aebcf919 100644 (file)
@@ -155,8 +155,8 @@ func TestDumper(t *testing.T) {
        }
 
        for stride := 1; stride < len(in); stride++ {
-               out := bytes.NewBuffer(nil)
-               dumper := Dumper(out)
+               var out bytes.Buffer
+               dumper := Dumper(&out)
                done := 0
                for done < len(in) {
                        todo := done + stride
index 3eb7c9fa0d91a9ee0a7bd872c1d73c4d5f00a4c6..38afbb42aff1ff1fa103d88b1a843f3c0eea47f3 100644 (file)
@@ -251,7 +251,7 @@ func Encode(out io.Writer, b *Block) (err error) {
 }
 
 func EncodeToMemory(b *Block) []byte {
-       buf := bytes.NewBuffer(nil)
-       Encode(buf, b)
+       var buf bytes.Buffer
+       Encode(&buf, b)
        return buf.Bytes()
 }
index 11efe55448709b7a6ee7bfe115a668984a906a35..9ae1578a501a30ce823163c0a318ed027c214c29 100644 (file)
@@ -73,7 +73,7 @@ var lineBreakerTests = []lineBreakerTest{
 
 func TestLineBreaker(t *testing.T) {
        for i, test := range lineBreakerTests {
-               buf := bytes.NewBuffer(nil)
+               buf := new(bytes.Buffer)
                var breaker lineBreaker
                breaker.out = buf
                _, err := breaker.Write([]byte(test.in))
@@ -93,7 +93,7 @@ func TestLineBreaker(t *testing.T) {
        }
 
        for i, test := range lineBreakerTests {
-               buf := bytes.NewBuffer(nil)
+               buf := new(bytes.Buffer)
                var breaker lineBreaker
                breaker.out = buf
 
index 42be865ef080ad0b7c2a843da63dac852f40f25c..8f62a8c288079fb8110b73fe1cf9afa815e2d359 100644 (file)
@@ -233,8 +233,8 @@ func EscapeString(s string) string {
        if strings.IndexAny(s, escapedChars) == -1 {
                return s
        }
-       buf := bytes.NewBuffer(nil)
-       escape(buf, s)
+       var buf bytes.Buffer
+       escape(&buf, s)
        return buf.String()
 }
 
index 1528dffaafa1533304fdba8022b3db5f4b0aa648..f3f966cf58e73771f3811ab99ffe216669892c12 100644 (file)
@@ -159,9 +159,9 @@ func dump(n *Node) (string, error) {
        if n == nil || len(n.Child) == 0 {
                return "", nil
        }
-       b := bytes.NewBuffer(nil)
+       var b bytes.Buffer
        for _, child := range n.Child {
-               if err := dumpLevel(b, child, 0); err != nil {
+               if err := dumpLevel(&b, child, 0); err != nil {
                        return "", err
                }
        }
index 5a385a1b5c544df4fd762e0e6e7c926d4a825b4e..b5e9c2d6ea34c274effe074a8fbce9d113230019 100644 (file)
@@ -77,8 +77,7 @@ func (t Token) tagString() string {
        if len(t.Attr) == 0 {
                return t.Data
        }
-       buf := bytes.NewBuffer(nil)
-       buf.WriteString(t.Data)
+       buf := bytes.NewBufferString(t.Data)
        for _, a := range t.Attr {
                buf.WriteByte(' ')
                buf.WriteString(a.Key)
index 672d60c420940b558f85822013faa9b82d0e80ed..61d74006eab6154664dee216cf3759a07d5e4b71 100644 (file)
@@ -555,8 +555,8 @@ func TestUnescapeEscape(t *testing.T) {
 
 func TestBufAPI(t *testing.T) {
        s := "0<a>1</a>2<b>3<a>4<a>5</a>6</b>7</a>8<a/>9"
-       z := NewTokenizer(bytes.NewBuffer([]byte(s)))
-       result := bytes.NewBuffer(nil)
+       z := NewTokenizer(bytes.NewBufferString(s))
+       var result bytes.Buffer
        depth := 0
 loop:
        for {
index dbe1b9cd37981676c43af306cfec8bfffa741598..fee771a5784e200eb47d42072ebb463e78aaaef9 100644 (file)
@@ -238,8 +238,8 @@ func EscapeString(s string) string {
        if strings.IndexAny(s, escapedChars) == -1 {
                return s
        }
-       buf := bytes.NewBuffer(nil)
-       escape(buf, s)
+       var buf bytes.Buffer
+       escape(&buf, s)
        return buf.String()
 }
 
index e4b56d28847d517e7c9ea0eda7d19763623db55f..b8e8fa34e189ce97857f9e3c3a662a0b3288ded8 100644 (file)
@@ -54,14 +54,14 @@ func TestWriter(t *testing.T) {
                        continue
                }
                // Encode that image as JPEG.
-               buf := bytes.NewBuffer(nil)
-               err = Encode(buf, m0, &Options{Quality: tc.quality})
+               var buf bytes.Buffer
+               err = Encode(&buf, m0, &Options{Quality: tc.quality})
                if err != nil {
                        t.Error(tc.filename, err)
                        continue
                }
                // Decode that JPEG.
-               m1, err := Decode(buf)
+               m1, err := Decode(&buf)
                if err != nil {
                        t.Error(tc.filename, err)
                        continue
index 228ecccfb4f76486457d7ab6b81847abcf22229f..644c4fb44b39a6a9fb4732213fae53f32dcf2d6a 100644 (file)
@@ -35,12 +35,12 @@ func diff(m0, m1 image.Image) error {
 }
 
 func encodeDecode(m image.Image) (image.Image, error) {
-       b := bytes.NewBuffer(nil)
-       err := Encode(b, m)
+       var b bytes.Buffer
+       err := Encode(&b, m)
        if err != nil {
                return nil, err
        }
-       m, err = Decode(b)
+       m, err = Decode(&b)
        if err != nil {
                return nil, err
        }
index f42a61a1b13be5fdc51c111e8556a8d6c8d09719..854a548e5aafd7dc43ee752fb2be3b80116d1127 100644 (file)
@@ -795,8 +795,8 @@ func TestFormatters(t *testing.T) {
                                t.Errorf("For %q, expected error, got none.", c.in)
                                continue
                        }
-                       buf := bytes.NewBuffer(nil)
-                       err = tmpl.Execute(buf, data)
+                       var buf bytes.Buffer
+                       err = tmpl.Execute(&buf, data)
                        if err != nil {
                                t.Error("unexpected Execute error: ", err)
                                continue