Hi David, On Fri, Jul 11, 2025 at 06:43:43PM +0100, David Laight wrote: > On Fri, 11 Jul 2025 01:23:49 +0200 > Alejandro Colomar <[email protected]> wrote: > > > Hi Linus, > > > > [I'll reply to both of your emails at once] > > > > On Thu, Jul 10, 2025 at 02:58:24PM -0700, Linus Torvalds wrote: > > > You took my suggestion, and then you messed it up. > > > > > > Your version of sprintf_array() is broken. It evaluates 'a' twice. > > > Because unlike ARRAY_SIZE(), your broken ENDOF() macro evaluates the > > > argument. > > > > An array has no issue being evaluated twice (unless it's a VLA). On the > > other hand, I agree it's better to not do that in the first place. > > My bad for forgetting about it. Sorry. > > Or a function that returns an array...
Actually, I was forgetting that the array could be gotten from a pointer
to array:
int (*ap)[42] = ...;
ENDOF(ap++); // Evaluates ap++
Anyway, fixed in v6.
Cheers,
Alex
--
<https://www.alejandro-colomar.es/>
signature.asc
Description: PGP signature
