From bcd7ce0dfdc773be440cae5f87b6b9538442aef3 Mon Sep 17 00:00:00 2001 From: Aurelien Foret Date: Sun, 5 Feb 2006 09:34:49 +0000 Subject: added support for the PM_CONFLICT structure to handle file conflicts --- src/pacman/sync.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/pacman/sync.c') diff --git a/src/pacman/sync.c b/src/pacman/sync.c index d9463a87..c46cf7b3 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -766,7 +766,20 @@ int pacman_sync(list_t *targets) switch(pm_errno) { case PM_ERR_FILE_CONFLICTS: for(lp = alpm_list_first(data); lp; lp = alpm_list_next(lp)) { - MSG(NL, ":: %s\n", (char *)alpm_list_getdata(lp)); + PM_CONFLICT *conflict = alpm_list_getdata(i); + switch((int)alpm_conflict_getinfo(conflict, PM_CONFLICT_TYPE)) { + case PM_CONFLICT_TYPE_TARGET: + MSG(NL, "%s exists in \"%s\" (target) and \"%s\" (target)", + (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE), + (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET), + (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_CTARGET)); + break; + case PM_CONFLICT_TYPE_FILE: + MSG(NL, "%s: %s exists in filesystem", + (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_TARGET), + (char *)alpm_conflict_getinfo(conflict, PM_CONFLICT_FILE)); + break; + } } alpm_list_free(data); MSG(NL, "\nerrors occurred, no packages were upgraded.\n"); -- cgit v1.2.3