(decode_type): fix generation of decoding information for

TSequenceOf.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6393 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-07-03 02:28:55 +00:00
parent 509f66086f
commit 8c03752be7

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan
* Copyright (c) 1997 - 1999 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -213,15 +213,22 @@ decode_type (char *name, Type *t)
"len = reallen;\n");
fprintf (codefile,
"{\n"
"size_t origlen = len;\n"
"int oldret = ret;\n"
"ret = 0;\n"
"(%s)->len = 0;\n"
"(%s)->val = NULL;\n"
"while(len > 0) {\n"
"while(ret < origlen) {\n"
"(%s)->len++;\n"
"(%s)->val = realloc((%s)->val, sizeof(*((%s)->val)) * (%s)->len);\n",
name, name, name, name, name, name, name);
asprintf (&n, "&(%s)->val[(%s)->len-1]", name, name);
decode_type (n, t->subtype);
fprintf (codefile,
"len = origlen - ret;\n"
"}\n"
"ret += oldret;\n"
"}\n");
free (n);
break;