[PATCH 04/10] xdiff: let patience and histogram benefit from xdl_trim_ends()
- From
Ezekiel Newren via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jan 2, 2026, 18:52 UTC
- Message-ID
- <70040ea1351451243be90d59d26cf1a403f3000a.1767379944.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.2156.git.git.1767379944.gitgitgadget@gmail.com>
From: Ezekiel Newren <ezekielnewren@gmail.com>
The patience diff is set up the exact same way as histogram, see xdl_do_historgram_diff() in xhistogram.c. xdl_optimize_ctxs() is redundant now, delete it.
Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com> --- xdiff/xpatience.c | 4 +++- xdiff/xprepare.c | 14 ++------------ 2 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/xdiff/xpatience.c b/xdiff/xpatience.c index 9580d18032..2bce07cf48 100644 --- a/xdiff/xpatience.c +++ b/xdiff/xpatience.c @@ -373,5 +373,7 @@ static int patience_diff(xpparam_t const *xpp, xdfenv_t *env, int xdl_do_patience_diff(xpparam_t const *xpp, xdfenv_t *env) { - return patience_diff(xpp, env, 1, (int)env->xdf1.nrec, 1, (int)env->xdf2.nrec); + return patience_diff(xpp, env, + env->xdf1.dstart + 1, env->xdf1.dend - env->xdf1.dstart + 1, + env->xdf2.dstart + 1, env->xdf2.dend - env->xdf2.dstart + 1); } diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c index 96a32cc5e9..0d7d9f6146 100644 --- a/xdiff/xprepare.c +++ b/xdiff/xprepare.c @@ -366,17 +366,6 @@ static int xdl_trim_ends(xdfile_t *xdf1, xdfile_t *xdf2) { } -static int xdl_optimize_ctxs(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xdf2) { - - if (xdl_trim_ends(xdf1, xdf2) < 0 || - xdl_cleanup_records(cf, xdf1, xdf2) < 0) { - - return -1; - } - - return 0; -} - int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *xe) { xdlclassifier_t cf; @@ -404,9 +393,10 @@ int xdl_prepare_env(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdl_classify_record(2, &cf, rec); } + xdl_trim_ends(&xe->xdf1, &xe->xdf2); if ((XDF_DIFF_ALG(xpp->flags) != XDF_PATIENCE_DIFF) && (XDF_DIFF_ALG(xpp->flags) != XDF_HISTOGRAM_DIFF) && - xdl_optimize_ctxs(&cf, &xe->xdf1, &xe->xdf2) < 0) { + xdl_cleanup_records(&cf, &xe->xdf1, &xe->xdf2) < 0) { xdl_free_ctx(&xe->xdf2); xdl_free_ctx(&xe->xdf1);
-- gitgitgadget