Cross Reference: time-util.c
xref
: /
dovecot
/
src
/
lib
/
time-util.c
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
time-util.c revision 0531ee2f23b4562eb6c212593680c820fa9e828b
/* Copyright (c) 2008-2009 Dovecot authors, see the included COPYING file */
#
include
"
lib.h
"
#
include
"
time-util.h
"
int
timeval_cmp
(
const
struct
timeval
*
tv1
,
const
struct
timeval
*
tv2
)
{
if
(
tv1
->
tv_sec
<
tv2
->
tv_sec
)
return
-
1
;
if
(
tv1
->
tv_sec
>
tv2
->
tv_sec
)
return
1
;
if
(
tv1
->
tv_usec
<
tv2
->
tv_usec
)
return
-
1
;
if
(
tv1
->
tv_usec
>
tv2
->
tv_usec
)
return
1
;
return
0;
}
int
timeval_diff_msecs
(
const
struct
timeval
*
tv1
,
const
struct
timeval
*
tv2
)
{
return
timeval_diff_usecs
(
tv1
,
tv2
) /
1000
;
}
long
long
timeval_diff_usecs
(
const
struct
timeval
*
tv1
,
const
struct
timeval
*
tv2
)
{
time_t
secs
;
int
usecs
;
secs
=
tv1
->
tv_sec
-
tv2
->
tv_sec
;
usecs
=
tv1
->
tv_usec
-
tv2
->
tv_usec
;
if
(
usecs
< 0) {
secs
--;
usecs
+=
1000000
;
}
return
((
long
long
)
secs
*
1000000ULL
) +
usecs
;
}