From db5e95db4da854fb976766596e5f457d3368df1e Mon Sep 17 00:00:00 2001
From: Jose Carlos Luna <Jose.Carlos.Luna@cern.ch>
Date: Wed, 15 May 2024 14:49:45 +0200
Subject: [PATCH] Fixed other inputs than strings and arrays in config file

---
 configtools.go | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/configtools.go b/configtools.go
index b970fe0..4332a08 100644
--- a/configtools.go
+++ b/configtools.go
@@ -124,13 +124,15 @@ func bindFlags(cmd *cobra.Command) {
 		configName := f.Name
 		if !f.Changed && viper.IsSet(configName) {
 			val := viper.Get(configName)
-			if reflect.TypeOf(val).String() == "string" {
-				cmd.Flags().Set(f.Name, fmt.Sprintf("%v", val))
-			} else { //Assume array of string
+			valType := reflect.TypeOf(val).String()
+			//support string arrays
+			if (valType == "[]interface {}") {
 				valArray := val.([]interface{})
 				for _, v := range valArray {
 					cmd.Flags().Set(f.Name, fmt.Sprintf("%v", v))
 				}
+			} else { //Assume scalar
+				cmd.Flags().Set(f.Name, fmt.Sprintf("%v", val))
 			}
 		}
 	})
-- 
GitLab