*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.250 2002/04/19 23:13:54 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.251 2002/04/21 05:21:17 petere Exp $
*
*-------------------------------------------------------------------------
*/
free(fun[i].proname);
if (fun[i].usename)
free(fun[i].usename);
- for (a = 0; a < FUNC_MAX_ARGS; ++a)
- if (fun[i].argtypes[a])
- free(fun[i].argtypes[a]);
+ if (fun[i].argtypes)
+ {
+ for (a = 0; a < fun[i].nargs; ++a)
+ if (fun[i].argtypes[a])
+ free(fun[i].argtypes[a]);
+ free(fun[i].argtypes);
+ }
if (fun[i].prorettype)
free(fun[i].prorettype);
if (fun[i].prosrc)
write_msg(NULL, "WARNING: owner of function \"%s\" appears to be invalid\n",
finfo[i].proname);
- if (finfo[i].nargs < 0 || finfo[i].nargs > FUNC_MAX_ARGS)
- {
- write_msg(NULL, "failed sanity check: function %s has more than %d (namely %d) arguments\n",
- finfo[i].proname, FUNC_MAX_ARGS, finfo[i].nargs);
- exit_nicely();
- }
+ finfo[i].argtypes = malloc(finfo[i].nargs * sizeof(finfo[i].argtypes[0]));
parseNumericArray(PQgetvalue(res, i, i_proargtypes),
finfo[i].argtypes,
finfo[i].nargs);
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_dump.h,v 1.81 2002/04/11 20:00:08 tgl Exp $
+ * $Id: pg_dump.h,v 1.82 2002/04/21 05:21:18 petere Exp $
*
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
*
char *proowner;
Oid lang;
int nargs;
- char *argtypes[FUNC_MAX_ARGS];
+ char **argtypes;
char *prorettype;
int retset; /* 1 if the function returns a set, else 0 */
char *prosrc;