diff --git a/lib/fed/encoder.go b/lib/fed/encoder.go index a4a22124f662c5cb29ce27324681058ad7840d1c..809ea82ca92f36f1c94946dbd41c528bd9201e90 100644 --- a/lib/fed/encoder.go +++ b/lib/fed/encoder.go @@ -196,6 +196,7 @@ func (T *Encoder) String(v string) error { for len(v) > 0 { n := copy(T.buffer[T.bufferPos:], v) T.bufferPos += n + T.packetPos += n if T.bufferPos >= len(T.buffer) { if err := T.Flush(); err != nil { return err @@ -203,5 +204,9 @@ func (T *Encoder) String(v string) error { } v = v[n:] } - return T.writeByte(0) + if err := T.writeByte(0); err != nil { + return err + } + T.packetPos += 1 + return nil }