[pacman-dev] [PATCH] pacman_query: move error messages into relevant if statements

Allan McRae allan at archlinux.org
Sat Apr 2 06:08:03 UTC 2016


This ensures any additions to these test do not have to rely on the correct
error condition being set by libalpm.

Signed-off-by: Allan McRae <allan at archlinux.org>
---
 src/pacman/query.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/pacman/query.c b/src/pacman/query.c
index 0cc12e6..1d102a9 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -460,27 +460,27 @@ int pacman_query(alpm_list_t *targets)
 
 		if(config->op_q_isfile) {
 			alpm_pkg_load(config->handle, strname, 1, 0, &pkg);
+
+			if(pkg == NULL) {
+				pm_printf(ALPM_LOG_ERROR,
+						_("could not load package '%s': %s\n"), strname,
+						alpm_strerror(alpm_errno(config->handle)));
+			}
 		} else {
 			pkg = alpm_db_get_pkg(db_local, strname);
+
+			if(pkg == NULL) {
+				pm_printf(ALPM_LOG_ERROR,
+						_("package '%s' was not found\n"), strname);
+				if(!config->op_q_isfile && access(strname, R_OK) == 0) {
+					pm_printf(ALPM_LOG_WARNING,
+							_("'%s' is a file, you might want to use %s.\n"),
+							strname, "-p/--file");
+				}
+			}
 		}
 
 		if(pkg == NULL) {
-			switch(alpm_errno(config->handle)) {
-				case ALPM_ERR_PKG_NOT_FOUND:
-					pm_printf(ALPM_LOG_ERROR,
-							_("package '%s' was not found\n"), strname);
-					if(!config->op_q_isfile && access(strname, R_OK) == 0) {
-						pm_printf(ALPM_LOG_WARNING,
-								_("'%s' is a file, you might want to use %s.\n"),
-								strname, "-p/--file");
-					}
-					break;
-				default:
-					pm_printf(ALPM_LOG_ERROR,
-							_("could not load package '%s': %s\n"), strname,
-							alpm_strerror(alpm_errno(config->handle)));
-					break;
-			}
 			ret = 1;
 			continue;
 		}
-- 
2.7.4


More information about the pacman-dev mailing list