From 6d6544d18075fdf6afe6f31ef88b0c8844399705 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Sun, 10 Feb 2019 22:05:31 +0000 Subject: [PATCH] Always print valid config even if setting fails --- cmd/yggdrasilconf/main.go | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/cmd/yggdrasilconf/main.go b/cmd/yggdrasilconf/main.go index 39a25daf..952bc220 100644 --- a/cmd/yggdrasilconf/main.go +++ b/cmd/yggdrasilconf/main.go @@ -121,8 +121,7 @@ func main() { case reflect.Struct: field := item.FieldByName(name) if !field.IsValid() { - fmt.Println("Invalid option:", strings.Join(flags[1:len(flags)-1], " ")) - os.Exit(1) + break } switch field.Kind() { case reflect.String: @@ -137,26 +136,20 @@ func main() { if uint, uerr := strconv.ParseUint(value, 10, 64); uerr == nil { field.SetUint(uint) } - default: - fmt.Println("Invalid type for option:", name) - os.Exit(1) } case reflect.Map: intf := item.Interface().(map[string]interface{}) intf[name] = value } - var bs []byte - if *usejson { - if bs, err = json.Marshal(cfg); err == nil { - fmt.Println(string(bs)) - } - } else { - if bs, err = hjson.Marshal(cfg); err == nil { - fmt.Println(string(bs)) - } + } + var bs []byte + if *usejson { + if bs, err = json.Marshal(cfg); err == nil { + fmt.Println(string(bs)) + } + } else { + if bs, err = hjson.Marshal(cfg); err == nil { + fmt.Println(string(bs)) } - os.Exit(0) - default: - os.Exit(1) } }