Re: [PATCH 1/2] add MOVE_ARRAY
- Date: Sun, 16 Jul 2017 06:31:32 -0400
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: [PATCH 1/2] add MOVE_ARRAY
On Sat, Jul 15, 2017 at 09:36:20PM +0200, René Scharfe wrote:
> Similar to COPY_ARRAY (introduced in 60566cbb58), add a safe and
> convenient helper for moving potentially overlapping ranges of array
> entries. It infers the element size, multiplies automatically and
> safely to get the size in bytes, does a basic type safety check by
> comparing element sizes and unlike memmove(3) it supports NULL
> pointers iff 0 elements are to be moved.
> Also add a semantic patch to demonstrate the helper's intended usage.
If we have COPY_ARRAY(), I think it's foolish not to provide the
matching MOVE_ARRAY(). If it were just the "if (n)", I might say we
could just do this inline in the few calls that care. But I really like
the size safety.
I agree with your comments elsewhere that we don't need to worry about
the case where one of the arrays is NULL but the size is not zero.
That's a flat-out bug.