diff: use SWAP macro
authorRené Scharfe <l.s.r@web.de>
Sat, 28 Jan 2017 21:41:47 +0000 (22:41 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 30 Jan 2017 22:23:00 +0000 (14:23 -0800)
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.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff-no-index.c
diff.c

index 1ae0989..df762fd 100644 (file)
@@ -185,8 +185,7 @@ static int queue_diff(struct diff_options *o,
                struct diff_filespec *d1, *d2;
 
                if (DIFF_OPT_TST(o, REVERSE_DIFF)) {
-                       unsigned tmp;
-                       tmp = mode1; mode1 = mode2; mode2 = tmp;
+                       SWAP(mode1, mode2);
                        SWAP(name1, name2);
                }
 
diff --git a/diff.c b/diff.c
index 9de1ba2..6c4f3f6 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -5117,11 +5117,9 @@ void diff_change(struct diff_options *options,
                return;
 
        if (DIFF_OPT_TST(options, REVERSE_DIFF)) {
-               unsigned tmp;
                SWAP(old_mode, new_mode);
                SWAP(old_sha1, new_sha1);
-               tmp = old_sha1_valid; old_sha1_valid = new_sha1_valid;
-                       new_sha1_valid = tmp;
+               SWAP(old_sha1_valid, new_sha1_valid);
                SWAP(old_dirty_submodule, new_dirty_submodule);
        }