]> Cypherpunks repositories - gostls13.git/commitdiff
gofmt: no need for lexical compare of src and res (optimization)
authorRobert Griesemer <gri@golang.org>
Fri, 4 Feb 2011 23:36:32 +0000 (15:36 -0800)
committerRobert Griesemer <gri@golang.org>
Fri, 4 Feb 2011 23:36:32 +0000 (15:36 -0800)
R=r
CC=golang-dev
https://golang.org/cl/4130046

src/cmd/gofmt/gofmt.go

index d7b70c4615acbcc3b75485558320ae43eb963ede..1eb4a95c0e91d5eb65c1f49b85bd0b4f14406bb6 100644 (file)
@@ -113,19 +113,20 @@ func processFile(f *os.File) os.Error {
                simplify(file)
        }
 
-       var res bytes.Buffer
-       _, err = (&printer.Config{printerMode, *tabWidth, nil}).Fprint(&res, fset, file)
+       var buf bytes.Buffer
+       _, err = (&printer.Config{printerMode, *tabWidth, nil}).Fprint(&buf, fset, file)
        if err != nil {
                return err
        }
+       res := buf.Bytes()
 
-       if bytes.Compare(src, res.Bytes()) != 0 {
+       if !bytes.Equal(src, res) {
                // formatting has changed
                if *list {
                        fmt.Fprintln(os.Stdout, f.Name())
                }
                if *write {
-                       err = ioutil.WriteFile(f.Name(), res.Bytes(), 0)
+                       err = ioutil.WriteFile(f.Name(), res, 0)
                        if err != nil {
                                return err
                        }
@@ -133,7 +134,7 @@ func processFile(f *os.File) os.Error {
        }
 
        if !*list && !*write {
-               _, err = os.Stdout.Write(res.Bytes())
+               _, err = os.Stdout.Write(res)
        }
 
        return err