[structs]: fixed EOF for readfrom if struct was empty

This commit is contained in:
Jean-Philippe Bossuat
2023-05-01 21:10:26 +02:00
parent 5951af1c23
commit 88488da99e
4 changed files with 7 additions and 6 deletions

View File

@@ -286,7 +286,7 @@ func (share *GKGShare) WriteTo(w io.Writer) (n int64, err error) {
n += inc2
return
return n, err
default:
return share.WriteTo(bufio.NewWriter(w))

View File

@@ -149,7 +149,7 @@ func (evk *EvaluationKeySet) WriteTo(w io.Writer) (int64, error) {
n += int64(inc)
}
return n, nil
return n, w.Flush()
default:
return evk.WriteTo(bufio.NewWriter(w))

View File

@@ -90,7 +90,7 @@ func (m Matrix[T]) WriteTo(w io.Writer) (int64, error) {
}
}
return n, nil
return n, w.Flush()
default:
return m.WriteTo(bufio.NewWriter(w))
@@ -112,7 +112,7 @@ func (m *Matrix[T]) ReadFrom(r io.Reader) (int64, error) {
var size, n int
if n, err = buffer.ReadInt(r, &size); err != nil {
return int64(n), fmt.Errorf("cannot ReadFrom: size: %w", err)
return int64(n), fmt.Errorf("cannot buffer.ReadInt: size: %w", err)
}
if len(*m) != size {
@@ -127,7 +127,7 @@ func (m *Matrix[T]) ReadFrom(r io.Reader) (int64, error) {
var inc int
if inc, err = buffer.ReadInt(r, &size); err != nil {
return int64(n), fmt.Errorf("cannot ReadFrom: size: %w", err)
return int64(n), fmt.Errorf("cannot buffer.ReadInt: size: %w", err)
}
n += inc
@@ -144,6 +144,7 @@ func (m *Matrix[T]) ReadFrom(r io.Reader) (int64, error) {
var inc int64
if inc, err = codec.ReadFromWrapper(r, mi[i][j]); err != nil {
return int64(n) + inc, err
}

View File

@@ -78,7 +78,7 @@ func (v *Vector[T]) WriteTo(w io.Writer) (int64, error) {
n += inc
}
return n, nil
return n, w.Flush()
default:
return v.WriteTo(bufio.NewWriter(w))