Thread (1 message) 1 message, 1 author, 2016-06-15

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help