Add a portable tor_timercmp

We can't use the platform timercmp, because
  1) some platforms don't have them
  2) some that do have them only support certain relational operators
This commit is contained in:
Nick Mathewson 2010-10-15 12:32:19 -04:00
parent 9516c1efdb
commit 94a99ad205

View File

@ -332,6 +332,13 @@ struct tm *tor_localtime_r(const time_t *timep, struct tm *result);
struct tm *tor_gmtime_r(const time_t *timep, struct tm *result);
#endif
/** Return true iff the tvp is related to uvp according to the relational
* operator cmp. Recognized values for cmp are ==, <=, <, >=, and >. */
#define tor_timercmp(tvp, uvp, cmp) \
(((tvp)->tv_sec == (uvp)->tv_sec) ? \
((tvp)->tv_usec cmp (uvp)->tv_usec) : \
((tvp)->tv_sec cmp (uvp)->tv_sec))
/* ===== File compatibility */
int replace_file(const char *from, const char *to);
int touch_file(const char *fname);