diff: avoid redundantly clearing a flag
authorJonathan Tan <jonathantanmy@google.com>
Fri, 11 Aug 2017 22:49:14 +0000 (15:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 14 Aug 2017 19:28:36 +0000 (12:28 -0700)
No code in diff.c sets DIFF_SYMBOL_MOVED_LINE except in
mark_color_as_moved(), so it is redundant to clear it for the current
line. Therefore, clear it only for previous lines.

This makes a refactoring in a subsequent patch easier.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
diff --git a/diff.c b/diff.c
index 4af73a7e0c4da09f21b0819f2f7d32ad74f861e4..23311f9c006a93d6691b9b2202ec24906047257f 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -898,7 +898,7 @@ static void mark_color_as_moved(struct diff_options *o,
                if (!match) {
                        if (block_length < COLOR_MOVED_MIN_BLOCK_LENGTH &&
                            o->color_moved != COLOR_MOVED_PLAIN) {
-                               for (i = 0; i < block_length + 1; i++) {
+                               for (i = 1; i < block_length + 1; i++) {
                                        l = &o->emitted_symbols->buf[n - i];
                                        l->flags &= ~DIFF_SYMBOL_MOVED_LINE;
                                }