summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/jessevdk/go-flags/ini.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-04-23 02:08:53 +0200
committerGitHub <noreply@github.com>2021-04-22 20:08:53 -0400
commit792b4dba2cc1b011e25f4a0c18fb648849cd885c (patch)
treefc5679ced43137a7b04ab1fb73dd2a4bd3ca9815 /vendor/github.com/jessevdk/go-flags/ini.go
parent834fc74873e8047552e9181e130bd53d8e890eb0 (diff)
downloadgitea-792b4dba2cc1b011e25f4a0c18fb648849cd885c.tar.gz
gitea-792b4dba2cc1b011e25f4a0c18fb648849cd885c.zip
[Vendor] Update directly used dependencys (#15593)
* update github.com/blevesearch/bleve v2.0.2 -> v2.0.3 * github.com/denisenkom/go-mssqldb v0.9.0 -> v0.10.0 * github.com/editorconfig/editorconfig-core-go v2.4.1 -> v2.4.2 * github.com/go-chi/cors v1.1.1 -> v1.2.0 * github.com/go-git/go-billy v5.0.0 -> v5.1.0 * github.com/go-git/go-git v5.2.0 -> v5.3.0 * github.com/go-ldap/ldap v3.2.4 -> v3.3.0 * github.com/go-redis/redis v8.6.0 -> v8.8.2 * github.com/go-sql-driver/mysql v1.5.0 -> v1.6.0 * github.com/go-swagger/go-swagger v0.26.1 -> v0.27.0 * github.com/lib/pq v1.9.0 -> v1.10.1 * github.com/mattn/go-sqlite3 v1.14.6 -> v1.14.7 * github.com/go-testfixtures/testfixtures v3.5.0 -> v3.6.0 * github.com/issue9/identicon v1.0.1 -> v1.2.0 * github.com/klauspost/compress v1.11.8 -> v1.12.1 * github.com/mgechev/revive v1.0.3 -> v1.0.6 * github.com/microcosm-cc/bluemonday v1.0.7 -> v1.0.8 * github.com/niklasfasching/go-org v1.4.0 -> v1.5.0 * github.com/olivere/elastic v7.0.22 -> v7.0.24 * github.com/pelletier/go-toml v1.8.1 -> v1.9.0 * github.com/prometheus/client_golang v1.9.0 -> v1.10.0 * github.com/xanzy/go-gitlab v0.44.0 -> v0.48.0 * github.com/yuin/goldmark v1.3.3 -> v1.3.5 * github.com/6543/go-version v1.2.4 -> v1.3.1 * do github.com/lib/pq v1.10.0 -> v1.10.1 again ...
Diffstat (limited to 'vendor/github.com/jessevdk/go-flags/ini.go')
-rw-r--r--vendor/github.com/jessevdk/go-flags/ini.go36
1 files changed, 27 insertions, 9 deletions
diff --git a/vendor/github.com/jessevdk/go-flags/ini.go b/vendor/github.com/jessevdk/go-flags/ini.go
index e714d3d38d..60b36c79c4 100644
--- a/vendor/github.com/jessevdk/go-flags/ini.go
+++ b/vendor/github.com/jessevdk/go-flags/ini.go
@@ -325,19 +325,19 @@ func writeCommandIni(command *Command, namespace string, writer io.Writer, optio
})
for _, c := range command.commands {
- var nns string
+ var fqn string
if c.Hidden {
continue
}
if len(namespace) != 0 {
- nns = c.Name + "." + nns
+ fqn = namespace + "." + c.Name
} else {
- nns = c.Name
+ fqn = c.Name
}
- writeCommandIni(c, nns, writer, options)
+ writeCommandIni(c, fqn, writer, options)
}
}
@@ -499,13 +499,21 @@ func (i *IniParser) matchingGroups(name string) []*Group {
func (i *IniParser) parse(ini *ini) error {
p := i.parser
+ p.eachOption(func(cmd *Command, group *Group, option *Option) {
+ option.clearReferenceBeforeSet = true
+ })
+
var quotesLookup = make(map[*Option]bool)
for name, section := range ini.Sections {
groups := i.matchingGroups(name)
if len(groups) == 0 {
- return newErrorf(ErrUnknownGroup, "could not find option group `%s'", name)
+ if (p.Options & IgnoreUnknown) == None {
+ return newErrorf(ErrUnknownGroup, "could not find option group `%s'", name)
+ }
+
+ continue
}
for _, inival := range section {
@@ -537,9 +545,8 @@ func (i *IniParser) parse(ini *ini) error {
continue
}
- // ini value is ignored if override is set and
- // value was previously set from non default
- if i.ParseAsDefaults && !opt.isSetDefault {
+ // ini value is ignored if parsed as default but defaults are prevented
+ if i.ParseAsDefaults && opt.preventDefault {
continue
}
@@ -572,7 +579,15 @@ func (i *IniParser) parse(ini *ini) error {
}
}
- if err := opt.set(pval); err != nil {
+ var err error
+
+ if i.ParseAsDefaults {
+ err = opt.setDefault(pval)
+ } else {
+ err = opt.set(pval)
+ }
+
+ if err != nil {
return &IniError{
Message: err.Error(),
File: ini.File,
@@ -580,6 +595,9 @@ func (i *IniParser) parse(ini *ini) error {
}
}
+ // Defaults from ini files take precendence over defaults from parser
+ opt.preventDefault = true
+
// either all INI values are quoted or only values who need quoting
if _, ok := quotesLookup[opt]; !inival.Quoted || !ok {
quotesLookup[opt] = inival.Quoted