Re: [PATCH] git-compat-util.h: introduce CALLOC(x)
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Dec 7, 2022, 02:38 UTC
- Message-ID
- <Y4/8ilFBfGApR8YR@nand.local>
- In-Reply-To
- <xmqqv8mpnwjp.fsf@gitster.g>
On Tue, Dec 06, 2022 at 10:35:54AM +0900, Junio C Hamano wrote:
Show 15 quoted lines
> Jeff King <peff@peff.net> writes: > > > So you can think of "allocate this one element and zero it" as "calloc, > > but don't multiply" or as "malloc, but zero". Naming it CALLOC() is > > thinking of it as the former. If we think of it as the latter it could > > perhaps be MALLOCZ() or something. I don't know if that name is too > > subtle or not. We have xmemdupz(), which is basically the same thing; > > it's only a zero-terminator, but that is because we are writing non-zero > > bytes in the rest of it. Mostly I'd worry that it is easy to glance past > > the "Z". > > I think the name for the former would be CALLOC_ONE(), as I would > rephrase it as "calloc, but just one element". I agree MALLOCZ() > would be fine for the other interpretation, and I do not have much > problem as much problem with the name as calling it CALLOC().
Between CALLOC_ONE() and MALLOCZ(), I prefer the latter for brevity. But between that and CALLOC(), I prefer the latter, since "CALLOC()" reminds me of the zero-initialization of calloc()-proper, and the "Z" in "MALLOCZ()" feels easy-ish to miss.
Thanks, Taylor