When using GCC on AMD64 and PPC, ECPGget_variable() takes a va_list *, not
authorNeil Conway
Sun, 15 Jan 2006 22:46:53 +0000 (22:46 +0000)
committerNeil Conway
Sun, 15 Jan 2006 22:46:53 +0000 (22:46 +0000)
a va_list. Christof Petig's previous patch made this change, but neglected
to update ecpglib/descriptor.c, resulting in a compiler warning (and a
likely runtime crash) on AMD64 and PPC.

src/interfaces/ecpg/ecpglib/descriptor.c

index 5985595c79335ced364b4ab1f05d3da3fefe7cad..ff47cd13258e053a631b510956a67d33d0ba7bf9 100644 (file)
@@ -1,6 +1,6 @@
 /* dynamic SQL support routines
  *
- * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.13 2005/11/30 12:49:49 meskes Exp $
+ * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.14 2006/01/15 22:46:53 neilc Exp $
  */
 
 #define POSTGRES_ECPG_INTERNAL
@@ -503,7 +503,11 @@ ECPGset_desc(int lineno, const char *desc_name, int index,...)
            break;
 
        type = va_arg(args, enum ECPGttype);
+#if defined(__GNUC__) && (defined (__powerpc__) || defined(__amd64__) || defined(__x86_64__))
+       ECPGget_variable(args, type, var, false);
+#else
        ECPGget_variable(&args, type, var, false);
+#endif
 
        switch (itemtype)
        {