Re: [PATCH 4/5] diff: use SWAP macro
From: René Scharfe <hidden>
Date: 2017-01-30 17:27:00
Am 30.01.2017 um 17:04 schrieb Johannes Schindelin:
Hi René, On Sat, 28 Jan 2017, René Scharfe wrote:quoted
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é