Re: [PATCH 1/2] add macro REALLOCARRAY
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:02:32
René Scharfe [off-list ref] writes:
Am 16.09.2014 um 05:04 schrieb Junio C Hamano:quoted
On Sun, Sep 14, 2014 at 9:55 AM, René Scharfe [off-list ref] wrote:quoted
+#define REALLOCARRAY(x, alloc) x = xrealloc((x), (alloc) * sizeof(*(x)))I have been wondering if "x" could be an expression that has an operator that binds weaker than the assignment '='. That may necessitate the LHS of the assignment to be somehow marked as bound the tightest, i.e. #define REALLOC_ARRAY(x, alloc) (x) = xrealloc((x), (alloc) * sizeof(*(x))) Or am I being overly silly?ALLOC_GROW did well without that. I can't think of a good use case for a complex expression on the right-hand side. That said, I think I still have a spare matching pair of parentheses lying around here somewhere, so let's play it safe and use them. :)
Yeah, as long as (any) is still an lvalue for any lvalue for everybody's compiler, (x) = ... expression ... is safer, but taking cue from ALLOC_GROW(), I would say I was probably being slightly overly silly.