summaryrefslogtreecommitdiff
path: root/diff.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-09-24 17:30:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-09-24 17:30:48 (GMT)
commitdda26650bf03ba7291dc3ff8f1639bead00493f3 (patch)
treef94c9de3b16d6b7879e5e518e50e975ae8b965df /diff.c
parentbd3941a0aed0756aba43f504d0dea7a3fbe0c82b (diff)
parentfab01ec52e83df886ca952879e196b8d8bd42013 (diff)
downloadgit-dda26650bf03ba7291dc3ff8f1639bead00493f3.zip
git-dda26650bf03ba7291dc3ff8f1639bead00493f3.tar.gz
git-dda26650bf03ba7291dc3ff8f1639bead00493f3.tar.bz2
Merge branch 'sb/diff-color-move-more'
Bugfix. * sb/diff-color-move-more: diff: fix --color-moved-ws=allow-indentation-change
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/diff.c b/diff.c
index 71ff247..f0c7557 100644
--- a/diff.c
+++ b/diff.c
@@ -980,8 +980,13 @@ static void pmb_advance_or_null_multi_match(struct diff_options *o,
/* Carry the white space delta forward */
pmb[i]->next_line->wsd = pmb[i]->wsd;
pmb[i] = pmb[i]->next_line;
- } else
+ } else {
+ if (pmb[i]->wsd) {
+ free(pmb[i]->wsd->string);
+ FREE_AND_NULL(pmb[i]->wsd);
+ }
pmb[i] = NULL;
+ }
}
}
@@ -1002,10 +1007,6 @@ static int shrink_potential_moved_blocks(struct moved_entry **pmb,
if (lp < pmb_nr && rp > -1 && lp < rp) {
pmb[lp] = pmb[rp];
- if (pmb[rp]->wsd) {
- free(pmb[rp]->wsd->string);
- FREE_AND_NULL(pmb[rp]->wsd);
- }
pmb[rp] = NULL;
rp--;
lp++;