summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pacman/pacman.c2
-rw-r--r--src/pacman/query.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index fe70ea10..58e85b22 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -386,7 +386,7 @@ static int parseargs(int argc, char *argv[])
break;
case 'd': config->flags |= PM_TRANS_FLAG_NODEPS; break;
case 'e':
- config->op_q_orphans = 1;
+ config->op_q_orphans++;
config->flags |= PM_TRANS_FLAG_DEPENDSONLY;
break;
case 'f': config->flags |= PM_TRANS_FLAG_FORCE; break;
diff --git a/src/pacman/query.c b/src/pacman/query.c
index 06d111b0..4abb674d 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -51,7 +51,7 @@ static char *resolve_path(const char* file)
return(NULL);
}
- if(!realpath(copy, str)) {
+ if(!realpath(file, str)) {
return(NULL);
}
@@ -289,7 +289,8 @@ int pacman_query(alpm_list_t *targets)
dump_pkg_files(info);
} else if(config->op_q_orphans) {
if(alpm_pkg_get_requiredby(info) == NULL
- && (long)alpm_pkg_get_reason(info) == PM_PKG_REASON_DEPEND) {
+ && ((long)alpm_pkg_get_reason(info) == PM_PKG_REASON_DEPEND
+ || config->op_q_orphans > 1)) {
printf("%s %s\n", pkgname, pkgver);
}
} else {