postgres.git / summary / log / commit / refs
commit fc9b2d0ada32c4337012e6ef926f34ab1e083e88
Author: Michael Meskes <meskes@postgresql.org>
Date: Thu Nov 29 16:12:00 2012 +0000
First released in: 9.3.0, 8.3.22, 8.4.15, 9.0.11, 9.1.7, 9.2.2
When processing nested structure pointer variables ecpg always expected an
array datatype which of course is wrong.
Applied patch by Muhammad Usama <m.usama@gmail.com> to fix this.
src/interfaces/ecpg/preproc/variable.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/interfaces/ecpg/preproc/variable.c b/src/interfaces/ecpg/preproc/variable.c
index 7ff0e0db632..d63fd5038dd 100644
--- a/src/interfaces/ecpg/preproc/variable.c
+++ b/src/interfaces/ecpg/preproc/variable.c
@@ -100,7 +100,11 @@ find_struct_member(char *name, char *str, struct ECPGstruct_member * members, in
}
break;
case '-':
- return (find_struct_member(name, end, members->type->u.element->u.members, brace_level));
+ if (members->type->type == ECPGt_array)
+ return (find_struct_member(name, ++end, members->type->u.element->u.members, brace_level));
+ else
+ return (find_struct_member(name, ++end, members->type->u.members, brace_level));
+ break;
break;
case '.':
if (members->type->type == ECPGt_array)
[parent: 8b812177752f]