]> Cypherpunks repositories - gostls13.git/commitdiff
makehtml: use append
authorRob Pike <r@golang.org>
Mon, 14 Feb 2011 19:47:19 +0000 (11:47 -0800)
committerRob Pike <r@golang.org>
Mon, 14 Feb 2011 19:47:19 +0000 (11:47 -0800)
The program is old and missed its opportunity.

R=gri, adg
CC=golang-dev
https://golang.org/cl/4178050

doc/htmlgen.go

index 5d0bad8b591a55386891260fd756efe9477f2437..4d68767c3007a1e1363ab8f49629f3bba56c5dff 100644 (file)
@@ -18,13 +18,13 @@ import (
 )
 
 var (
-       lines   = make([][]byte, 0, 10000) // assume big enough
-       linebuf = make([]byte, 10000)      // assume big enough
+       lines = make([][]byte, 0, 2000) // probably big enough; grows if not
 
        empty   = []byte("")
        newline = []byte("\n")
        tab     = []byte("\t")
        quote   = []byte(`"`)
+       indent  = []byte{' ', ' ', ' ', ' '}
 
        sectionMarker = []byte("----\n")
        preStart      = []byte("<pre>")
@@ -52,9 +52,7 @@ func read() {
                if err != nil {
                        log.Fatal(err)
                }
-               n := len(lines)
-               lines = lines[0 : n+1]
-               lines[n] = line
+               lines = append(lines, line)
        }
 }
 
@@ -173,19 +171,7 @@ func trim(l []byte) []byte {
        return l
 }
 
-// expand tabs to spaces. don't worry about columns.
+// expand tabs to spaces. don't worry about columns.
 func expandTabs(l []byte) []byte {
-       j := 0 // position in linebuf.
-       for _, c := range l {
-               if c == '\t' {
-                       for k := 0; k < 4; k++ {
-                               linebuf[j] = ' '
-                               j++
-                       }
-               } else {
-                       linebuf[j] = c
-                       j++
-               }
-       }
-       return linebuf[0:j]
+       return bytes.Replace(l, tab, indent, -1)
 }