1
0
mirror of https://github.com/golang/go synced 2024-11-13 18:00:30 -07: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 return
} }
var n, m int i := uint64Size
m = uint64Size for x > 0 {
for n = 1; x > 0; n++ { state.buf[i] = uint8(x)
state.buf[m] = uint8(x)
x >>= 8 x >>= 8
m-- i--
} }
state.buf[m] = uint8(-(n - 1)) state.buf[i] = uint8(i - uint64Size) // = loop count, negated
n, err := state.b.Write(state.buf[m : uint64Size+1]) _, err := state.b.Write(state.buf[i : uint64Size+1])
if err != nil { if err != nil {
error(err) error(err)
} }