time-util.c revision e28b88ee83b47dc2257140600f491482704c7b79
c25356d5978632df6203437e1953bcb29e0c736fTimo Sirainen/* Copyright (c) 2008-2014 Dovecot authors, see the included COPYING file */
2615df45a8027948a474abe5e817b34b0499c171Timo Sirainenint timeval_cmp(const struct timeval *tv1, const struct timeval *tv2)
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainenint timeval_cmp_margin(const struct timeval *tv1, const struct timeval *tv2,
a91bd6256b33729531c33ff8bc66ee1ae95840f9Timo Sirainen if (tv1->tv_usec - tv2->tv_usec < (int)usec_margin)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen if (tv1->tv_usec - tv2->tv_usec > (int)usec_margin)
2615df45a8027948a474abe5e817b34b0499c171Timo Sirainenint timeval_diff_msecs(const struct timeval *tv1, const struct timeval *tv2)
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainenlong long timeval_diff_usecs(const struct timeval *tv1,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainenconst char *t_strflocaltime(const char *fmt, time_t t)
dca6d617a23e3f93af3b8df59acb46478179fe55Timo Sirainen while ((ret = strftime(buf, bufsize, fmt, tm)) == 0) {