From ade8d0b4e9c206ab67dc8ef2006e8070011aae83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Mon, 17 Jun 2013 17:13:14 +0300 Subject: cache: implement progress bar (ref #1170) --- src/commit.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/commit.c') diff --git a/src/commit.c b/src/commit.c index 8030692d24..857c7bc61d 100644 --- a/src/commit.c +++ b/src/commit.c @@ -122,6 +122,7 @@ struct progress { struct apk_stats done; struct apk_stats total; struct apk_package *pkg; + int flags; }; static void progress_cb(void *ctx, size_t pkg_percent) @@ -137,9 +138,8 @@ static void progress_cb(void *ctx, size_t pkg_percent) prog->total.bytes + prog->total.packages); else percent = 0; - if (pkg_percent == 0) - percent |= APK_PRINT_PROGRESS_FORCE; - apk_print_progress(percent); + apk_print_progress(percent | prog->flags); + prog->flags = 0; } static int dump_packages(struct apk_changeset *changeset, @@ -298,6 +298,7 @@ int apk_solver_commit_changeset(struct apk_database *db, if (print_change(db, change, prog.done.changes, prog.total.changes)) { prog.pkg = change->new_pkg; + prog.flags = APK_PRINT_PROGRESS_FORCE; progress_cb(&prog, 0); if (!(apk_flags & APK_SIMULATE)) { -- cgit v1.2.3