diffcore-break: use a goto instead of a redundant if statement

The condition "if (q->nr <= j)" checks whether the loop exited normally
or via a break statement. Avoid this check by replacing the jump out of
the inner loop with a jump to the end of the outer loop, which makes it
obvious that diff_q is not executed when the peer survives.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Alex Henrie 2019-09-30 20:29:35 -06:00 committed by Junio C Hamano
parent 8da02ce62a
commit baed6bbb5b

View File

@ -286,17 +286,17 @@ void diffcore_merge_broken(void)
/* Peer survived. Merge them */ /* Peer survived. Merge them */
merge_broken(p, pp, &outq); merge_broken(p, pp, &outq);
q->queue[j] = NULL; q->queue[j] = NULL;
break; goto next;
} }
} }
if (q->nr <= j) /* The peer did not survive, so we keep
/* The peer did not survive, so we keep * it in the output.
* it in the output. */
*/ diff_q(&outq, p);
diff_q(&outq, p);
} }
else else
diff_q(&outq, p); diff_q(&outq, p);
next:;
} }
free(q->queue); free(q->queue);
*q = outq; *q = outq;