diff --git a/reader.go b/reader.go index 91547c2..c3b0322 100644 --- a/reader.go +++ b/reader.go @@ -34,18 +34,14 @@ func (r *Reader) Read(p []byte) (n int, err error) { // N gets the number of bytes that have been read // so far. func (r *Reader) N() int64 { - var n int64 r.lock.RLock() - n = r.n - r.lock.RUnlock() - return n + defer r.lock.RUnlock() + return r.n } // Err gets the last error from the Reader. func (r *Reader) Err() error { - var err error r.lock.RLock() - err = r.err - r.lock.RUnlock() - return err + defer r.lock.RUnlock() + return r.err } diff --git a/writer.go b/writer.go index 27a0f7c..261ca38 100644 --- a/writer.go +++ b/writer.go @@ -34,18 +34,14 @@ func (w *Writer) Write(p []byte) (n int, err error) { // N gets the number of bytes that have been written // so far. func (w *Writer) N() int64 { - var n int64 w.lock.RLock() - n = w.n - w.lock.RUnlock() - return n + defer w.lock.RUnlock() + return w.n } // Err gets the last error from the Writer. func (w *Writer) Err() error { - var err error w.lock.RLock() - err = w.err - w.lock.RUnlock() - return err + defer w.lock.RUnlock() + return w.err }