Avoid malloc(0). Although standard mallocs seem not to object,

some debugging malloc packages do.
This commit is contained in:
Tom Lane 2003-08-08 19:19:32 +00:00
parent 332c694085
commit 635d00ecea

View File

@ -3,7 +3,7 @@
* procedural language * procedural language
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.65 2003/08/04 00:43:33 momjian Exp $ * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.66 2003/08/08 19:19:32 tgl Exp $
* *
* This software is copyrighted by Jan Wieck - Hamburg. * This software is copyrighted by Jan Wieck - Hamburg.
* *
@ -1663,20 +1663,25 @@ plpgsql_add_initdatums(int **varnos)
if (varnos != NULL) if (varnos != NULL)
{ {
*varnos = (int *) malloc(sizeof(int) * n); if (n > 0)
n = 0;
for (i = datums_last; i < plpgsql_nDatums; i++)
{ {
switch (plpgsql_Datums[i]->dtype) *varnos = (int *) malloc(sizeof(int) * n);
{
case PLPGSQL_DTYPE_VAR:
(*varnos)[n++] = plpgsql_Datums[i]->dno;
default: n = 0;
break; for (i = datums_last; i < plpgsql_nDatums; i++)
{
switch (plpgsql_Datums[i]->dtype)
{
case PLPGSQL_DTYPE_VAR:
(*varnos)[n++] = plpgsql_Datums[i]->dno;
default:
break;
}
} }
} }
else
*varnos = NULL;
} }
datums_last = plpgsql_nDatums; datums_last = plpgsql_nDatums;