fix
diff --git a/codec.go b/codec.go
index 8bb02fa..184938c 100644
--- a/codec.go
+++ b/codec.go
@@ -292,12 +292,8 @@
return
}
}
- // zero value not need to set
- if !v.IsValid() {
- return
- }
//temporary process, only handle the same type of situation
- if UnpackPtrType(dest.Type()) == UnpackPtrType(v.Type()) && dest.Kind() == reflect.Ptr && dest.CanSet() {
+ if v.IsValid() && UnpackPtrType(dest.Type()) == UnpackPtrType(v.Type()) && dest.Kind() == reflect.Ptr && dest.CanSet() {
for dest.Type() != v.Type() {
v = PackPtr(v)
}