summaryrefslogtreecommitdiff
path: root/xdiff/xhistogram.c
diff options
context:
space:
mode:
authorStefan Beller <sbeller@google.com>2018-07-19 18:56:19 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-07-19 19:46:01 (GMT)
commitc671d4b5990f07ca40b0914ca9be65c626608fca (patch)
treef1b51e0463f48f6e7edee0b488b3f69a84f63ce1 /xdiff/xhistogram.c
parent282098506ffb42d151a3c8d324b6b5393a4342a4 (diff)
downloadgit-c671d4b5990f07ca40b0914ca9be65c626608fca.zip
git-c671d4b5990f07ca40b0914ca9be65c626608fca.tar.gz
git-c671d4b5990f07ca40b0914ca9be65c626608fca.tar.bz2
xdiff/xhistogram: factor out memory cleanup into free_index()
This will be useful in the next patch as we'll introduce multiple callers. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff/xhistogram.c')
-rw-r--r--xdiff/xhistogram.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/xdiff/xhistogram.c b/xdiff/xhistogram.c
index 6e20f75..5098b6c 100644
--- a/xdiff/xhistogram.c
+++ b/xdiff/xhistogram.c
@@ -243,6 +243,14 @@ static int fall_back_to_classic_diff(xpparam_t const *xpp, xdfenv_t *env,
line1, count1, line2, count2);
}
+static inline void free_index(struct histindex *index)
+{
+ xdl_free(index->records);
+ xdl_free(index->line_map);
+ xdl_free(index->next_ptrs);
+ xdl_cha_free(&index->rcha);
+}
+
static int find_lcs(struct histindex *index, struct region *lcs,
int line1, int count1, int line2, int count2) {
int b_ptr;
@@ -343,10 +351,7 @@ static int histogram_diff(xpparam_t const *xpp, xdfenv_t *env,
}
cleanup:
- xdl_free(index.records);
- xdl_free(index.line_map);
- xdl_free(index.next_ptrs);
- xdl_cha_free(&index.rcha);
+ free_index(&index);
return result;
}