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) {
|
||||
val := (*error)(ptr)
|
||||
if val == nil || *val == nil {
|
||||
if val == nil || *val == nil || reflect2.IsNil(*val) {
|
||||
stream.WriteNil()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -13,6 +13,9 @@ func TestErrorJSONMarshal(t *testing.T) {
|
||||
m := map[string]error{}
|
||||
m["test"] = syscall.EROFS
|
||||
|
||||
var innerNilErr *Error
|
||||
m["test-nil"] = innerNilErr
|
||||
|
||||
var err error
|
||||
logrus.Infof("get error type %s", spew.Sdump(reflect2.TypeOfPtr(&err).Elem()))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user