From a4a80e02686745c79772604ccbe32a3b64b75381 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Wed, 4 Jan 2023 14:03:02 +0100 Subject: [PATCH 1/5] GetB must not ignore altvalue --- internal/pkg/node/methods.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/internal/pkg/node/methods.go b/internal/pkg/node/methods.go index 8f7ae7dc..f2b0596f 100644 --- a/internal/pkg/node/methods.go +++ b/internal/pkg/node/methods.go @@ -201,10 +201,8 @@ func (ent *Entry) Get() string { Get the bool value of an entry. */ func (ent *Entry) GetB() bool { - if len(ent.value) == 0 || ent.value[0] == "false" || ent.value[0] == "no" { - if len(ent.altvalue) == 0 || ent.altvalue[0] == "false" || ent.altvalue[0] == "no" { - return false - } + if len(ent.value) == 0 || ent.value[0] == "false" || ent.value[0] == "no" || + len(ent.altvalue) == 0 || ent.altvalue[0] == "false" || ent.altvalue[0] == "no" { return false } return true From 7a88ff239f9fb3ed572aaf7d5c65d29bd6c98776 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Thu, 5 Jan 2023 11:03:08 +0100 Subject: [PATCH 2/5] checking only for false outcome --- internal/pkg/node/methods.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/pkg/node/methods.go b/internal/pkg/node/methods.go index f2b0596f..14747094 100644 --- a/internal/pkg/node/methods.go +++ b/internal/pkg/node/methods.go @@ -201,10 +201,16 @@ func (ent *Entry) Get() string { Get the bool value of an entry. */ func (ent *Entry) GetB() bool { - if len(ent.value) == 0 || ent.value[0] == "false" || ent.value[0] == "no" || - len(ent.altvalue) == 0 || ent.altvalue[0] == "false" || ent.altvalue[0] == "no" { + if ent.value[0] == "false" || ent.value[0] == "no" || + ent.value[0] == "No" || ent.value[0] == "0" { return false } + if len(ent.value) == 0 { + if ent.altvalue[0] == "false" || ent.altvalue[0] == "no" || + ent.altvalue[0] == "No" || ent.altvalue[0] == "0" { + return false + } + } return true } From 626b9769acf735aa3b4570b87db0def57a6147b5 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Mon, 9 Jan 2023 11:57:11 +0100 Subject: [PATCH 3/5] also handle default value --- internal/pkg/node/methods.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/pkg/node/methods.go b/internal/pkg/node/methods.go index 14747094..5e0a3baf 100644 --- a/internal/pkg/node/methods.go +++ b/internal/pkg/node/methods.go @@ -209,6 +209,11 @@ func (ent *Entry) GetB() bool { if ent.altvalue[0] == "false" || ent.altvalue[0] == "no" || ent.altvalue[0] == "No" || ent.altvalue[0] == "0" { return false + } else if len(ent.altvalue) == 0 { + if ent.def[0] == "false" || ent.def[0] == "no" || + ent.def[0] == "No" || ent.def[0] == "0" { + return false + } } } return true From 12460caa0448c925b6339a82328f62d00036a2c9 Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Tue, 10 Jan 2023 16:20:52 +0100 Subject: [PATCH 4/5] just return negated checks --- internal/pkg/node/methods.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/internal/pkg/node/methods.go b/internal/pkg/node/methods.go index 5e0a3baf..0fc7ca19 100644 --- a/internal/pkg/node/methods.go +++ b/internal/pkg/node/methods.go @@ -201,22 +201,22 @@ func (ent *Entry) Get() string { Get the bool value of an entry. */ func (ent *Entry) GetB() bool { - if ent.value[0] == "false" || ent.value[0] == "no" || - ent.value[0] == "No" || ent.value[0] == "0" { - return false - } - if len(ent.value) == 0 { - if ent.altvalue[0] == "false" || ent.altvalue[0] == "no" || - ent.altvalue[0] == "No" || ent.altvalue[0] == "0" { - return false - } else if len(ent.altvalue) == 0 { - if ent.def[0] == "false" || ent.def[0] == "no" || - ent.def[0] == "No" || ent.def[0] == "0" { - return false - } + if len(ent.value) > 0 { + return !(strings.ToLower(ent.value[0]) == "false" || + strings.ToLower(ent.value[0]) == "no" || + ent.value[0] == "0") + } else { + if len(ent.altvalue) > 0 { + return !(strings.ToLower(ent.altvalue[0]) == "false" || + strings.ToLower(ent.altvalue[0]) == "no" || + ent.altvalue[0] == "0") + } else { + return !(len(ent.def) == 0 || + strings.ToLower(ent.def[0]) == "false" || + strings.ToLower(ent.def[0]) == "no" || + ent.def[0] == "0") } } - return true } /* From ae4fb417220a872bd0bea7cbfd468c342488368b Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Thu, 12 Jan 2023 10:37:19 +0100 Subject: [PATCH 5/5] without nested if else --- internal/pkg/node/methods.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/internal/pkg/node/methods.go b/internal/pkg/node/methods.go index 0fc7ca19..f404ebd2 100644 --- a/internal/pkg/node/methods.go +++ b/internal/pkg/node/methods.go @@ -205,17 +205,15 @@ func (ent *Entry) GetB() bool { return !(strings.ToLower(ent.value[0]) == "false" || strings.ToLower(ent.value[0]) == "no" || ent.value[0] == "0") + } else if len(ent.altvalue) > 0 { + return !(strings.ToLower(ent.altvalue[0]) == "false" || + strings.ToLower(ent.altvalue[0]) == "no" || + ent.altvalue[0] == "0") } else { - if len(ent.altvalue) > 0 { - return !(strings.ToLower(ent.altvalue[0]) == "false" || - strings.ToLower(ent.altvalue[0]) == "no" || - ent.altvalue[0] == "0") - } else { - return !(len(ent.def) == 0 || - strings.ToLower(ent.def[0]) == "false" || - strings.ToLower(ent.def[0]) == "no" || - ent.def[0] == "0") - } + return !(len(ent.def) == 0 || + strings.ToLower(ent.def[0]) == "false" || + strings.ToLower(ent.def[0]) == "no" || + ent.def[0] == "0") } }