From 06e67265374faa677dba2dbd2577054278f19823 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 16 Dec 2015 19:17:46 +0100 Subject: sys: fix typos --- sys/decl.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'sys/decl.go') diff --git a/sys/decl.go b/sys/decl.go index c591c65fb..60c076d8a 100644 --- a/sys/decl.go +++ b/sys/decl.go @@ -361,7 +361,10 @@ type ArrayType struct { } func (t ArrayType) Size() uintptr { - return 0 // for trailing embed arrays + if t.Len == 0 { + return 0 // for trailing embed arrays + } + return t.Len * t.Type.Size() } func (t ArrayType) Align() uintptr { @@ -481,7 +484,9 @@ func addAlignment(t StructType) Type { } off += f.Size() fields = append(fields, f) - _, varLen := f.(ArrayType) + if at, ok := f.(ArrayType); ok && at.Len == 0 { + varLen = true + } if varLen && i != len(t.Fields)-1 { panic("embed array in middle of a struct") } -- cgit mrf-deployment