summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2011-12-10 11:08:24 +0100
committerDan McGee <dan@archlinux.org>2011-12-12 19:45:40 +0100
commit62fa0c7d8d8cbb449e1e014eacd895011685a093 (patch)
treebd963647947a8c39341e56b488e8e5ba6d093ff2 /src
parent781af8f91b5c8c6b804a0dcc0a47a7f8f018c6de (diff)
downloadpacman-62fa0c7d8d8cbb449e1e014eacd895011685a093.tar.gz
pacman-62fa0c7d8d8cbb449e1e014eacd895011685a093.tar.xz
pacman: list all unknown targets on removal operation
On a removal operation, pacman currently reports an error for the package that is not found in the database and then exists. Adjust so that all unknown packages are reported. Before: > pacman -R foo bar error: 'foo': target not found After: > pacman -R foo bar error: 'foo': target not found error: 'bar': target not found Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'src')
-rw-r--r--src/pacman/remove.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index f56c1ec1..b6da7c3f 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -104,10 +104,13 @@ int pacman_remove(alpm_list_t *targets)
}
if(remove_target(targ) == -1) {
retval = 1;
- goto cleanup;
}
}
+ if(retval == 1) {
+ goto cleanup;
+ }
+
/* Step 2: prepare the transaction based on its type, targets and flags */
if(alpm_trans_prepare(config->handle, &data) == -1) {
alpm_errno_t err = alpm_errno(config->handle);