summaryrefslogtreecommitdiffstats
path: root/common/maps/params.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-06-27 13:24:49 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-06-27 15:01:56 +0200
commit19aa95fc7f4cd58dcc8a8ff075762cfc86d41dc3 (patch)
tree59b96d8099fb7a18e7e55ba9a115163c9dea6043 /common/maps/params.go
parent923dd9d1c1f649142f3f377109318b07e0f44d5d (diff)
Fix config handling with empty config entries after merge
Fixes #8701
Diffstat (limited to 'common/maps/params.go')
-rw-r--r--common/maps/params.go21
1 files changed, 18 insertions, 3 deletions
diff --git a/common/maps/params.go b/common/maps/params.go
index e5a1bd07d..c14026df7 100644
--- a/common/maps/params.go
+++ b/common/maps/params.go
@@ -52,6 +52,24 @@ func (p Params) Set(pp Params) {
}
}
+// IsZero returns true if p is considered empty.
+func (p Params) IsZero() bool {
+ if p == nil || len(p) == 0 {
+ return true
+ }
+
+ if len(p) > 1 {
+ return false
+ }
+
+ for k, _ := range p {
+ return k == mergeStrategyKey
+ }
+
+ return false
+
+}
+
// Merge transfers values from pp to p for new keys.
// This is done recursively.
func (p Params) Merge(pp Params) {
@@ -82,12 +100,9 @@ func (p Params) merge(ps ParamsMergeStrategy, pp Params) {
if pv, ok := v.(Params); ok {
vvv.merge(ms, pv)
}
-
}
-
} else if !noUpdate {
p[k] = v
-
}
}