On Tue, Dec 06, 2022 at 12:12:32AM +0100, Ævar Arnfjörð Bjarmason wrote:
But if we *are* doing that then surely we should provide the full set of
functions. I.e. ALLOC() and ALLOC_ARRAY(), CALLOC() and CALLOC_ARRAY(),
and REALLOC() and REALLOC_ARRAY()?
FWIW, I would be happy to see all of those (minus REALLOC(), as there is
not really any point in growing or shrinking something with a fixed
size).
The biggest argument against them that I can see is that:
struct foo *x = malloc(sizeof(*x));
is idiomatic C that newcomers to the project will easily understand,
and:
struct foo *x;
ALLOC(x);
is not. But it feels like we already crossed that bridge with
ALLOC_ARRAY(), etc.
-Peff