From b4b7ce8061d34cea2b4915c41403b2a74d5fde0e Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sat, 12 Nov 2022 20:31:27 +0100 Subject: Add repalloc0 and repalloc0_array These zero out the space added by repalloc. This is a common pattern that is quite hairy to code by hand. Reviewed-by: Tom Lane Discussion: https://www.postgresql.org/message-id/b66dfc89-9365-cb57-4e1f-b7d31813eeec@enterprisedb.com --- src/backend/utils/adt/ruleutils.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/backend/utils/adt/ruleutils.c') diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 70d723e80ca..c5a49d0be34 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -4855,14 +4855,9 @@ expand_colnames_array_to(deparse_columns *colinfo, int n) if (n > colinfo->num_cols) { if (colinfo->colnames == NULL) - colinfo->colnames = (char **) palloc0(n * sizeof(char *)); + colinfo->colnames = palloc0_array(char *, n); else - { - colinfo->colnames = (char **) repalloc(colinfo->colnames, - n * sizeof(char *)); - memset(colinfo->colnames + colinfo->num_cols, 0, - (n - colinfo->num_cols) * sizeof(char *)); - } + colinfo->colnames = repalloc0_array(colinfo->colnames, char *, colinfo->num_cols, n); colinfo->num_cols = n; } } -- cgit v1.2.3