diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-07-02 08:33:02 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-02 08:33:02 -0400 |
commit | 04209873562dff25c5d6f800e4a535dff18d485a (patch) | |
tree | 67f0ee2916812072967707ae6de779ebbcdb0476 /vendor/gopkg.in/yaml.v3/decode.go | |
parent | 955c1d2bfeac0c399bbc4d82fd7b72ed4cc868d3 (diff) | |
parent | 735be12481cdc3edfcbca3500172d2164255e1a3 (diff) | |
download | podman-04209873562dff25c5d6f800e4a535dff18d485a.tar.gz podman-04209873562dff25c5d6f800e4a535dff18d485a.tar.bz2 podman-04209873562dff25c5d6f800e4a535dff18d485a.zip |
Merge pull request #10844 from vrothberg/vendor-common
vendor containers/common@main
Diffstat (limited to 'vendor/gopkg.in/yaml.v3/decode.go')
-rw-r--r-- | vendor/gopkg.in/yaml.v3/decode.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vendor/gopkg.in/yaml.v3/decode.go b/vendor/gopkg.in/yaml.v3/decode.go index 21c0dacfd..df36e3a30 100644 --- a/vendor/gopkg.in/yaml.v3/decode.go +++ b/vendor/gopkg.in/yaml.v3/decode.go @@ -399,7 +399,7 @@ func (d *decoder) callObsoleteUnmarshaler(n *Node, u obsoleteUnmarshaler) (good // // If n holds a null value, prepare returns before doing anything. func (d *decoder) prepare(n *Node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) { - if n.ShortTag() == nullTag || n.Kind == 0 && n.IsZero() { + if n.ShortTag() == nullTag { return out, false, false } again := true @@ -808,8 +808,10 @@ func (d *decoder) mapping(n *Node, out reflect.Value) (good bool) { } } + mapIsNew := false if out.IsNil() { out.Set(reflect.MakeMap(outt)) + mapIsNew = true } for i := 0; i < l; i += 2 { if isMerge(n.Content[i]) { @@ -826,7 +828,7 @@ func (d *decoder) mapping(n *Node, out reflect.Value) (good bool) { failf("invalid map key: %#v", k.Interface()) } e := reflect.New(et).Elem() - if d.unmarshal(n.Content[i+1], e) { + if d.unmarshal(n.Content[i+1], e) || n.Content[i+1].ShortTag() == nullTag && (mapIsNew || !out.MapIndex(k).IsValid()) { out.SetMapIndex(k, e) } } |