Package: cdebconf
Version: 0.30
Severity: wishlist
Tags: patch
lör 2003-02-15 klockan 11.03 skrev Martin Sjögren:
> The typical use of the progress bar API looks like this:
>
>
> PROGRESS START 0 N foo/start
>
> PROGRESS STEP 1 foo/inc
> ...
> PROGRESS STEP 1 foo/inc
> ...
> (et.c.)
>
> PROGRESS STOP
>
>
> Now, the problem is that the counter is increased before the text is
> displayed. Wouldn't it make more sense to do a post-increment than a
> pre-increment? I guess that would mean that PROGRESS STOP has to show
> the final 100% value before leaving.
>
> How does that sound?
Here's one (somewhat hackish) way to do it:
diff -u -r1.31 text.c
--- src/modules/frontend/text/text.c 26 Jan 2003 16:51:54 -0000
1.31
+++ src/modules/frontend/text/text.c 15 Feb 2003 10:36:21 -0000
@@ -495,14 +495,14 @@
int width = getwidth();
char out[256];
- ui->progress_cur += step;
-
snprintf(out, sizeof(out), "[%.1f%%] %s",
(double)(ui->progress_cur - ui->progress_min) /
(double)(ui->progress_max - ui->progress_min) * 100.0, info);
if (strlen(out) > width - 7)
out[width - 7] = 0;
+ ui->progress_cur += step;
+
printf("%s\r", out);
fflush(stdout);
}
@@ -510,7 +510,7 @@
static void text_progress_stop(struct frontend *ui)
{
INFO(INFO_DEBUG, "%s\n", __FUNCTION__);
-
+ text_progress_step(ui, 0, "");
printf("\n");
}
Attachment:
signature.asc
Description: Detta =?ISO-8859-1?Q?=E4r?= en digitalt signerad meddelandedel