Hi Roland,
Always having trouble with print, due to internal bracket placement, but this should fix it:
procs: 'ALL COMMAND LEVEL PROCEDURES
'===================================
'
'
w3=owa 'itr macros
if mc=-16
if wr="mid"
w3="_mid"
endif
endif
skiplspace(s,i)
a=ascn
if a<>lbr '(
if wr="print"
w3="print"
if not isq(a)
w3+=" "+qu+qu
endif
else
w3+="("+captsr(s,i)+")"
endif
endif
inserts(s,w2+w3+" ",i)
'
w1=express(s,i,0)
Yes the padded size is correct (16). If it were packed it would be 14.
The rule is that the size of the largest primitive in the struct sets the padding. This ensures that arrays of structs and their members are always correctly aligned.