mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Let utils/ dir compile when DEBUG_THREADS is not enabled.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -2801,6 +2801,55 @@ static int ast_true(const char *s)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define ONE_MILLION 1000000
|
||||
/*
|
||||
* put timeval in a valid range. usec is 0..999999
|
||||
* negative values are not allowed and truncated.
|
||||
*/
|
||||
static struct timeval tvfix(struct timeval a)
|
||||
{
|
||||
if (a.tv_usec >= ONE_MILLION) {
|
||||
ast_log(LOG_WARNING, "warning too large timestamp %ld.%ld\n",
|
||||
(long)a.tv_sec, (long int) a.tv_usec);
|
||||
a.tv_sec += a.tv_usec / ONE_MILLION;
|
||||
a.tv_usec %= ONE_MILLION;
|
||||
} else if (a.tv_usec < 0) {
|
||||
ast_log(LOG_WARNING, "warning negative timestamp %ld.%ld\n",
|
||||
(long)a.tv_sec, (long int) a.tv_usec);
|
||||
a.tv_usec = 0;
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
struct timeval ast_tvadd(struct timeval a, struct timeval b)
|
||||
{
|
||||
/* consistency checks to guarantee usec in 0..999999 */
|
||||
a = tvfix(a);
|
||||
b = tvfix(b);
|
||||
a.tv_sec += b.tv_sec;
|
||||
a.tv_usec += b.tv_usec;
|
||||
if (a.tv_usec >= ONE_MILLION) {
|
||||
a.tv_sec++;
|
||||
a.tv_usec -= ONE_MILLION;
|
||||
}
|
||||
return a;
|
||||
}
|
||||
|
||||
struct timeval ast_tvsub(struct timeval a, struct timeval b)
|
||||
{
|
||||
/* consistency checks to guarantee usec in 0..999999 */
|
||||
a = tvfix(a);
|
||||
b = tvfix(b);
|
||||
a.tv_sec -= b.tv_sec;
|
||||
a.tv_usec -= b.tv_usec;
|
||||
if (a.tv_usec < 0) {
|
||||
a.tv_sec-- ;
|
||||
a.tv_usec += ONE_MILLION;
|
||||
}
|
||||
return a;
|
||||
}
|
||||
#undef ONE_MILLION
|
||||
|
||||
/* stolen from pbx.c */
|
||||
#define VAR_BUF_SIZE 4096
|
||||
|
||||
|
Reference in New Issue
Block a user