mirror of
https://github.com/samuelncui/acp.git
synced 2025-12-23 05:05:15 +00:00
fix: inner error is nil
This commit is contained in:
@@ -80,7 +80,7 @@ func (*errValCoder) IsEmpty(ptr unsafe.Pointer) bool {
|
|||||||
|
|
||||||
func (*errValCoder) Encode(ptr unsafe.Pointer, stream *jsoniter.Stream) {
|
func (*errValCoder) Encode(ptr unsafe.Pointer, stream *jsoniter.Stream) {
|
||||||
val := (*error)(ptr)
|
val := (*error)(ptr)
|
||||||
if val == nil || *val == nil {
|
if val == nil || *val == nil || reflect2.IsNil(*val) {
|
||||||
stream.WriteNil()
|
stream.WriteNil()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ func TestErrorJSONMarshal(t *testing.T) {
|
|||||||
m := map[string]error{}
|
m := map[string]error{}
|
||||||
m["test"] = syscall.EROFS
|
m["test"] = syscall.EROFS
|
||||||
|
|
||||||
|
var innerNilErr *Error
|
||||||
|
m["test-nil"] = innerNilErr
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
logrus.Infof("get error type %s", spew.Sdump(reflect2.TypeOfPtr(&err).Elem()))
|
logrus.Infof("get error type %s", spew.Sdump(reflect2.TypeOfPtr(&err).Elem()))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user