transform: Return any read or write error from Apply
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 3 Nov 2016 23:44:49 +0000 (00:44 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 3 Nov 2016 23:44:49 +0000 (00:44 +0100)
transform/chain.go

index 7be38ccaa2bdc2a52b91a94b3bdaf3127eadff0c..fbcf0eff2582bce6f49c1e9a3eb7596db2141a1d 100644 (file)
@@ -69,10 +69,14 @@ func (c *chain) Apply(w io.Writer, r io.Reader, p []byte) error {
        b1 := bp.GetBuffer()
        defer bp.PutBuffer(b1)
 
-       b1.ReadFrom(r)
+       if _, err := b1.ReadFrom(r); err != nil {
+               return err
+       }
 
        if len(*c) == 0 {
-               b1.WriteTo(w)
+               if _, err := b1.WriteTo(w); err != nil {
+                       return err
+               }
                return nil
        }
 
@@ -97,6 +101,6 @@ func (c *chain) Apply(w io.Writer, r io.Reader, p []byte) error {
                tr(fb)
        }
 
-       fb.to.WriteTo(w)
-       return nil
+       _, err := fb.to.WriteTo(w)
+       return err
 }