commit - a551f2158d980464de9ecc41bab55ff7143103d7
commit + 57ee5d5084c5c07c321352b7412a51d2f89ef298
blob - 2d7faf8152fa2b3018861ac5e044c4f355e049ed
blob + 9e996be8927905881cbb34dd4115ed38a682c390
--- lib/diff3.c
+++ lib/diff3.c
* For merge(1).
*/
const struct got_error *
-got_merge_diff3(int outfd, const char *p1, const char *p2, const char *p3,
- const char *label1, const char *label3)
+got_merge_diff3(int *overlapcnt, int outfd, const char *p1, const char *p2,
+ const char *p3, const char *label1, const char *label3)
{
const struct got_error *err = NULL;
char *dp13, *dp23, *path1, *path2, *path3;
struct diff3_state *d3s;
int i;
+ *overlapcnt = 0;
+
SLIST_INIT(&temp_files);
d3s = calloc(1, sizeof(*d3s));
if (d3s->fp[i])
fclose(d3s->fp[i]);
}
- free(d3s);
if (err == NULL && diffb) {
if (buf_write_fd(diffb, outfd) < 0)
err = got_error_from_errno();
+ *overlapcnt = d3s->overlapcnt;
}
+ free(d3s);
buf_free(diffb);
return err;
}
blob - 0db51712a8cb4d20389103e6179247b5213af4ed
blob + 66906a1b1f3beff3ef0f12437995a1d63c08ed99
--- lib/got_lib_diff.h
+++ lib/got_lib_diff.h
struct got_blob_object *, struct got_blob_object *);
void got_diff_free_changes(struct got_diff_changes *);
-const struct got_error *got_merge_diff3(int, const char *, const char *,
+const struct got_error *got_merge_diff3(int *, int, const char *, const char *,
const char *, const char *, const char *);