From a303cb7e27366789d35cf521ba413adf014e5e89 Mon Sep 17 00:00:00 2001 From: Taylor Blau Date: Wed, 2 Aug 2017 13:26:38 -0600 Subject: [PATCH] git: teach *PktlineWriter.Flush() to respond to nil receiver --- git/pkt_line_writer.go | 4 ++++ git/pkt_line_writer_test.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/git/pkt_line_writer.go b/git/pkt_line_writer.go index 6919ee68..b485822b 100644 --- a/git/pkt_line_writer.go +++ b/git/pkt_line_writer.go @@ -87,6 +87,10 @@ func (w *PktlineWriter) Write(p []byte) (int, error) { // writes the pkt-line's FLUSH packet, to signal that it is done writing this // chunk of data. func (w *PktlineWriter) Flush() error { + if w == nil { + return nil + } + if _, err := w.flush(); err != nil { return err } diff --git a/git/pkt_line_writer_test.go b/git/pkt_line_writer_test.go index 3710c2c6..53e81aca 100644 --- a/git/pkt_line_writer_test.go +++ b/git/pkt_line_writer_test.go @@ -81,6 +81,10 @@ func TestPktlineWriterWritesMultiplePacketsGreaterThanMaxPacketLength(t *testing assertPacketRead(t, pl, nil) } +func TestPktlineWriterAllowsFlushesOnNil(t *testing.T) { + assert.NoError(t, (*PktlineWriter)(nil).Flush()) +} + func TestPktlineWriterDoesntWrapItself(t *testing.T) { itself := &PktlineWriter{} nw := NewPktlineWriter(itself, 0)