curl: --progress-bar max update frequency now at 5Hz
authorDaniel Stenberg <daniel@haxx.se>
Wed, 31 Jul 2013 07:06:15 +0000 (09:06 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 31 Jul 2013 11:41:00 +0000 (13:41 +0200)
src/Makefile.inc
src/tool_cb_prg.c
src/tool_cb_prg.h

index cd890ac..09bd9e8 100644 (file)
@@ -13,7 +13,8 @@ CURLX_ONES = \
        ../lib/strtoofft.c \
        ../lib/strdup.c \
        ../lib/rawstr.c \
-       ../lib/nonblock.c
+       ../lib/nonblock.c \
+       ../lib/timeval.c
 
 CURL_CFILES = \
        tool_binmode.c \
index 9facd9e..b94442b 100644 (file)
@@ -49,12 +49,12 @@ int tool_progress_cb(void *clientp,
   double percent;
   int barwidth;
   int num;
-  time_t now = time(NULL);
+  struct timeval now = curlx_tvnow();
   struct ProgressData *bar = (struct ProgressData *)clientp;
   curl_off_t total;
   curl_off_t point;
 
-  if(bar->prevtime == now) /* wait with update */
+  if(curlx_tvdiff(now, bar->prevtime) < 200) /* allow 5 Hz */
     return 0;
 
   /* expected transfer size */
index ceb8598..a20645e 100644 (file)
@@ -29,7 +29,7 @@
 struct ProgressData {
   int         calls;
   curl_off_t  prev;
-  time_t      prevtime;
+  struct timeval prevtime;
   int         width;
   FILE       *out;  /* where to write everything to */
   curl_off_t  initial_size;