summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libalpm/filelist.c28
-rw-r--r--test/pacman/tests/fileconflict020.py2
-rw-r--r--test/pacman/tests/fileconflict021.py2
3 files changed, 9 insertions, 23 deletions
diff --git a/lib/libalpm/filelist.c b/lib/libalpm/filelist.c
index bf7645b8..f884e6a8 100644
--- a/lib/libalpm/filelist.c
+++ b/lib/libalpm/filelist.c
@@ -228,34 +228,24 @@ alpm_list_t *_alpm_filelist_difference(alpm_filelist_t *filesA,
alpm_file_t *fileA = filesA->files + ctrA;
const char *strA = filesA->resolved_path[ctrA];
const char *strB = filesB->resolved_path[ctrB];
- /* skip directories, we don't care about them */
- if(strA[strlen(strA)-1] == '/') {
+
+ int cmp = strcmp(strA, strB);
+ if(cmp < 0) {
+ /* item only in filesA, qualifies as a difference */
+ ret = alpm_list_add(ret, fileA);
ctrA++;
- } else if(strB[strlen(strB)-1] == '/') {
+ } else if(cmp > 0) {
ctrB++;
} else {
- int cmp = strcmp(strA, strB);
- if(cmp < 0) {
- /* item only in filesA, qualifies as a difference */
- ret = alpm_list_add(ret, fileA);
- ctrA++;
- } else if(cmp > 0) {
- ctrB++;
- } else {
- ctrA++;
- ctrB++;
- }
+ ctrA++;
+ ctrB++;
}
}
/* ensure we have completely emptied pA */
while(ctrA < filesA->count) {
alpm_file_t *fileA = filesA->files + ctrA;
- const char *strA = fileA->name;
- /* skip directories */
- if(strA[strlen(strA)-1] != '/') {
- ret = alpm_list_add(ret, fileA);
- }
+ ret = alpm_list_add(ret, fileA);
ctrA++;
}
diff --git a/test/pacman/tests/fileconflict020.py b/test/pacman/tests/fileconflict020.py
index 306aca23..db59e47b 100644
--- a/test/pacman/tests/fileconflict020.py
+++ b/test/pacman/tests/fileconflict020.py
@@ -16,5 +16,3 @@ self.args = "-S pkg2"
self.addrule("PACMAN_RETCODE=1")
self.addrule("PKG_VERSION=pkg2|1.0-1")
self.addrule("!DIR_EXIST=usr/bin/foo/")
-
-self.expectfailure = True
diff --git a/test/pacman/tests/fileconflict021.py b/test/pacman/tests/fileconflict021.py
index ccb70f25..f695aefa 100644
--- a/test/pacman/tests/fileconflict021.py
+++ b/test/pacman/tests/fileconflict021.py
@@ -14,5 +14,3 @@ self.args = "-S pkg1"
self.addrule("PACMAN_RETCODE=1")
self.addrule("PKG_VERSION=pkg1|1.0-1")
self.addrule("!DIR_EXIST=file/")
-
-self.expectfailure = True