diff options
author | dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 2021-04-02 07:58:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-02 07:58:47 +0000 |
commit | 5a7a1a1673c3735033a7d27d26b96c8d3eb9a14c (patch) | |
tree | f7427403d0fa4938fc519a4f0a68251e49c0ee82 /vendor/github.com/godbus/dbus/v5/default_handler.go | |
parent | 23ee8b1df1f70aaad4fc4bc9c0c6b17f7aae5c8a (diff) | |
download | podman-5a7a1a1673c3735033a7d27d26b96c8d3eb9a14c.tar.gz podman-5a7a1a1673c3735033a7d27d26b96c8d3eb9a14c.tar.bz2 podman-5a7a1a1673c3735033a7d27d26b96c8d3eb9a14c.zip |
Bump github.com/coreos/go-systemd/v22 from 22.3.0 to 22.3.1
Bumps [github.com/coreos/go-systemd/v22](https://github.com/coreos/go-systemd) from 22.3.0 to 22.3.1.
- [Release notes](https://github.com/coreos/go-systemd/releases)
- [Commits](https://github.com/coreos/go-systemd/compare/v22.3.0...v22.3.1)
Signed-off-by: dependabot[bot] <support@github.com>
Diffstat (limited to 'vendor/github.com/godbus/dbus/v5/default_handler.go')
-rw-r--r-- | vendor/github.com/godbus/dbus/v5/default_handler.go | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/vendor/github.com/godbus/dbus/v5/default_handler.go b/vendor/github.com/godbus/dbus/v5/default_handler.go index 6d8bf32f9..13132c6b4 100644 --- a/vendor/github.com/godbus/dbus/v5/default_handler.go +++ b/vendor/github.com/godbus/dbus/v5/default_handler.go @@ -126,14 +126,28 @@ func (m exportedMethod) Call(args ...interface{}) ([]interface{}, error) { } ret := m.Value.Call(params) - - err := ret[t.NumOut()-1].Interface().(*Error) - ret = ret[:t.NumOut()-1] + var err error + nilErr := false // The reflection will find almost-nils, let's only pass back clean ones! + if t.NumOut() > 0 { + if e, ok := ret[t.NumOut()-1].Interface().(*Error); ok { // godbus *Error + nilErr = ret[t.NumOut()-1].IsNil() + ret = ret[:t.NumOut()-1] + err = e + } else if ret[t.NumOut()-1].Type().Implements(errType) { // Go error + i := ret[t.NumOut()-1].Interface() + if i == nil { + nilErr = ret[t.NumOut()-1].IsNil() + } else { + err = i.(error) + } + ret = ret[:t.NumOut()-1] + } + } out := make([]interface{}, len(ret)) for i, val := range ret { out[i] = val.Interface() } - if err == nil { + if nilErr || err == nil { //concrete type to interface nil is a special case return out, nil } |