From edc8216aa23878b3154c0b681872e1508fc69b0c Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Wed, 24 Dec 2014 09:16:13 +0700 Subject: [PATCH] handle this not like an idiot --- msg_reader.go | 4 ---- query_test.go | 2 -- value_reader.go | 4 ++++ 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/msg_reader.go b/msg_reader.go index 1582c96a..c958253c 100644 --- a/msg_reader.go +++ b/msg_reader.go @@ -191,10 +191,6 @@ func (r *msgReader) readBytes(count int32) []byte { return nil } - if count < 1 { - return nil - } - b := make([]byte, int(count)) _, err := io.ReadFull(r.reader, b) diff --git a/query_test.go b/query_test.go index 9620157a..6cb384df 100644 --- a/query_test.go +++ b/query_test.go @@ -822,12 +822,10 @@ func TestReadingNullByteArray(t *testing.T) { } } - func TestReadingNullByteArrays(t *testing.T) { conn := mustConnect(t, *defaultConnConfig) defer closeConn(t, conn) - rows, err := conn.Query("select null::text union all select null::text") if err != nil { t.Fatalf("conn.Query failed: ", err) diff --git a/value_reader.go b/value_reader.go index 4afe9f3d..3b388825 100644 --- a/value_reader.go +++ b/value_reader.go @@ -113,6 +113,10 @@ func (r *ValueReader) ReadBytes(count int32) []byte { return nil } + if count == -1 { + return nil + } + r.valueBytesRemaining -= count if r.valueBytesRemaining < 0 { r.Fatal(errors.New("read past end of value"))