aboutsummaryrefslogtreecommitdiffstats
path: root/prog/encoding.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-08-25 21:56:07 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-08-25 21:56:07 +0200
commit9ec49e082f811482ecdccc837c27961d68247d25 (patch)
treef1ce06e803371993c3e45a9ba720d19b0e2e582f /prog/encoding.go
parent8f38cf7952a0c5a933c089641fe95762c0248c35 (diff)
prog: restore missing struct fields
We already do this for syscall arguments. Helps to save some old programs after description changes.
Diffstat (limited to 'prog/encoding.go')
-rw-r--r--prog/encoding.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/prog/encoding.go b/prog/encoding.go
index f6eb4d168..8ba634d12 100644
--- a/prog/encoding.go
+++ b/prog/encoding.go
@@ -314,8 +314,8 @@ func parseArg(typ sys.Type, p *parser, vars map[string]Arg) (Arg, error) {
}
}
p.Parse('}')
- if last := t1.Fields[len(t1.Fields)-1]; sys.IsPad(last) {
- inner = append(inner, constArg(last, 0))
+ for len(inner) < len(t1.Fields) {
+ inner = append(inner, defaultArg(t1.Fields[len(inner)]))
}
arg = groupArg(typ, inner)
case '[':