Skip to content

Commit 10f97d6

Browse files
ezekielnewrengitster
authored andcommitted
xdiff: make xrecord_t.ptr a uint8_t instead of char
Make xrecord_t.ptr uint8_t because it's referring to bytes in memory. In order to avoid a refactor avalanche, many uses of this field were cast to char* or similar. Places where casting was unnecessary: xemit.c:156 xmerge.c:124 xmerge.c:127 xmerge.c:164 xmerge.c:169 xmerge.c:172 xmerge.c:178 Signed-off-by: Ezekiel Newren <ezekielnewren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent f007f4f commit 10f97d6

7 files changed

Lines changed: 21 additions & 21 deletions

File tree

xdiff/xdiffi.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ static int get_indent(xrecord_t *rec)
407407
int ret = 0;
408408

409409
for (i = 0; i < rec->size; i++) {
410-
char c = rec->ptr[i];
410+
char c = (char) rec->ptr[i];
411411

412412
if (!XDL_ISSPACE(c))
413413
return ret;
@@ -993,11 +993,11 @@ static void xdl_mark_ignorable_lines(xdchange_t *xscr, xdfenv_t *xe, long flags)
993993

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

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

10021002
xch->ignore = ignore;
10031003
}
@@ -1008,7 +1008,7 @@ static int record_matches_regex(xrecord_t *rec, xpparam_t const *xpp) {
10081008
size_t i;
10091009

10101010
for (i = 0; i < xpp->ignore_regex_nr; i++)
1011-
if (!regexec_buf(xpp->ignore_regex[i], rec->ptr, rec->size, 1,
1011+
if (!regexec_buf(xpp->ignore_regex[i], (const char *)rec->ptr, rec->size, 1,
10121012
&regmatch, 0))
10131013
return 1;
10141014

xdiff/xemit.c

Lines changed: 3 additions & 3 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(rec->ptr, rec->size, pre, strlen(pre), ecb) < 0)
30+
if (xdl_emit_diffrec((char const *)rec->ptr, 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(rec->ptr, rec->size, buf, sz);
117-
return xecfg->find_func(rec->ptr, rec->size, buf, sz, xecfg->find_func_priv);
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);
118118
}
119119

120120
static int is_func_rec(xdfile_t *xdf, xdemitconf_t const *xecfg, long ri)

xdiff/xmerge.c

Lines changed: 7 additions & 7 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(rec1[i].ptr, rec1[i].size,
105-
rec2[i].ptr, rec2[i].size, flags);
104+
int result = xdl_recmatch((const char *)rec1[i].ptr, rec1[i].size,
105+
(const char *)rec2[i].ptr, rec2[i].size, flags);
106106
if (!result)
107107
return -1;
108108
}
@@ -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(rec1->ptr, rec1->size,
328-
rec2->ptr, rec2->size, flags);
327+
return xdl_recmatch((const char *)rec1->ptr, rec1->size,
328+
(const char *)rec2->ptr, rec2->size, flags);
329329
}
330330

331331
/*
@@ -382,10 +382,10 @@ static int xdl_refine_conflicts(xdfenv_t *xe1, xdfenv_t *xe2, xdmerge_t *m,
382382
* we have a very simple mmfile structure.
383383
*/
384384
t1.ptr = (char *)xe1->xdf2.recs[m->i1].ptr;
385-
t1.size = xe1->xdf2.recs[m->i1 + m->chg1 - 1].ptr
385+
t1.size = (char *)xe1->xdf2.recs[m->i1 + m->chg1 - 1].ptr
386386
+ xe1->xdf2.recs[m->i1 + m->chg1 - 1].size - t1.ptr;
387387
t2.ptr = (char *)xe2->xdf2.recs[m->i2].ptr;
388-
t2.size = xe2->xdf2.recs[m->i2 + m->chg2 - 1].ptr
388+
t2.size = (char *)xe2->xdf2.recs[m->i2 + m->chg2 - 1].ptr
389389
+ xe2->xdf2.recs[m->i2 + m->chg2 - 1].size - t2.ptr;
390390
if (xdl_do_diff(&t1, &t2, xpp, &xe) < 0)
391391
return -1;
@@ -440,7 +440,7 @@ static int line_contains_alnum(const char *ptr, long size)
440440
static int lines_contain_alnum(xdfenv_t *xe, int i, int chg)
441441
{
442442
for (; chg; chg--, i++)
443-
if (line_contains_alnum(xe->xdf2.recs[i].ptr,
443+
if (line_contains_alnum((const char *)xe->xdf2.recs[i].ptr,
444444
xe->xdf2.recs[i].size))
445445
return 1;
446446
return 0;

xdiff/xpatience.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ static void insert_record(xpparam_t const *xpp, int line, struct hashmap *map,
121121
return;
122122
map->entries[index].line1 = line;
123123
map->entries[index].hash = record->ha;
124-
map->entries[index].anchor = is_anchor(xpp, map->env->xdf1.recs[line - 1].ptr);
124+
map->entries[index].anchor = is_anchor(xpp, (const char *)map->env->xdf1.recs[line - 1].ptr);
125125
if (!map->first)
126126
map->first = map->entries + index;
127127
if (map->last) {

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(rcrec->rec.ptr, rcrec->rec.size,
103-
rec->ptr, rec->size, cf->flags))
102+
xdl_recmatch((const char *)rcrec->rec.ptr, rcrec->rec.size,
103+
(const char *)rec->ptr, rec->size, cf->flags))
104104
break;
105105

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

xdiff/xtypes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ typedef struct s_chastore {
3939
} chastore_t;
4040

4141
typedef struct s_xrecord {
42-
char const *ptr;
42+
uint8_t const *ptr;
4343
long size;
4444
unsigned long ha;
4545
} xrecord_t;

xdiff/xutils.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -465,10 +465,10 @@ int xdl_fall_back_diff(xdfenv_t *diff_env, xpparam_t const *xpp,
465465
xdfenv_t env;
466466

467467
subfile1.ptr = (char *)diff_env->xdf1.recs[line1 - 1].ptr;
468-
subfile1.size = diff_env->xdf1.recs[line1 + count1 - 2].ptr +
468+
subfile1.size = (char *)diff_env->xdf1.recs[line1 + count1 - 2].ptr +
469469
diff_env->xdf1.recs[line1 + count1 - 2].size - subfile1.ptr;
470470
subfile2.ptr = (char *)diff_env->xdf2.recs[line2 - 1].ptr;
471-
subfile2.size = diff_env->xdf2.recs[line2 + count2 - 2].ptr +
471+
subfile2.size = (char *)diff_env->xdf2.recs[line2 + count2 - 2].ptr +
472472
diff_env->xdf2.recs[line2 + count2 - 2].size - subfile2.ptr;
473473
if (xdl_do_diff(&subfile1, &subfile2, xpp, &env) < 0)
474474
return -1;

0 commit comments

Comments
 (0)