[pacman-dev] [PATCH] Convert downloading databases to the new multiplexed API

Anatol Pomozov anatol.pomozov at gmail.com
Sun Apr 19 02:05:54 UTC 2020


Signed-off-by: Anatol Pomozov <anatol.pomozov at gmail.com>
---
 src/pacman/util.c | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/pacman/util.c b/src/pacman/util.c
index 6693ec75..93487e73 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -150,26 +150,17 @@ int check_syncdbs(size_t need_repos, int check_valid)
 
 int sync_syncdbs(int level, alpm_list_t *syncs)
 {
-	alpm_list_t *i;
-	unsigned int success = 1;
-
-	for(i = syncs; i; i = alpm_list_next(i)) {
-		alpm_db_t *db = i->data;
-
-		int ret = alpm_db_update((level < 2 ? 0 : 1), db);
-		if(ret < 0) {
-			pm_printf(ALPM_LOG_ERROR, _("failed to update %s (%s)\n"),
-					alpm_db_get_name(db), alpm_strerror(alpm_errno(config->handle)));
-			success = 0;
-		} else if(ret == 1) {
-			printf(_(" %s is up to date\n"), alpm_db_get_name(db));
-		}
-	}
+	int ret;
+	int force = (level < 2 ? 0 : 1);
 
-	if(!success) {
-		pm_printf(ALPM_LOG_ERROR, _("failed to synchronize all databases\n"));
+	multibar_move_complete_top = 0;
+	ret = alpm_dbs_update(config->handle, syncs, force);
+	if(ret < 0) {
+		pm_printf(ALPM_LOG_ERROR, _("failed to synchronize all databases (%s)\n"),
+			alpm_strerror(alpm_errno(config->handle)));
 	}
-	return (success > 0);
+
+	return (ret >= 0);
 }
 
 /* discard unhandled input on the terminal's input buffer */
-- 
2.26.1


More information about the pacman-dev mailing list