]> git.ipfire.org Git - thirdparty/git.git/commitdiff
xdiff: make xdfile_t.nreff a size_t instead of long
authorEzekiel Newren <ezekielnewren@gmail.com>
Tue, 18 Nov 2025 22:34:20 +0000 (22:34 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Nov 2025 22:53:11 +0000 (14:53 -0800)
size_t is used because nreff describes the number of elements in memory
for rindex.

Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
xdiff/xprepare.c
xdiff/xtypes.h

index 705ddd1ae00a365d360e1651a006ddae2aea52cf..39fd79d9d4633123fa78945a469fd9d6a60bedf4 100644 (file)
@@ -264,7 +264,7 @@ static bool xdl_clean_mmatch(uint8_t const *action, long i, long s, long e) {
  * might be potentially discarded if they appear in a run of discardable.
  */
 static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xdf2) {
-       long i, nm, nreff, mlim;
+       long i, nm, mlim;
        xrecord_t *recs;
        xdlclass_t *rcrec;
        uint8_t *action1 = NULL, *action2 = NULL;
@@ -307,29 +307,29 @@ static int xdl_cleanup_records(xdlclassifier_t *cf, xdfile_t *xdf1, xdfile_t *xd
         * Use temporary arrays to decide if changed[i] should remain
         * false, or become true.
         */
-       for (nreff = 0, i = xdf1->dstart, recs = &xdf1->recs[xdf1->dstart];
+       xdf1->nreff = 0;
+       for (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;
+                       xdf1->rindex[xdf1->nreff++] = i;
                        /* changed[i] remains false, i.e. keep */
                } else
                        xdf1->changed[i] = true;
                        /* i.e. discard */
        }
-       xdf1->nreff = nreff;
 
-       for (nreff = 0, i = xdf2->dstart, recs = &xdf2->recs[xdf2->dstart];
+       xdf2->nreff = 0;
+       for (i = xdf2->dstart, recs = &xdf2->recs[xdf2->dstart];
             i <= xdf2->dend; i++, recs++) {
                if (action2[i] == KEEP ||
                    (action2[i] == INVESTIGATE && !xdl_clean_mmatch(action2, i, xdf2->dstart, xdf2->dend))) {
-                       xdf2->rindex[nreff++] = i;
+                       xdf2->rindex[xdf2->nreff++] = i;
                        /* changed[i] remains false, i.e. keep */
                } else
                        xdf2->changed[i] = true;
                        /* i.e. discard */
        }
-       xdf2->nreff = nreff;
 
 cleanup:
        xdl_free(action1);
index 4c4d9bd147ebe8f9d53a2a40ab7d9cb01e8d8bb1..1f495f987f861b9f87760fbace4a7be65a4a40e0 100644 (file)
@@ -51,7 +51,7 @@ typedef struct s_xdfile {
        ptrdiff_t dstart, dend;
        bool *changed;
        long *rindex;
-       long nreff;
+       size_t nreff;
 } xdfile_t;
 
 typedef struct s_xdfenv {