]> granicus.if.org Git - postgresql/commitdiff
When processing nested structure pointer variables ecpg always expected an
authorMichael Meskes <meskes@postgresql.org>
Thu, 29 Nov 2012 16:12:00 +0000 (17:12 +0100)
committerMichael Meskes <meskes@postgresql.org>
Thu, 29 Nov 2012 16:12:00 +0000 (17:12 +0100)
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

index e08e14ac18ceb7f3e3b1c4930cbde82e90b38c32..6ff574bbd9213296bb77fe408b1259794b60c903 100644 (file)
@@ -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)