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:
parent
d16ceca5c5
commit
91a48115bb
@ -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)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user