|
22 | 22 | * |
23 | 23 | * |
24 | 24 | * IDENTIFICATION |
25 | | - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.250 2002/04/19 23:13:54 tgl Exp $ |
| 25 | + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.251 2002/04/21 05:21:17 petere Exp $ |
26 | 26 | * |
27 | 27 | *------------------------------------------------------------------------- |
28 | 28 | */ |
@@ -1636,9 +1636,13 @@ clearFuncInfo(FuncInfo *fun, int numFuncs) |
1636 | 1636 | free(fun[i].proname); |
1637 | 1637 | if (fun[i].usename) |
1638 | 1638 | free(fun[i].usename); |
1639 | | -for (a=0;a<FUNC_MAX_ARGS;++a) |
1640 | | -if (fun[i].argtypes[a]) |
1641 | | -free(fun[i].argtypes[a]); |
| 1639 | +if (fun[i].argtypes) |
| 1640 | +{ |
| 1641 | +for (a=0;a<fun[i].nargs;++a) |
| 1642 | +if (fun[i].argtypes[a]) |
| 1643 | +free(fun[i].argtypes[a]); |
| 1644 | +free(fun[i].argtypes); |
| 1645 | +} |
1642 | 1646 | if (fun[i].prorettype) |
1643 | 1647 | free(fun[i].prorettype); |
1644 | 1648 | if (fun[i].prosrc) |
@@ -2066,12 +2070,7 @@ getFuncs(int *numFuncs) |
2066 | 2070 | write_msg(NULL,"WARNING: owner of function \"%s\" appears to be invalid\n", |
2067 | 2071 | finfo[i].proname); |
2068 | 2072 |
|
2069 | | -if (finfo[i].nargs<0||finfo[i].nargs>FUNC_MAX_ARGS) |
2070 | | -{ |
2071 | | -write_msg(NULL,"failed sanity check: function %s has more than %d (namely %d) arguments\n", |
2072 | | -finfo[i].proname,FUNC_MAX_ARGS,finfo[i].nargs); |
2073 | | -exit_nicely(); |
2074 | | -} |
| 2073 | +finfo[i].argtypes=malloc(finfo[i].nargs*sizeof(finfo[i].argtypes[0])); |
2075 | 2074 | parseNumericArray(PQgetvalue(res,i,i_proargtypes), |
2076 | 2075 | finfo[i].argtypes, |
2077 | 2076 | finfo[i].nargs); |
|