diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2013-02-16 01:21:35 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-02-24 04:11:54 +0100 |
commit | 9995510dc81ab75fbb7ad7ca4fffedf8a5318bef (patch) | |
tree | af37fe72e675758f238b2e37928f49fbbf2ca16c | |
parent | 4a1d93b92c76bde58193083812dda94c0fa5d373 (diff) | |
download | pacman-9995510dc81ab75fbb7ad7ca4fffedf8a5318bef.tar.gz pacman-9995510dc81ab75fbb7ad7ca4fffedf8a5318bef.tar.xz |
return resolved paths from filelist_intersection
We were comparing files based on resolved paths but returning the
original file_t structures, which were not necessarily in the same
order. The additional file_t information was never used, so just return
the resolved path.
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | lib/libalpm/conflict.c | 4 | ||||
-rw-r--r-- | lib/libalpm/filelist.c | 2 | ||||
-rw-r--r-- | test/pacman/tests/fileconflict022.py | 2 |
3 files changed, 3 insertions, 5 deletions
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index 1aa653fc..54e79fe3 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -448,8 +448,8 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle, alpm_list_t *k; char path[PATH_MAX]; for(k = common_files; k; k = k->next) { - alpm_file_t *file = k->data; - snprintf(path, PATH_MAX, "%s%s", handle->root, file->name); + char *filename = k->data; + snprintf(path, PATH_MAX, "%s%s", handle->root, filename); conflicts = add_fileconflict(handle, conflicts, path, p1, p2); if(handle->pm_errno == ALPM_ERR_MEMORY) { FREELIST(conflicts); diff --git a/lib/libalpm/filelist.c b/lib/libalpm/filelist.c index c4814a49..5c5f017b 100644 --- a/lib/libalpm/filelist.c +++ b/lib/libalpm/filelist.c @@ -299,7 +299,7 @@ alpm_list_t *_alpm_filelist_intersection(alpm_filelist_t *filesA, /* when not directories, item in both qualifies as an intersect */ if(! (isdirA && isdirB)) { - ret = alpm_list_add(ret, filesA->files + ctrA); + ret = alpm_list_add(ret, filesA->resolved_path[ctrA]); } ctrA++; ctrB++; diff --git a/test/pacman/tests/fileconflict022.py b/test/pacman/tests/fileconflict022.py index 6f9aec93..5759d4c3 100644 --- a/test/pacman/tests/fileconflict022.py +++ b/test/pacman/tests/fileconflict022.py @@ -17,5 +17,3 @@ self.addrule("PACMAN_RETCODE=1") self.addrule("PACMAN_OUTPUT=.*/usr/lib/file exists in both 'foo' and 'bar'") self.addrule("!PKG_EXIST=foo") self.addrule("!PKG_EXIST=bar") - -self.expectfailure = True |