Re: [PATCH 1/6] more compact progress display
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Oct 17, 2007, 02:11 UTC
- Message-ID
- <20071017021137.GO13801@spearce.org>
- In-Reply-To
- <1192586150-13743-2-git-send-email-nico@cam.org>
Nicolas Pitre <nico@cam.org> wrote:
> Each progress can be on a single line instead of two.
Nice. Of course that screws with git-gui and now I have to match two regexs and not one. But whatever.
Show 25 quoted lines
> +++ b/progress.c
> @@ -35,10 +35,11 @@ static void clear_progress_signal(void)
> progress_update = 0;
> }
>
> -int display_progress(struct progress *progress, unsigned n)
> +static int display(struct progress *progress, unsigned n, int done)
> {
> + char *eol;
> +
> if (progress->delay) {
> - char buf[80];
> if (!progress_update || --progress->delay)
> return 0;
> if (progress->total) {
> @@ -51,60 +52,56 @@ int display_progress(struct progress *progress, unsigned n)
> return 0;
> }
> }
> - if (snprintf(buf, sizeof(buf),
> - progress->delayed_title, progress->total))
> - fprintf(stderr, "%s\n", buf);
> }
> +
> + progress->last_value = n;Hmm. n is unsigned and last_value is signed. Uh? I know you are using the special value -1 to mean we've never output anything for this progress meter but mixing signed and unsigned always gives me the willies.
-- Shawn.