aboutsummaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils.c')
-rw-r--r--utils.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/utils.c b/utils.c
index 396e743..4c2a87b 100644
--- a/utils.c
+++ b/utils.c
@@ -239,10 +239,16 @@ WriteFieldDeclPrim(FILE *file, const argument_t *arg,
* use the element type and maximum size specified.
* Note arg->argCount->argMultiplier == btype->itNumber.
*/
- fprintf(file, "\t\t%s %s[%d];",
+ fprintf(file, "\t\tunion {\n");
+ fprintf(file, "\t\t\t%s %s[%d];\n",
(*tfunc)(btype),
arg->argMsgField,
it->itNumber/btype->itNumber);
+ fprintf(file, "\t\t\t%s *%s%s;\n",
+ (*tfunc)(btype),
+ arg->argMsgField,
+ OOLPostfix);
+ fprintf(file, "\t\t};");
}
else
fprintf(file, "\t\t%s %s;", (*tfunc)(it), arg->argMsgField);