[pacman-dev] [PATCH] Don't initialize progress to zero before calling curl_easy_perform().
Dave Reisner
d at falconindy.com
Mon Mar 21 09:24:35 EDT 2011
On Mon, Mar 21, 2011 at 07:50:37AM -0500, Dan McGee wrote:
> On Mon, Mar 21, 2011 at 5:53 AM, Lukas Fleischer
> <archlinux at cryptocrack.de> wrote:
> > Drawing progress bars before calling curl_easy_perform() is needless as
> > the curl progress callback is called with zero progress before actually
> > downloading the file anyways. Fixes display of "0%" progress bars when
> > sync'ing package databases that are already up to date.
>
> I'll take this for now, but there is still some hackjob action going
> on in here- comparing doubles via equality to ints, etc. I figure
> these will get worked out in time though.
>
> > Signed-off-by: Lukas Fleischer <archlinux at cryptocrack.de>
> > ---
> > lib/libalpm/dload.c | 7 +++----
> > 1 files changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
> > index ebfd042..a14d1d1 100644
> > --- a/lib/libalpm/dload.c
> > +++ b/lib/libalpm/dload.c
> > @@ -212,10 +212,9 @@ static int curl_download_internal(const char *url, const char *localpath,
> > sigaction(SIGINT, NULL, &sig_int[OLD]);
> > sigaction(SIGINT, &sig_int[NEW], NULL);
> >
> > - /* Progress 0 - initialize */
> > - if(handle->dlcb) {
> > - handle->dlcb(filename, 0, 1);
> > - }
> > + /* set initial value of prevprogress to -1 which causes curl_progress() to
> > + * initialize the progress bar with 0% once. */
> > + prevprogress = -1;
> >
> > /* perform transfer */
> > handle->curlerr = curl_easy_perform(handle->curl);
> > --
> > 1.7.4.1
>
I appreciate the help, but this patch breaks more than it fixes.
http://sprunge.us/DIED
I already had a working fix for this on my working branch.
dave
More information about the pacman-dev
mailing list