From 27f354a7874b965bf223832bdf9749504cd1a590 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Wed, 6 Nov 2019 01:42:11 +0000 Subject: pacman+libalpm: handle search errors Previously, pacman treated no matches and an error during search the same. To fix this, alpm_db_search now returns its status as an int and instead takes the to be returned list as a param. Allowing front ends to easily differentiate between errors and no matches. Signed-off-by: morganamilo Signed-off-by: Allan McRae --- lib/libalpm/alpm.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/libalpm/alpm.h') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 4486da44..d3630385 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -997,9 +997,11 @@ alpm_list_t *alpm_db_get_groupcache(alpm_db_t *db); /** Searches a database with regular expressions. * @param db pointer to the package database to search in * @param needles a list of regular expressions to search for - * @return the list of packages matching all regular expressions on success, NULL on error + * @param ret the list of packages matching all regular expressions + * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -alpm_list_t *alpm_db_search(alpm_db_t *db, const alpm_list_t *needles); +int alpm_db_search(alpm_db_t *db, const alpm_list_t *needles, + alpm_list_t **ret); typedef enum _alpm_db_usage_t { ALPM_DB_USAGE_SYNC = 1, -- cgit v1.2.3-54-g00ecf