aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/godbus/dbus/decoder.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/godbus/dbus/decoder.go')
-rw-r--r--vendor/github.com/godbus/dbus/decoder.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/vendor/github.com/godbus/dbus/decoder.go b/vendor/github.com/godbus/dbus/decoder.go
index ef50dca..5c27d3b 100644
--- a/vendor/github.com/godbus/dbus/decoder.go
+++ b/vendor/github.com/godbus/dbus/decoder.go
@@ -191,7 +191,14 @@ func (dec *decoder) decode(s string, depth int) interface{} {
191 length := dec.decode("u", depth).(uint32) 191 length := dec.decode("u", depth).(uint32)
192 v := reflect.MakeSlice(reflect.SliceOf(typeFor(s[1:])), 0, int(length)) 192 v := reflect.MakeSlice(reflect.SliceOf(typeFor(s[1:])), 0, int(length))
193 // Even for empty arrays, the correct padding must be included 193 // Even for empty arrays, the correct padding must be included
194 dec.align(alignment(typeFor(s[1:]))) 194 align := alignment(typeFor(s[1:]))
195 if len(s) > 1 && s[1] == '(' {
196 //Special case for arrays of structs
197 //structs decode as a slice of interface{} values
198 //but the dbus alignment does not match this
199 align = 8
200 }
201 dec.align(align)
195 spos := dec.pos 202 spos := dec.pos
196 for dec.pos < spos+int(length) { 203 for dec.pos < spos+int(length) {
197 ev := dec.decode(s[1:], depth+1) 204 ev := dec.decode(s[1:], depth+1)