diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-08-25 21:56:07 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-08-25 21:56:07 +0200 |
| commit | 9ec49e082f811482ecdccc837c27961d68247d25 (patch) | |
| tree | f1ce06e803371993c3e45a9ba720d19b0e2e582f /prog/encoding.go | |
| parent | 8f38cf7952a0c5a933c089641fe95762c0248c35 (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.go | 4 |
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 '[': |
