Commit 780b9623 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

provide these functions as curlx_* ones as this enables the curl app to

re-use these sources and functions for subsecond resolution timing
parent bbeb8409
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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 */
+18 −3
Original line number Diff line number Diff line
@@ -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