summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.inc3
-rw-r--r--src/tool_cb_prg.c4
-rw-r--r--src/tool_cb_prg.h2
3 files changed, 5 insertions, 4 deletions
diff --git a/src/Makefile.inc b/src/Makefile.inc
index cd890accc..09bd9e804 100644
--- a/src/Makefile.inc
+++ b/src/Makefile.inc
@@ -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 \
diff --git a/src/tool_cb_prg.c b/src/tool_cb_prg.c
index 9facd9e76..b94442be8 100644
--- a/src/tool_cb_prg.c
+++ b/src/tool_cb_prg.c
@@ -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 */
diff --git a/src/tool_cb_prg.h b/src/tool_cb_prg.h
index ceb85980c..a20645e86 100644
--- a/src/tool_cb_prg.h
+++ b/src/tool_cb_prg.h
@@ -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;