]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
updatectl: Ensure we clear the progress bar
authorAdrian Vovk <adrianvovk@gmail.com>
Sat, 31 Aug 2024 01:53:14 +0000 (21:53 -0400)
committerAdrian Vovk <adrianvovk@gmail.com>
Sat, 31 Aug 2024 01:53:14 +0000 (21:53 -0400)
Otherwise we end up half-overwriting the progress bar, which looks buggy

src/sysupdate/updatectl.c

index d5f74bff3efc4e0e5e7a837cc65cf2669a482a80..8f1e4e72db89fabf8aa26bd6d3068ae1e6fbea94 100644 (file)
@@ -808,12 +808,15 @@ static int update_render_progress(sd_event_source *source, void *userdata) {
                 int progress = PTR_TO_INT(p);
 
                 if (progress == UPDATE_PROGRESS_FAILED) {
+                        clear_progress_bar(target);
                         fprintf(stderr, "%s %s\n", RED_CROSS_MARK(), target);
                         total += 100;
                 } else if (progress == -EALREADY) {
+                        clear_progress_bar(target);
                         fprintf(stderr, "%s %s (Already up-to-date)\n", GREEN_CHECK_MARK(), target);
                         n--; /* Don't consider this target in the total */
                 } else if (progress < 0) {
+                        clear_progress_bar(target);
                         fprintf(stderr, "%s %s (%s)\n", RED_CROSS_MARK(), target, STRERROR(progress));
                         total += 100;
                 } else {