mirror of
https://github.com/postgres/postgres.git
synced 2025-11-21 00:42:43 +03:00
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 <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/b66dfc89-9365-cb57-4e1f-b7d31813eeec@enterprisedb.com
This commit is contained in:
@@ -696,19 +696,16 @@ newLOfd(void)
|
||||
newsize = 64;
|
||||
cookies = (LargeObjectDesc **)
|
||||
MemoryContextAllocZero(fscxt, newsize * sizeof(LargeObjectDesc *));
|
||||
cookies_size = newsize;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Double size of array */
|
||||
i = cookies_size;
|
||||
newsize = cookies_size * 2;
|
||||
cookies = (LargeObjectDesc **)
|
||||
repalloc(cookies, newsize * sizeof(LargeObjectDesc *));
|
||||
MemSet(cookies + cookies_size, 0,
|
||||
(newsize - cookies_size) * sizeof(LargeObjectDesc *));
|
||||
cookies_size = newsize;
|
||||
cookies =
|
||||
repalloc0_array(cookies, LargeObjectDesc *, cookies_size, newsize);
|
||||
}
|
||||
cookies_size = newsize;
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user