1
0
mirror of https://github.com/golang/go synced 2024-09-25 01:30:13 -06:00

gob: slightly simpler code for encodeUint

R=r
CC=golang-dev
https://golang.org/cl/5077047
This commit is contained in:
Robert Griesemer 2011-09-21 14:18:48 -07:00
parent d16ceca5c5
commit 91a48115bb

View File

@ -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)
}