From: Ezekiel Newren Date: Fri, 26 Sep 2025 22:41:59 +0000 (+0000) Subject: xdiff: change type of xdfile_t.changed from char to bool X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8b9c5d2e3a38b6e0c2278fe10fe2a4bf34496a9d;p=thirdparty%2Fgit.git xdiff: change type of xdfile_t.changed from char to bool The only values possible for 'changed' is 1 and 0, which exactly maps to a bool type. It might not look like this because action1 and action2 (which use to be dis1, and dis2) were also of type char and were assigned numerical values within a few lines of 'changed' (what used to be rchg). Using DISCARD/KEEP/INVESTIGATE for action1[i]/action2[j], and true/false for changed[k] makes it clear to future readers that these are logically separate concepts. Best-viewed-with: --color-words Signed-off-by: Ezekiel Newren Signed-off-by: Junio C Hamano --- diff --git a/xdiff/xdiffi.c b/xdiff/xdiffi.c index bd5b31c664..6f3998ee54 100644 --- a/xdiff/xdiffi.c +++ b/xdiff/xdiffi.c @@ -278,10 +278,10 @@ int xdl_recs_cmp(xdfile_t *xdf1, long off1, long lim1, */ if (off1 == lim1) { for (; off2 < lim2; off2++) - xdf2->changed[xdf2->rindex[off2]] = 1; + xdf2->changed[xdf2->rindex[off2]] = true; } else if (off2 == lim2) { for (; off1 < lim1; off1++) - xdf1->changed[xdf1->rindex[off1]] = 1; + xdf1->changed[xdf1->rindex[off1]] = true; } else { xdpsplit_t spl; spl.i1 = spl.i2 = 0; @@ -753,8 +753,8 @@ static int group_slide_down(xdfile_t *xdf, struct xdlgroup *g) { if (g->end < xdf->nrec && recs_match(&xdf->recs[g->start], &xdf->recs[g->end])) { - xdf->changed[g->start++] = 0; - xdf->changed[g->end++] = 1; + xdf->changed[g->start++] = false; + xdf->changed[g->end++] = true; while (xdf->changed[g->end]) g->end++; @@ -774,8 +774,8 @@ static int group_slide_up(xdfile_t *xdf, struct xdlgroup *g) { if (g->start > 0 && recs_match(&xdf->recs[g->start - 1], &xdf->recs[g->end - 1])) { - xdf->changed[--g->start] = 1; - xdf->changed[--g->end] = 0; + xdf->changed[--g->start] = true; + xdf->changed[--g->end] = false; while (xdf->changed[g->start - 1]) g->start--; @@ -932,7 +932,7 @@ int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags) { int xdl_build_script(xdfenv_t *xe, xdchange_t **xscr) { xdchange_t *cscr = NULL, *xch; - char *changed1 = xe->xdf1.changed, *changed2 = xe->xdf2.changed; + bool *changed1 = xe->xdf1.changed, *changed2 = xe->xdf2.changed; long i1, i2, l1, l2; /* diff --git a/xdiff/xhistogram.c b/xdiff/xhistogram.c index 15ca15f6b0..6dc450b1fe 100644 --- a/xdiff/xhistogram.c +++ b/xdiff/xhistogram.c @@ -318,11 +318,11 @@ redo: if (!count1) { while(count2--) - env->xdf2.changed[line2++ - 1] = 1; + env->xdf2.changed[line2++ - 1] = true; return 0; } else if (!count2) { while(count1--) - env->xdf1.changed[line1++ - 1] = 1; + env->xdf1.changed[line1++ - 1] = true; return 0; } @@ -335,9 +335,9 @@ redo: else { if (lcs.begin1 == 0 && lcs.begin2 == 0) { while (count1--) - env->xdf1.changed[line1++ - 1] = 1; + env->xdf1.changed[line1++ - 1] = true; while (count2--) - env->xdf2.changed[line2++ - 1] = 1; + env->xdf2.changed[line2++ - 1] = true; result = 0; } else { result = histogram_diff(xpp, env, diff --git a/xdiff/xpatience.c b/xdiff/xpatience.c index 14092ffb86..669b653580 100644 --- a/xdiff/xpatience.c +++ b/xdiff/xpatience.c @@ -331,11 +331,11 @@ static int patience_diff(xpparam_t const *xpp, xdfenv_t *env, /* trivial case: one side is empty */ if (!count1) { while(count2--) - env->xdf2.changed[line2++ - 1] = 1; + env->xdf2.changed[line2++ - 1] = true; return 0; } else if (!count2) { while(count1--) - env->xdf1.changed[line1++ - 1] = 1; + env->xdf1.changed[line1++ - 1] = true; return 0; } @@ -347,9 +347,9 @@ static int patience_diff(xpparam_t const *xpp, xdfenv_t *env, /* are there any matching lines at all? */ if (!map.has_matches) { while(count1--) - env->xdf1.changed[line1++ - 1] = 1; + env->xdf1.changed[line1++ - 1] = true; while(count2--) - env->xdf2.changed[line2++ - 1] = 1; + env->xdf2.changed[line2++ - 1] = true; xdl_free(map.entries); return 0; } diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c index 55e3b50ce6..192334f1b7 100644 --- a/xdiff/xprepare.c +++ b/xdiff/xprepare.c @@ -273,7 +273,7 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd /* * Create temporary arrays that will help us decide if - * changed[i] should remain 0 or become 1. + * changed[i] should remain false, or become true. */ if (!XDL_CALLOC_ARRAY(action1, xdf1->nrec + 1)) { ret = -1; @@ -305,16 +305,16 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd /* * Use temporary arrays to decide if changed[i] should remain - * 0 or become 1. + * false, or become true. */ for (nreff = 0, i = xdf1->dstart, recs = &xdf1->recs[xdf1->dstart]; i <= xdf1->dend; i++, recs++) { if (action1[i] == KEEP || (action1[i] == INVESTIGATE && !xdl_clean_mmatch(action1, i, xdf1->dstart, xdf1->dend))) { xdf1->rindex[nreff++] = i; - /* changed[i] remains 0, i.e. keep */ + /* changed[i] remains false, i.e. keep */ } else - xdf1->changed[i] = 1; + xdf1->changed[i] = true; /* i.e. discard */ } xdf1->nreff = nreff; @@ -324,9 +324,9 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd if (action2[i] == KEEP || (action2[i] == INVESTIGATE && !xdl_clean_mmatch(action2, i, xdf2->dstart, xdf2->dend))) { xdf2->rindex[nreff++] = i; - /* changed[i] remains 0, i.e. keep */ + /* changed[i] remains false, i.e. keep */ } else - xdf2->changed[i] = 1; + xdf2->changed[i] = true; /* i.e. discard */ } xdf2->nreff = nreff; diff --git a/xdiff/xtypes.h b/xdiff/xtypes.h index c4b5d2d8fa..f145abba3e 100644 --- a/xdiff/xtypes.h +++ b/xdiff/xtypes.h @@ -48,7 +48,7 @@ typedef struct s_xdfile { xrecord_t *recs; long nrec; long dstart, dend; - char *changed; + bool *changed; long *rindex; long nreff; } xdfile_t;