res - Allow boolean values 100/head
authorDavid Lee <david@runtime.io>
Mon, 24 Sep 2018 21:15:35 +0000 (14:15 -0700)
committerDavid Lee <david@runtime.io>
Mon, 24 Sep 2018 21:15:35 +0000 (14:15 -0700)
This commit allows newtmgr to parse boolean values in a res
key-value-pair. The boolean value is case-insensitive, but must match
completely (i.e. true, false).

newtmgr/cli/res.go

index bca108a..3ed2af1 100644 (file)
@@ -76,6 +76,15 @@ func extractResKv(params []string) (map[string]interface{}, error) {
                        strings.HasSuffix(parts[1], "\"") {
 
                        val = parts[1][1 : len(parts[1])-1]
+               } else if strings.ToLower(parts[1]) == "false" ||
+                       strings.ToLower(parts[1]) == "true" {
+                       // parse value as boolean
+                       b, err := strconv.ParseBool(strings.ToLower(parts[1]))
+                       if err == nil {
+                               val = b
+                       } else {
+                               val = parts[1]
+                       }
                } else {
                        // Try to parse value as an integer.
                        num, err := strconv.Atoi(parts[1])