}
}
-struct ci print_merge2(FILE *out, struct file *a, struct file *b, struct file *c,
- struct csl *c1, struct csl *c2,
- int words, int ignore_already, int show_wiggles)
+void print_merge(FILE *out, struct file *a, struct file *b, struct file *c,
+ int words, struct merge *merger)
{
- struct ci rv = make_merger(*a, *b, *c, c1, c2,
- words, ignore_already, show_wiggles);
struct merge *m;
- for (m = rv.merger; m->type != End ; m++) {
+ for (m = merger; m->type != End ; m++) {
struct merge *cm;
if (do_trace)
printf("[%s: %d-%d,%d-%d,%d-%d%s(%d,%d)]\n",
assert(0);
}
}
- return rv;
}
csl1 = diff(fl[0], fl[1]);
csl2 = diff(fl[1], fl[2]);
- ci = print_merge2(outfile, &fl[0], &fl[1], &fl[2],
- csl1, csl2, obj == 'w',
- ignore, show_wiggles);
+ ci = make_merger(fl[0], fl[1], fl[2], csl1, csl2,
+ obj == 'w', ignore, show_wiggles);
+ print_merge(outfile, &fl[0], &fl[1], &fl[2],
+ obj == 'w', ci.merger);
if (!quiet && ci.conflicts)
fprintf(stderr,
"%d unresolved conflict%s found\n",
int conflicts, wiggles, ignored;
struct merge *merger;
};
-extern struct ci print_merge2(FILE *out,
- struct file *a, struct file *b, struct file *c,
- struct csl *c1, struct csl *c2,
- int words, int ignore_already, int show_wiggles);
+extern void print_merge(FILE *out,
+ struct file *a, struct file *b, struct file *c,
+ int words, struct merge *merger);
extern void printword(FILE *f, struct elmnt e);
extern int isolate_conflicts(struct file af, struct file bf, struct file cf,