diff options
author | dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> | 2020-08-24 08:16:44 +0000 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2020-08-28 05:56:49 -0400 |
commit | f5d151a2341245bd22f6a64c744eadd61e01539d (patch) | |
tree | 5c39cf4444016345eb50365ab57dd658e052ecf0 /vendor/github.com/gorilla/schema/decoder.go | |
parent | 061c93f70101026d79cca6e75ac0c565e1fa99ec (diff) | |
download | podman-f5d151a2341245bd22f6a64c744eadd61e01539d.tar.gz podman-f5d151a2341245bd22f6a64c744eadd61e01539d.tar.bz2 podman-f5d151a2341245bd22f6a64c744eadd61e01539d.zip |
Bump github.com/gorilla/schema from 1.1.0 to 1.2.0
Bumps [github.com/gorilla/schema](https://github.com/gorilla/schema) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/gorilla/schema/releases)
- [Commits](https://github.com/gorilla/schema/compare/v1.1.0...v1.2.0)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'vendor/github.com/gorilla/schema/decoder.go')
-rw-r--r-- | vendor/github.com/gorilla/schema/decoder.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/vendor/github.com/gorilla/schema/decoder.go b/vendor/github.com/gorilla/schema/decoder.go index 5afbd921f..025e438b5 100644 --- a/vendor/github.com/gorilla/schema/decoder.go +++ b/vendor/github.com/gorilla/schema/decoder.go @@ -152,9 +152,15 @@ type fieldWithPrefix struct { func isEmptyFields(fields []fieldWithPrefix, src map[string][]string) bool { for _, f := range fields { for _, path := range f.paths(f.prefix) { - if !isEmpty(f.typ, src[path]) { + v, ok := src[path] + if ok && !isEmpty(f.typ, v) { return false } + for key := range src { + if !isEmpty(f.typ, src[key]) && strings.HasPrefix(key, path) { + return false + } + } } } return true @@ -182,6 +188,17 @@ func (d *Decoder) decode(v reflect.Value, path string, parts []pathPart, values } v = v.Elem() } + + // alloc embedded structs + if v.Type().Kind() == reflect.Struct { + for i := 0; i < v.NumField(); i++ { + field := v.Field(i) + if field.Type().Kind() == reflect.Ptr && field.IsNil() && v.Type().Field(i).Anonymous == true { + field.Set(reflect.New(field.Type().Elem())) + } + } + } + v = v.FieldByName(name) } // Don't even bother for unexported fields. |