From: Shawn O. Pearce Date: Wed, 17 Oct 2007 02:11:37 GMT Subject: Re: [PATCH 1/6] more compact progress display Message-ID: <20071017021137.GO13801@spearce.org> In-Reply-To: <1192586150-13743-2-git-send-email-nico@cam.org> Nicolas Pitre 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. > +++ 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.