]> Cypherpunks repositories - gostls13.git/commitdiff
A couple of tighter loops.
authorRobert Griesemer <gri@golang.org>
Mon, 28 Dec 2009 23:48:58 +0000 (15:48 -0800)
committerRobert Griesemer <gri@golang.org>
Mon, 28 Dec 2009 23:48:58 +0000 (15:48 -0800)
(I was looking at this code accidentally because of some gofmt
issues and thought that one could write this more effectively.
You may have deliberately chosen not to use ranges here to make
the index range clearer. Just let me know.)

R=agl, agl1
CC=golang-dev
https://golang.org/cl/181084

src/pkg/crypto/md5/md5.go

index 2ee57f42143cef6a85cc67a091eeca3a0037fa2a..fd0984a418adc2294e78474a81ab83578ca15447 100644 (file)
@@ -68,8 +68,8 @@ func (d *digest) Write(p []byte) (nn int, err os.Error) {
        n := _Block(d, p)
        p = p[n:]
        if len(p) > 0 {
-               for i := 0; i < len(p); i++ {
-                       d.x[i] = p[i]
+               for i, x := range p {
+                       d.x[i] = x
                }
                d.nx = len(p)
        }
@@ -100,16 +100,12 @@ func (d *digest) Sum() []byte {
 
        p := make([]byte, 16)
        j := 0
-       for i := 0; i < 4; i++ {
-               s := d.s[i]
-               p[j] = byte(s)
-               j++
-               p[j] = byte(s >> 8)
-               j++
-               p[j] = byte(s >> 16)
-               j++
-               p[j] = byte(s >> 24)
-               j++
+       for _, s := range d.s {
+               p[j+0] = byte(s >> 0)
+               p[j+1] = byte(s >> 8)
+               p[j+2] = byte(s >> 16)
+               p[j+3] = byte(s >> 24)
+               j += 4
        }
        return p
 }