*/
if (off1 == lim1) {
for (; off2 < lim2; off2++)
- xdf2->rchg[xdf2->rindex[off2]] = 1;
+ xdf2->changed[xdf2->rindex[off2]] = 1;
} else if (off2 == lim2) {
for (; off1 < lim1; off1++)
- xdf1->rchg[xdf1->rindex[off1]] = 1;
+ xdf1->changed[xdf1->rindex[off1]] = 1;
} else {
xdpsplit_t spl;
spl.i1 = spl.i2 = 0;
static void group_init(xdfile_t *xdf, struct xdlgroup *g)
{
g->start = g->end = 0;
- while (xdf->rchg[g->end])
+ while (xdf->changed[g->end])
g->end++;
}
return -1;
g->start = g->end + 1;
- for (g->end = g->start; xdf->rchg[g->end]; g->end++)
+ for (g->end = g->start; xdf->changed[g->end]; g->end++)
;
return 0;
return -1;
g->end = g->start - 1;
- for (g->start = g->end; xdf->rchg[g->start - 1]; g->start--)
+ for (g->start = g->end; xdf->changed[g->start - 1]; g->start--)
;
return 0;
{
if (g->end < xdf->nrec &&
recs_match(&xdf->recs[g->start], &xdf->recs[g->end])) {
- xdf->rchg[g->start++] = 0;
- xdf->rchg[g->end++] = 1;
+ xdf->changed[g->start++] = 0;
+ xdf->changed[g->end++] = 1;
- while (xdf->rchg[g->end])
+ while (xdf->changed[g->end])
g->end++;
return 0;
{
if (g->start > 0 &&
recs_match(&xdf->recs[g->start - 1], &xdf->recs[g->end - 1])) {
- xdf->rchg[--g->start] = 1;
- xdf->rchg[--g->end] = 0;
+ xdf->changed[--g->start] = 1;
+ xdf->changed[--g->end] = 0;
- while (xdf->rchg[g->start - 1])
+ while (xdf->changed[g->start - 1])
g->start--;
return 0;
int xdl_build_script(xdfenv_t *xe, xdchange_t **xscr) {
xdchange_t *cscr = NULL, *xch;
- char *rchg1 = xe->xdf1.rchg, *rchg2 = xe->xdf2.rchg;
+ char *changed1 = xe->xdf1.changed, *changed2 = xe->xdf2.changed;
long i1, i2, l1, l2;
/*
* Trivial. Collects "groups" of changes and creates an edit script.
*/
for (i1 = xe->xdf1.nrec, i2 = xe->xdf2.nrec; i1 >= 0 || i2 >= 0; i1--, i2--)
- if (rchg1[i1 - 1] || rchg2[i2 - 1]) {
- for (l1 = i1; rchg1[i1 - 1]; i1--);
- for (l2 = i2; rchg2[i2 - 1]; i2--);
+ if (changed1[i1 - 1] || changed2[i2 - 1]) {
+ for (l1 = i1; changed1[i1 - 1]; i1--);
+ for (l2 = i2; changed2[i2 - 1]; i2--);
if (!(xch = xdl_add_change(cscr, i1, i2, l1 - i1, l2 - i2))) {
xdl_free_script(cscr);
if (!count1) {
while(count2--)
- env->xdf2.rchg[line2++ - 1] = 1;
+ env->xdf2.changed[line2++ - 1] = 1;
return 0;
} else if (!count2) {
while(count1--)
- env->xdf1.rchg[line1++ - 1] = 1;
+ env->xdf1.changed[line1++ - 1] = 1;
return 0;
}
else {
if (lcs.begin1 == 0 && lcs.begin2 == 0) {
while (count1--)
- env->xdf1.rchg[line1++ - 1] = 1;
+ env->xdf1.changed[line1++ - 1] = 1;
while (count2--)
- env->xdf2.rchg[line2++ - 1] = 1;
+ env->xdf2.changed[line2++ - 1] = 1;
result = 0;
} else {
result = histogram_diff(xpp, env,
/* trivial case: one side is empty */
if (!count1) {
while(count2--)
- env->xdf2.rchg[line2++ - 1] = 1;
+ env->xdf2.changed[line2++ - 1] = 1;
return 0;
} else if (!count2) {
while(count1--)
- env->xdf1.rchg[line1++ - 1] = 1;
+ env->xdf1.changed[line1++ - 1] = 1;
return 0;
}
/* are there any matching lines at all? */
if (!map.has_matches) {
while(count1--)
- env->xdf1.rchg[line1++ - 1] = 1;
+ env->xdf1.changed[line1++ - 1] = 1;
while(count2--)
- env->xdf2.rchg[line2++ - 1] = 1;
+ env->xdf2.changed[line2++ - 1] = 1;
xdl_free(map.entries);
return 0;
}
static void xdl_free_ctx(xdfile_t *xdf)
{
xdl_free(xdf->rindex);
- xdl_free(xdf->rchg - 1);
+ xdl_free(xdf->changed - 1);
xdl_free(xdf->recs);
}
xrecord_t *crec;
xdf->rindex = NULL;
- xdf->rchg = NULL;
+ xdf->changed = NULL;
xdf->recs = NULL;
if (!XDL_ALLOC_ARRAY(xdf->recs, narec))
}
}
- if (!XDL_CALLOC_ARRAY(xdf->rchg, xdf->nrec + 2))
+ if (!XDL_CALLOC_ARRAY(xdf->changed, xdf->nrec + 2))
goto abort;
if ((XDF_DIFF_ALG(xpp->flags) != XDF_PATIENCE_DIFF) &&
goto abort;
}
- xdf->rchg += 1;
+ xdf->changed += 1;
xdf->nreff = 0;
xdf->dstart = 0;
xdf->dend = xdf->nrec - 1;
(dis1[i] == 2 && !xdl_clean_mmatch(dis1, i, xdf1->dstart, xdf1->dend))) {
xdf1->rindex[nreff++] = i;
} else
- xdf1->rchg[i] = 1;
+ xdf1->changed[i] = 1;
}
xdf1->nreff = nreff;
(dis2[i] == 2 && !xdl_clean_mmatch(dis2, i, xdf2->dstart, xdf2->dend))) {
xdf2->rindex[nreff++] = i;
} else
- xdf2->rchg[i] = 1;
+ xdf2->changed[i] = 1;
}
xdf2->nreff = nreff;
if (xdl_do_diff(&subfile1, &subfile2, xpp, &env) < 0)
return -1;
- memcpy(diff_env->xdf1.rchg + line1 - 1, env.xdf1.rchg, count1);
- memcpy(diff_env->xdf2.rchg + line2 - 1, env.xdf2.rchg, count2);
+ memcpy(diff_env->xdf1.changed + line1 - 1, env.xdf1.changed, count1);
+ memcpy(diff_env->xdf2.changed + line2 - 1, env.xdf2.changed, count2);
xdl_free_env(&env);