Signed-off-by: Anatol Pomozov <anatol.pomo...@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

Reply via email to