summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2011-09-21 14:18:48 -0700
committerRobert Griesemer <gri@golang.org>2011-09-21 14:18:48 -0700
commit91a48115bb7d773ac38f46e3127b6ca8a6c3e980 (patch)
tree2f13dcbfc2b3e0d8d0d21855ddd11e0aecd76aa5
parentd16ceca5c59c79c63f4847244d784ac49c944ff4 (diff)
downloadgo-git-91a48115bb7d773ac38f46e3127b6ca8a6c3e980.tar.gz
gob: slightly simpler code for encodeUint
R=r CC=golang-dev https://golang.org/cl/5077047
-rw-r--r--src/pkg/gob/encode.go13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/pkg/gob/encode.go b/src/pkg/gob/encode.go
index 317014efda..5100eaad5d 100644
--- a/src/pkg/gob/encode.go
+++ b/src/pkg/gob/encode.go
@@ -59,15 +59,14 @@ func (state *encoderState) encodeUint(x uint64) {
}
return
}
- var n, m int
- m = uint64Size
- for n = 1; x > 0; n++ {
- state.buf[m] = uint8(x)
+ i := uint64Size
+ for x > 0 {
+ state.buf[i] = uint8(x)
x >>= 8
- m--
+ i--
}
- state.buf[m] = uint8(-(n - 1))
- n, err := state.b.Write(state.buf[m : uint64Size+1])
+ state.buf[i] = uint8(i - uint64Size) // = loop count, negated
+ _, err := state.b.Write(state.buf[i : uint64Size+1])
if err != nil {
error(err)
}