Fixed bug in adjust_informix that treated arrays as simple variables.
authorMichael Meskes <meskes@postgresql.org>
Wed, 5 May 2004 15:06:21 +0000 (15:06 +0000)
committerMichael Meskes <meskes@postgresql.org>
Wed, 5 May 2004 15:06:21 +0000 (15:06 +0000)
src/interfaces/ecpg/preproc/preproc.y

index 86a7ffe419b2dcb59c956d27aa2e9f020371ee9a..8d31075a51d1cc306804e251e1acc5875aa61dd9 100644 (file)
@@ -211,7 +211,7 @@ adjust_informix(struct arguments *list)
                
                if (atoi(ptr->variable->type->size) > 1)
                {
-                       ptr->variable = new_variable(cat_str(4, make_str("("), mm_strdup(ECPGtype_name(ptr->variable->type->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size), 0);
+                       ptr->variable = new_variable(cat_str(4, make_str("("), mm_strdup(ECPGtype_name(ptr->variable->type->u.element->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, make_str("1")), ptr->variable->type->size), 0);
                        sprintf(temp, "%d, (", ecpg_informix_var++);
                }
                else