From a6a666fe310098c27fc2f5b578fa3de20932c70b Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Sat, 7 Aug 2021 19:07:10 +0800 Subject: [PATCH] fix(config): panic on parsing env. Fixes: #984 --- global/param.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/global/param.go b/global/param.go index 8819edb..f4e6b05 100644 --- a/global/param.go +++ b/global/param.go @@ -96,13 +96,14 @@ func SetAtDefault(variable, value, defaultValue interface{}) { if v.Kind() != reflect.Ptr || v.IsNil() { return } - if v.Elem().Interface() != defaultValue { + v = v.Elem() + if v.Interface() != defaultValue { return } - if v.Elem().Kind() != v2.Kind() { + if v.Kind() != v2.Kind() { return } - v.Elem().Set(v2) + v.Set(v2) } // SetExcludeDefault 在目标值 value 不为默认值 defaultValue 时修改 variable 为 value @@ -112,13 +113,14 @@ func SetExcludeDefault(variable, value, defaultValue interface{}) { if v.Kind() != reflect.Ptr || v.IsNil() { return } - if v2.Elem().Interface() != defaultValue { + v = v.Elem() + if reflect.Indirect(v2).Interface() != defaultValue { return } - if v.Elem().Kind() != v2.Kind() { + if v.Kind() != v2.Kind() { return } - v.Elem().Set(v2) + v.Set(v2) } var (