fixed git conflicts
diff --git a/ini.go b/ini.go
index ed2c755..a6d6c27 100644
--- a/ini.go
+++ b/ini.go
@@ -58,6 +58,8 @@
// IniParser is a utility to read and write flags options from and to ini
// formatted strings.
type IniParser struct {
+ ParseAsDefaults bool // override default flags
+
parser *Parser
}
@@ -539,9 +541,9 @@
continue
}
- // ini value is ignored if override is not set or
+ // ini value is ignored if override is set and
// value was previously set from non default
- if len(opt.tag.Get("ini-override")) > 0 && !opt.isSetDefault {
+ if i.ParseAsDefaults && !opt.isSetDefault {
continue
}
diff --git a/ini_test.go b/ini_test.go
index 39d88be..a033db9 100644
--- a/ini_test.go
+++ b/ini_test.go
@@ -988,8 +988,8 @@
for _, test := range tests {
var opts struct {
Config string `long:"config" no-ini:"true"`
- Value string `long:"value" default:"from default" ini-override:"true"`
- Toggle bool `long:"toggle" ini-override:"true"`
+ Value string `long:"value" default:"from default"`
+ Toggle bool `long:"toggle"`
}
p := NewParser(&opts, Default)
@@ -1000,7 +1000,10 @@
}
if opts.Config != "" {
- err = NewIniParser(p).Parse(bytes.NewBufferString("value = from INI\ntoggle = true"))
+ inip := NewIniParser(p)
+ inip.ParseAsDefaults = true
+
+ err = inip.Parse(bytes.NewBufferString("value = from INI\ntoggle = true"))
if err != nil {
t.Fatalf("Unexpected error %s with args %+v", err, test.args)
}