Przeglądaj źródła

codec: encode invalid values as nil.

Fixes #40
Ugorji Nwoke 11 lat temu
rodzic
commit
a7f0616e8c
1 zmienionych plików z 4 dodań i 1 usunięć
  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())
 	}
 	}