mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-04-01 09:24:51 +02:00
Fix bugs in unpacker.
This commit is contained in:
parent
1b010a082b
commit
fccf1016e4
@ -18,14 +18,14 @@ func readUint16(reader io.Reader) (v uint16, n int, err os.Error) {
|
|||||||
data := [2]byte{}
|
data := [2]byte{}
|
||||||
n, e := reader.Read(data[0:])
|
n, e := reader.Read(data[0:])
|
||||||
if e != nil { return 0, n, e }
|
if e != nil { return 0, n, e }
|
||||||
return (uint16(data[0]) >> 8) | uint16(data[1]), n, nil
|
return (uint16(data[0]) << 8) | uint16(data[1]), n, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func readUint32(reader io.Reader) (v uint32, n int, err os.Error) {
|
func readUint32(reader io.Reader) (v uint32, n int, err os.Error) {
|
||||||
data := [4]byte{}
|
data := [4]byte{}
|
||||||
n, e := reader.Read(data[0:])
|
n, e := reader.Read(data[0:])
|
||||||
if e != nil { return 0, n, e }
|
if e != nil { return 0, n, e }
|
||||||
return (uint32(data[0]) << 24) | (uint32(data[1]) << 16) | (uint32(data[2]) << 8) | uint32(data[1]), n, nil
|
return (uint32(data[0]) << 24) | (uint32(data[1]) << 16) | (uint32(data[2]) << 8) | uint32(data[3]), n, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func readUint64(reader io.Reader) (v uint64, n int, err os.Error) {
|
func readUint64(reader io.Reader) (v uint64, n int, err os.Error) {
|
||||||
@ -46,7 +46,7 @@ func readInt32(reader io.Reader) (v int32, n int, err os.Error) {
|
|||||||
data := [4]byte{}
|
data := [4]byte{}
|
||||||
n, e := reader.Read(data[0:])
|
n, e := reader.Read(data[0:])
|
||||||
if e != nil { return 0, n, e }
|
if e != nil { return 0, n, e }
|
||||||
return (int32(data[0]) << 24) | (int32(data[1]) << 16) | (int32(data[2]) << 8) | int32(data[1]), n, nil
|
return (int32(data[0]) << 24) | (int32(data[1]) << 16) | (int32(data[2]) << 8) | int32(data[3]), n, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func readInt64(reader io.Reader) (v int64, n int, err os.Error) {
|
func readInt64(reader io.Reader) (v int64, n int, err os.Error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user