diff options
Diffstat (limited to 'src/merge.c')
-rw-r--r-- | src/merge.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/merge.c b/src/merge.c index 206e2d9..01e1981 100644 --- a/src/merge.c +++ b/src/merge.c @@ -61,7 +61,7 @@ static int conflict_phase(DB *ddb, struct syrep_name *name, struct diff_entry *d if ((f1 = get_current_md_by_nrecno(cb_info->c1, &nrecno1, &md1)) < 0) return -1; - if ((f2 = get_nrecno_by_name(cb_info->c2, name, &nrecno1, 0)) < 0) + if ((f2 = get_nrecno_by_name(cb_info->c2, name, &nrecno2, 0)) < 0) return -1; if (f2) @@ -236,8 +236,12 @@ static int copy_phase(DB *ddb, struct syrep_name *name, struct diff_entry *de, v } else { const char* a; + int k; - if ((a = package_get_item(cb_info->c1->package, d, 0))) { + if ((k = package_get_item(cb_info->c1->package, d, 0, &a)) < 0) + return -1; + + if (k) { fprintf(stderr, "COPY: Copying file <%s> from patch.\n", name->path); if (makeprefixpath(path, 0777) < 0) |