]> git.ipfire.org Git - thirdparty/git.git/commitdiff
xdiff: make xdfile_t.nreff a size_t instead of long
authorEzekiel Newren <ezekielnewren@gmail.com>
Wed, 29 Oct 2025 22:19:46 +0000 (22:19 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Oct 2025 14:13:35 +0000 (07:13 -0700)
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 4ee9fb60cdd6b969865454239229208b7bb9de06..c690bafeb17ed2b0d49b34c5e8106c185c9f289a 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 17cafd8b6e8dddbcc7640d86cb565218f2ecb915..df4c5cab1ac3f43e9d28826318a33b175d5d1779 100644 (file)
@@ -50,7 +50,7 @@ typedef struct s_xdfile {
        size_t nrec;
        bool *changed;
        long *rindex;
-       long nreff;
+       size_t nreff;
        ptrdiff_t dstart, dend;
 } xdfile_t;