From: Jeff King Date: Mon, 23 Sep 2019 22:27:00 GMT Subject: Re: [PATCH] git: use COPY_ARRAY and MOVE_ARRAY in handle_alias() Message-ID: <20190923222659.GA22645@sigill.intra.peff.net> In-Reply-To: On Thu, Sep 19, 2019 at 10:48:30PM +0200, René Scharfe wrote: > Use the macro COPY_ARRAY to copy array elements and MOVE_ARRAY to do the > same for moving them backwards in an array with potential overlap. The > result is shorter and safer, as it infers the element type automatically > and does a (very) basic type compatibility check for its first two > arguments. > > These cases were missed by Coccinelle and contrib/coccinelle/array.cocci > because the type of the elements is "const char *", not "char *", and > the rules in the semantic patch cautiously insist on the sizeof operator > being used on exactly the same type to avoid generating transformations > that introduce subtle bugs into tricky code. Another good reason to use "sizeof(var)" instead of sizeof(type)". :) The patch looks good. -Peff