From ba6713e21232d0a80d665e7e5541c7c3a28eb99e Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 23 Jul 2015 23:53:35 +0200 Subject: Mimic stdlib --- tde/tde.go | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'tde') diff --git a/tde/tde.go b/tde/tde.go index 44ee6e3..2b4e35b 100644 --- a/tde/tde.go +++ b/tde/tde.go @@ -17,10 +17,7 @@ func (t TDE) Write(p []byte) (n int, err error) { if err := binary.Write(t.Conn, nbo, size); err != nil { return 0, err } - if err := binary.Write(t.Conn, nbo, p); err != nil { - return 0, err - } - return int(size), nil + return t.Conn.Write(p) } func (t TDE) Read(p []byte) (n int, err error) { @@ -28,14 +25,15 @@ func (t TDE) Read(p []byte) (n int, err error) { if err := binary.Read(t.Conn, nbo, &size); err != nil { return 0, err } - if int(size) < len(p) { - p = p[:size] - err = io.EOF - } - if err := binary.Read(t.Conn, nbo, p); err != nil { - return 0, err - } - return int(size), err + return t.Conn.Read(p[:size]) +} + +const maxLen = 240 + +func ReadAll(r io.Reader) ([]byte, error) { + p := make([]byte, maxLen) + n, err := r.Read(p) + return p[:n], err } func Dial(service string) (TDE, error) { -- cgit v1.2.3