diff --git a/lib/timeval.c b/lib/timeval.c index b9bd1f994..20ac6ea96 100644 --- a/lib/timeval.c +++ b/lib/timeval.c @@ -79,7 +79,7 @@ static int gettimeofday(struct timeval *tp, void *nothing) #endif /* HAVE_GETTIMEOFDAY */ /* Return the current time in a timeval struct */ -struct timeval Curl_tvnow(void) +struct timeval curlx_tvnow(void) { struct timeval now; (void)gettimeofday(&now, NULL); @@ -92,10 +92,10 @@ struct timeval Curl_tvnow(void) * * Returns: the time difference in number of milliseconds. */ -long Curl_tvdiff(struct timeval newer, struct timeval older) +long curlx_tvdiff(struct timeval newer, struct timeval older) { return (newer.tv_sec-older.tv_sec)*1000+ - (499+newer.tv_usec-older.tv_usec)/1000; + (newer.tv_usec-older.tv_usec)/1000; } /* return the number of seconds in the given input timeval struct */ diff --git a/lib/timeval.h b/lib/timeval.h index cb984c8a6..39da52a6f 100644 --- a/lib/timeval.h +++ b/lib/timeval.h @@ -23,6 +23,11 @@ * $Id$ ***************************************************************************/ +/* + * CAUTION: this header is designed to work when included by the app-side + * as well as the library. Do not mix with library internals! + */ + #include "setup.h" #if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__) @@ -40,10 +45,20 @@ struct timeval { #endif #endif -struct timeval Curl_tvnow(void); +struct timeval curlx_tvnow(void); -/* the diff is from now on returned in number of milliseconds! */ -long Curl_tvdiff(struct timeval t1, struct timeval t2); +/* + * Make sure that the first argument (t1) is the more recent time and t2 is + * the older time, as otherwise you get a weird negative time-diff back... + * + * Returns: the time difference in number of milliseconds. + */ +long curlx_tvdiff(struct timeval t1, struct timeval t2); long Curl_tvlong(struct timeval t1); +/* These two defines below exist to provide the older API for library + internals only. */ +#define Curl_tvnow() curlx_tvnow() +#define Curl_tvdiff(x,y) curlx_tvdiff(x,y) + #endif