Skip to content

Commit 9bd1932

Browse files
ezekielnewrengitster
authored andcommitted
xdiff: use size_t for xrecord_t.size
size_t is the appropriate type because size is describing the number of elements, bytes in this case, in memory. Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 10f97d6 commit 9bd1932

5 files changed

Lines changed: 19 additions & 20 deletions

File tree

xdiff/xdiffi.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -403,10 +403,9 @@ static int recs_match(xrecord_t *rec1, xrecord_t *rec2)
403403
*/
404404
static int get_indent(xrecord_t *rec)
405405
{
406-
long i;
407406
int ret = 0;
408407

409-
for (i = 0; i < rec->size; i++) {
408+
for (size_t i = 0; i < rec->size; i++) {
410409
char c = (char) rec->ptr[i];
411410

412411
if (!XDL_ISSPACE(c))
@@ -993,11 +992,11 @@ static void xdl_mark_ignorable_lines(xdchange_t *xscr, xdfenv_t *xe, long flags)
993992

994993
rec = &xe->xdf1.recs[xch->i1];
995994
for (i = 0; i < xch->chg1 && ignore; i++)
996-
ignore = xdl_blankline((const char *)rec[i].ptr, rec[i].size, flags);
995+
ignore = xdl_blankline((const char *)rec[i].ptr, (long)rec[i].size, flags);
997996

998997
rec = &xe->xdf2.recs[xch->i2];
999998
for (i = 0; i < xch->chg2 && ignore; i++)
1000-
ignore = xdl_blankline((const char *)rec[i].ptr, rec[i].size, flags);
999+
ignore = xdl_blankline((const char *)rec[i].ptr, (long)rec[i].size, flags);
10011000

10021001
xch->ignore = ignore;
10031002
}

xdiff/xemit.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ static int xdl_emit_record(xdfile_t *xdf, long ri, char const *pre, xdemitcb_t *
2727
{
2828
xrecord_t *rec = &xdf->recs[ri];
2929

30-
if (xdl_emit_diffrec((char const *)rec->ptr, rec->size, pre, strlen(pre), ecb) < 0)
30+
if (xdl_emit_diffrec((char const *)rec->ptr, (long)rec->size, pre, strlen(pre), ecb) < 0)
3131
return -1;
3232

3333
return 0;
@@ -113,8 +113,8 @@ static long match_func_rec(xdfile_t *xdf, xdemitconf_t const *xecfg, long ri,
113113
xrecord_t *rec = &xdf->recs[ri];
114114

115115
if (!xecfg->find_func)
116-
return def_ff((const char *)rec->ptr, rec->size, buf, sz);
117-
return xecfg->find_func((const char *)rec->ptr, rec->size, buf, sz, xecfg->find_func_priv);
116+
return def_ff((const char *)rec->ptr, (long)rec->size, buf, sz);
117+
return xecfg->find_func((const char *)rec->ptr, (long)rec->size, buf, sz, xecfg->find_func_priv);
118118
}
119119

120120
static int is_func_rec(xdfile_t *xdf, xdemitconf_t const *xecfg, long ri)
@@ -151,7 +151,7 @@ static long get_func_line(xdfenv_t *xe, xdemitconf_t const *xecfg,
151151
static int is_empty_rec(xdfile_t *xdf, long ri)
152152
{
153153
xrecord_t *rec = &xdf->recs[ri];
154-
long i = 0;
154+
size_t i = 0;
155155

156156
for (; i < rec->size && XDL_ISSPACE(rec->ptr[i]); i++);
157157

xdiff/xmerge.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ static int xdl_merge_cmp_lines(xdfenv_t *xe1, int i1, xdfenv_t *xe2, int i2,
101101
xrecord_t *rec2 = xe2->xdf2.recs + i2;
102102

103103
for (i = 0; i < line_count; i++) {
104-
int result = xdl_recmatch((const char *)rec1[i].ptr, rec1[i].size,
105-
(const char *)rec2[i].ptr, rec2[i].size, flags);
104+
int result = xdl_recmatch((const char *)rec1[i].ptr, (long)rec1[i].size,
105+
(const char *)rec2[i].ptr, (long)rec2[i].size, flags);
106106
if (!result)
107107
return -1;
108108
}
@@ -119,11 +119,11 @@ static int xdl_recs_copy_0(int use_orig, xdfenv_t *xe, int i, int count, int nee
119119
if (count < 1)
120120
return 0;
121121

122-
for (i = 0; i < count; size += recs[i++].size)
122+
for (i = 0; i < count; size += (int)recs[i++].size)
123123
if (dest)
124124
memcpy(dest + size, recs[i].ptr, recs[i].size);
125125
if (add_nl) {
126-
i = recs[count - 1].size;
126+
i = (int)recs[count - 1].size;
127127
if (i == 0 || recs[count - 1].ptr[i - 1] != '\n') {
128128
if (needs_cr) {
129129
if (dest)
@@ -156,7 +156,7 @@ static int xdl_orig_copy(xdfenv_t *xe, int i, int count, int needs_cr, int add_n
156156
*/
157157
static int is_eol_crlf(xdfile_t *file, int i)
158158
{
159-
long size;
159+
size_t size;
160160

161161
if (i < file->nrec - 1)
162162
/* All lines before the last *must* end in LF */
@@ -324,8 +324,8 @@ static int xdl_fill_merge_buffer(xdfenv_t *xe1, const char *name1,
324324

325325
static int recmatch(xrecord_t *rec1, xrecord_t *rec2, unsigned long flags)
326326
{
327-
return xdl_recmatch((const char *)rec1->ptr, rec1->size,
328-
(const char *)rec2->ptr, rec2->size, flags);
327+
return xdl_recmatch((const char *)rec1->ptr, (long)rec1->size,
328+
(const char *)rec2->ptr, (long)rec2->size, flags);
329329
}
330330

331331
/*
@@ -441,7 +441,7 @@ static int lines_contain_alnum(xdfenv_t *xe, int i, int chg)
441441
{
442442
for (; chg; chg--, i++)
443443
if (line_contains_alnum((const char *)xe->xdf2.recs[i].ptr,
444-
xe->xdf2.recs[i].size))
444+
(long)xe->xdf2.recs[i].size))
445445
return 1;
446446
return 0;
447447
}

xdiff/xprepare.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ static int xdl_classify_record(unsigned int pass, xdlclassifier_t *cf, xrecord_t
9999
hi = (long) XDL_HASHLONG(rec->ha, cf->hbits);
100100
for (rcrec = cf->rchash[hi]; rcrec; rcrec = rcrec->next)
101101
if (rcrec->rec.ha == rec->ha &&
102-
xdl_recmatch((const char *)rcrec->rec.ptr, rcrec->rec.size,
103-
(const char *)rec->ptr, rec->size, cf->flags))
102+
xdl_recmatch((const char *)rcrec->rec.ptr, (long)rcrec->rec.size,
103+
(const char *)rec->ptr, (long)rec->size, cf->flags))
104104
break;
105105

106106
if (!rcrec) {
@@ -157,7 +157,7 @@ static int xdl_prepare_ctx(unsigned int pass, mmfile_t *mf, long narec, xpparam_
157157
goto abort;
158158
crec = &xdf->recs[xdf->nrec++];
159159
crec->ptr = (uint8_t const *)prev;
160-
crec->size = (long) (cur - prev);
160+
crec->size = cur - prev;
161161
crec->ha = hav;
162162
if (xdl_classify_record(pass, cf, crec) < 0)
163163
goto abort;

xdiff/xtypes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ typedef struct s_chastore {
4040

4141
typedef struct s_xrecord {
4242
uint8_t const *ptr;
43-
long size;
43+
size_t size;
4444
unsigned long ha;
4545
} xrecord_t;
4646

0 commit comments

Comments
 (0)