diff options
| -rw-r--r-- | lib/libalpm/filelist.c | 28 | ||||
| -rw-r--r-- | test/pacman/tests/fileconflict020.py | 2 | ||||
| -rw-r--r-- | test/pacman/tests/fileconflict021.py | 2 | 
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 | 
