Blob Blame History Raw
===================================================================
RCS file: /cvsroot/curl/curl/lib/progress.c,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- curl/lib/progress.c	2007/03/23 04:23:53	1.83
+++ curl/lib/progress.c	2007/04/18 20:02:41	1.84
@@ -245,6 +245,7 @@
   long ulestimate=0;
   long dlestimate=0;
   long total_estimate;
+  bool shownow=FALSE;
 
   now = Curl_tvnow(); /* what time is it */
 
@@ -266,6 +267,7 @@
 
   /* Calculations done at most once a second, unless end is reached */
   if(data->progress.lastshow != (long)now.tv_sec) {
+    shownow = TRUE;
 
     data->progress.lastshow = now.tv_sec;
 
@@ -346,7 +348,12 @@
       return result;
     }
 
-    /* If there's no external callback set, use internal code to show progress */
+    if(!shownow)
+      /* only show the internal progress meter once per second */
+      return 0;
+
+    /* If there's no external callback set, use internal code to show
+       progress */
 
     if(!(data->progress.flags & PGRS_HEADERS_OUT)) {
       if(data->reqdata.resume_from) {
@@ -422,7 +429,7 @@
     /* we flush the output stream to make it appear as soon as possible */
     fflush(data->set.err);
 
-  }
+  } /* !(data->progress.flags & PGRS_HIDE) */
 
   return 0;
 }