Commit c60e82ea authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent bb67fa9b
......@@ -318,7 +318,7 @@ func (p *AnswerLockedTransactions) NEODecode(data []byte) (int, error) {
p.TidDict = make(map[Tid]Tid, l)
m := p.TidDict
for i := 0; uint32(i) < l; i++ {
key = Tid(binary.BigEndian.Uint64(data[0:]))
key := Tid(binary.BigEndian.Uint64(data[0:]))
m[key] = Tid(binary.BigEndian.Uint64(data[8:]))
data = data[16:]
}
......@@ -874,7 +874,7 @@ func (p *AnswerObjectUndoSerial) NEODecode(data []byte) (int, error) {
}, l)
m := p.ObjectTIDDict
for i := 0; uint32(i) < l; i++ {
key = Oid(binary.BigEndian.Uint64(data[0:]))
key := Oid(binary.BigEndian.Uint64(data[0:]))
m[key].CurrentSerial = Tid(binary.BigEndian.Uint64(data[8:]))
m[key].UndoSerial = Tid(binary.BigEndian.Uint64(data[16:]))
m[key].IsCurrent = byte2bool((data[24:])[0])
......@@ -927,7 +927,7 @@ func (p *CheckReplicas) NEODecode(data []byte) (int, error) {
p.PartitionDict = make(map[uint32]UUID, l)
m := p.PartitionDict
for i := 0; uint32(i) < l; i++ {
key = binary.BigEndian.Uint32(data[0:])
key := binary.BigEndian.Uint32(data[0:])
m[key] = UUID(int32(binary.BigEndian.Uint32(data[4:])))
data = data[8:]
}
......
......@@ -250,7 +250,7 @@ func (d *decoder) emitmap(assignto string, obj types.Object, typ *types.Map) {
//d.emit("if len(data) < l { return 0, ErrDecodeOverflow }")
d.emit("m := %v", assignto)
d.emit("for i := 0; uint32(i) < l; i++ {")
d.emitobjtype("key", obj, typ.Key()) // TODO -> :=
d.emitobjtype("key:", obj, typ.Key())
d.emitobjtype("m[key]", obj, typ.Elem())
d.emit("data = data[%v:]", d.n) // FIXME wrt map of map ?
d.emit("}")
......@@ -275,7 +275,9 @@ func (d *decoder) emitobjtype(assignto string, obj types.Object, typ types.Type)
// -> need to cast
decoded = fmt.Sprintf("%v(%v)", typeName(typ), decoded)
}
d.emit("%s = %s", assignto, decoded)
// NOTE no space before "=" - to be able to merge with ":"
// prefix and become defining assignment
d.emit("%s= %s", assignto, decoded)
case *types.Array:
// TODO optimize for [...]byte
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment