From: René Scharfe Date: Mon, 30 Jan 2017 17:26:20 GMT Subject: Re: [PATCH 4/5] diff: use SWAP macro Message-ID: <3058e7e1-c779-0183-9394-e9cd5e05cc3c@web.de> In-Reply-To: Am 30.01.2017 um 17:04 schrieb Johannes Schindelin: > Hi René, > > On Sat, 28 Jan 2017, René Scharfe wrote: > >> Use the macro SWAP to exchange the value of pairs of variables instead >> of swapping them manually with the help of a temporary variable. The >> resulting code is shorter and easier to read. >> >> The two cases were not transformed by the semantic patch swap.cocci >> because it's extra careful and handles only cases where the types of all >> variables are the same -- and here we swap two ints and use an unsigned >> temporary variable for that. Nevertheless the conversion is safe, as >> the value range is preserved with and without the patch. > > One way to make this more obvious would be to change the type to signed > first, and then transform (which then would catch these cases too, > right?). I'm not sure it would be more obvious, but it would certainly make the type change more explicit. In diff-index.c we might even want to change the type of the swapped values from int to unsigned, which is more fitting for file modes. In diff.c we'd need to add a separate variable, as tmp is shared with other (unsigned) swaps. René