Re: [PATCH 4/5] diff: use SWAP macro
- From
René Scharfe <l.s.r@web.de>
- Date
- Jan 30, 2017, 17:26 UTC
- Message-ID
- <3058e7e1-c779-0183-9394-e9cd5e05cc3c@web.de>
- In-Reply-To
- <alpine.DEB.2.20.1701301704110.3469@virtualbox>
Am 30.01.2017 um 17:04 schrieb Johannes Schindelin:
Show 17 quoted lines
> 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é