Browse Source

codec: encode invalid values as nil.

Fixes #40
Ugorji Nwoke 11 years ago
parent
commit
a7f0616e8c
1 changed files with 4 additions and 1 deletions
  1. 4 1
      codec/encode.go

+ 4 - 1
codec/encode.go

@@ -783,7 +783,10 @@ func (e *Encoder) encodeValue(rv reflect.Value, fn encFn) {
 		}
 		}
 		rv = rv.Elem()
 		rv = rv.Elem()
 	}
 	}
-
+	if !rv.IsValid() {
+		e.e.encodeNil()
+		return
+	}
 	if fn.i == nil {
 	if fn.i == nil {
 		fn = e.getEncFn(rv.Type())
 		fn = e.getEncFn(rv.Type())
 	}
 	}