index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2013-05-04 09:37:38 -0400 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-05-05 07:45:33 +1000 |
commit | c5716d0e72e47c8cd2ca1a437598eeee54111754 (patch) | |
tree | d11f95ad4048c0feb6a2bbc64d76a85d8146574a /lib/libalpm/conflict.c | |
parent | 9de33488bffffd4bb273f73f98a0ced40ba06f29 (diff) |
-rw-r--r-- | lib/libalpm/conflict.c | 8 |
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index 18e29a89..041a04ef 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -556,11 +556,13 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle, /* Look at all the targets to see if file has changed hands */ for(k = upgrade; k && !resolved_conflict; k = k->next) { - alpm_pkg_t *p2 = k->data; - if(!p2 || strcmp(p1->name, p2->name) == 0) { + alpm_pkg_t *localp2, *p2 = k->data; + if(!p2 || p1 == p2) { + /* skip p1; both p1 and p2 come directly from the upgrade list + * so they can be compared directly */ continue; } - alpm_pkg_t *localp2 = _alpm_db_get_pkgfromcache(handle->db_local, p2->name); + localp2 = _alpm_db_get_pkgfromcache(handle->db_local, p2->name); /* localp2->files will be removed (target conflicts are handled by CHECK 1) */ _alpm_filelist_resolve(handle, alpm_pkg_get_files(localp2)); |