aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/preproc/variable.c
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2004-04-23 06:17:27 +0000
committerMichael Meskes <meskes@postgresql.org>2004-04-23 06:17:27 +0000
commitd8e53bd6c0ad2e155fd915f01f04d65890c78011 (patch)
treeb6ddde38738517a9adb1eacff08e8038037d2dc5 /src/interfaces/ecpg/preproc/variable.c
parentaee7612fa8f45e3c4a7a9c2a82ab0eb8a2cecad5 (diff)
downloadpostgresql-d8e53bd6c0ad2e155fd915f01f04d65890c78011.tar.gz
postgresql-d8e53bd6c0ad2e155fd915f01f04d65890c78011.zip
Fixed memory misusage in variable handling.
Diffstat (limited to 'src/interfaces/ecpg/preproc/variable.c')
-rw-r--r--src/interfaces/ecpg/preproc/variable.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/interfaces/ecpg/preproc/variable.c b/src/interfaces/ecpg/preproc/variable.c
index f1a875f0ccc..c4dfbb0f188 100644
--- a/src/interfaces/ecpg/preproc/variable.c
+++ b/src/interfaces/ecpg/preproc/variable.c
@@ -42,7 +42,7 @@ find_struct_member(char *name, char *str, struct ECPGstruct_member * members, in
switch (members->type->type)
{
case ECPGt_array:
- return (new_variable(name, ECPGmake_array_type(members->type->u.element, members->type->size), brace_level));
+ return (new_variable(name, ECPGmake_array_type(ECPGmake_simple_type(members->type->u.element->type, members->type->u.element->size), members->type->size), brace_level));
case ECPGt_struct:
case ECPGt_union:
return (new_variable(name, ECPGmake_struct_type(members->type->u.members, members->type->type, members->type->struct_sizeof), brace_level));
@@ -92,7 +92,7 @@ find_struct_member(char *name, char *str, struct ECPGstruct_member * members, in
switch (members->type->u.element->type)
{
case ECPGt_array:
- return (new_variable(name, ECPGmake_array_type(members->type->u.element->u.element, members->type->u.element->size), brace_level));
+ return (new_variable(name, ECPGmake_array_type(ECPGmake_simple_type(members->type->u.element->u.element->type, members->type->u.element->u.element->size), members->type->u.element->size), brace_level));
case ECPGt_struct:
case ECPGt_union:
return (new_variable(name, ECPGmake_struct_type(members->type->u.element->u.members, members->type->u.element->type, members->type->u.element->struct_sizeof), brace_level));
@@ -251,7 +251,7 @@ find_variable(char *name)
switch (p->type->u.element->type)
{
case ECPGt_array:
- return (new_variable(name, ECPGmake_array_type(p->type->u.element->u.element, p->type->u.element->size), p->brace_level));
+ return (new_variable(name, ECPGmake_array_type(ECPGmake_simple_type(p->type->u.element->u.element->type, p->type->u.element->u.element->size), p->type->u.element->size), p->brace_level));
case ECPGt_struct:
case ECPGt_union:
return (new_variable(name, ECPGmake_struct_type(p->type->u.element->u.members, p->type->u.element->type, p->type->u.element->struct_sizeof), p->brace_level));