]> git.ipfire.org Git - thirdparty/git.git/commitdiff
xdiff: avoid signed vs. unsigned comparisons in xhistogram.c
authorDavid Aguilar <davvid@gmail.com>
Wed, 12 Feb 2025 06:04:16 +0000 (22:04 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Feb 2025 17:41:16 +0000 (09:41 -0800)
The comparisons all involve unsigned variables. Cast the comparison
to unsigned to eliminate the mismatch.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
xdiff/xhistogram.c

index 3d2b190fa6f1fb17b6187663d548c037c216be32..040d81e0bc9f5cf61fbc2bf719ddb276f7339a5d 100644 (file)
@@ -41,8 +41,6 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#define DISABLE_SIGN_COMPARE_WARNINGS
-
 #include "xinclude.h"
 
 #define MAX_PTR        UINT_MAX
@@ -108,7 +106,7 @@ static int scanA(struct histindex *index, int line1, int count1)
        unsigned int chain_len;
        struct record **rec_chain, *rec;
 
-       for (ptr = LINE_END(1); line1 <= ptr; ptr--) {
+       for (ptr = LINE_END(1); (unsigned int)line1 <= ptr; ptr--) {
                tbl_idx = TABLE_HASH(index, 1, ptr);
                rec_chain = index->records + tbl_idx;
                rec = *rec_chain;
@@ -183,14 +181,14 @@ static int try_lcs(struct histindex *index, struct region *lcs, int b_ptr,
                        be = bs;
                        rc = rec->cnt;
 
-                       while (line1 < as && line2 < bs
+                       while ((unsigned int)line1 < as && (unsigned int)line2 < bs
                                && CMP(index, 1, as - 1, 2, bs - 1)) {
                                as--;
                                bs--;
                                if (1 < rc)
                                        rc = XDL_MIN(rc, CNT(index, as));
                        }
-                       while (ae < LINE_END(1) && be < LINE_END(2)
+                       while (ae < (unsigned int)LINE_END(1) && be < (unsigned int)LINE_END(2)
                                && CMP(index, 1, ae + 1, 2, be + 1)) {
                                ae++;
                                be++;
@@ -315,7 +313,7 @@ redo:
        if (count1 <= 0 && count2 <= 0)
                return 0;
 
-       if (LINE_END(1) >= MAX_PTR)
+       if ((unsigned int)LINE_END(1) >= MAX_PTR)
                return -1;
 
        if (!count1) {