diff options
Diffstat (limited to 'xdiff/xhistogram.c')
| -rw-r--r-- | xdiff/xhistogram.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/xdiff/xhistogram.c b/xdiff/xhistogram.c index 16a8fe2f3f..6dc450b1fe 100644 --- a/xdiff/xhistogram.c +++ b/xdiff/xhistogram.c @@ -86,7 +86,7 @@ struct region { ((LINE_MAP(index, ptr))->cnt) #define REC(env, s, l) \ - (env->xdf##s.recs[l - 1]) + (&env->xdf##s.recs[l - 1]) static int cmp_recs(xrecord_t *r1, xrecord_t *r2) { @@ -106,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; @@ -181,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++; @@ -313,16 +313,16 @@ 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) { while(count2--) - env->xdf2.rchg[line2++ - 1] = 1; + env->xdf2.changed[line2++ - 1] = true; return 0; } else if (!count2) { while(count1--) - env->xdf1.rchg[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.rchg[line1++ - 1] = 1; + env->xdf1.changed[line1++ - 1] = true; while (count2--) - env->xdf2.rchg[line2++ - 1] = 1; + env->xdf2.changed[line2++ - 1] = true; result = 0; } else { result = histogram_diff(xpp, env, |
