···25252626 closed bool
2727 pending int64 // number of unwritten bytes
2828+2929+ closeErr error
2830}
29313032// NewWriter returns a new Writer writing to w.
···101103//
102104// Calling Close does not close the wrapped io.Writer originally passed to
103105// NewWriter.
106106+//
107107+// It returns an error, if any. Close will return the same error if called
108108+// multiple times.
104109func (w *Writer) Close() error {
110110+ if w.closed {
111111+ return w.closeErr
112112+ }
113113+105114 defer sync.PutZlibWriter(w.zlib)
106115 if err := w.zlib.Close(); err != nil {
116116+ w.closeErr = err
107117 return err
108118 }
109119