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é