summaryrefslogtreecommitdiff
path: root/proto/io.go
diff options
context:
space:
mode:
Diffstat (limited to 'proto/io.go')
-rw-r--r--proto/io.go16
1 files changed, 10 insertions, 6 deletions
diff --git a/proto/io.go b/proto/io.go
index 3c0c5be..1f46503 100644
--- a/proto/io.go
+++ b/proto/io.go
@@ -48,9 +48,11 @@ func Write(fd io.Writer, data interface{}) {
case nslcdObject:
data.nslcdWrite(fd)
case []byte:
- _, err := fd.Write(data)
- if err != nil {
- panic(err)
+ if len(data) > 0 {
+ _, err := fd.Write(data)
+ if err != nil {
+ panic(err)
+ }
}
case int32:
err := binary.Write(fd, binary.BigEndian, data)
@@ -109,9 +111,11 @@ func Read(fd io.Reader, data interface{}) {
case nslcdObjectPtr:
data.nslcdRead(fd)
case *[]byte:
- _, err := fd.Read(*data)
- if err != nil {
- panic(err)
+ if len(*data) > 0 {
+ _, err := fd.Read(*data)
+ if err != nil {
+ panic(err)
+ }
}
case *int32:
err := binary.Read(fd, binary.BigEndian, data)