mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-11 23:28:59 +00:00
Use casts or intermediate variables to remove a number
of platform/compiler-dependent warnings when handing struct timeval fields, both reading and printing them. It is a lost battle to handle the different ways struct timeval is handled on the various platforms and compilers, so try to be pragmatic and go through int/long which are universally supported. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -48,6 +48,7 @@ static int waituntil_exec(struct ast_channel *chan, void *data)
|
||||
{
|
||||
int res;
|
||||
double fraction;
|
||||
long seconds;
|
||||
struct timeval future = { 0, };
|
||||
struct timeval tv = ast_tvnow();
|
||||
int msec;
|
||||
@@ -58,12 +59,13 @@ static int waituntil_exec(struct ast_channel *chan, void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (sscanf(data, "%ld%lf", (long *)&future.tv_sec, &fraction) == 0) {
|
||||
if (sscanf(data, "%ld%lf", &seconds, &fraction) == 0) {
|
||||
ast_log(LOG_WARNING, "WaitUntil called with non-numeric argument\n");
|
||||
pbx_builtin_setvar_helper(chan, "WAITUNTILSTATUS", "FAILURE");
|
||||
return 0;
|
||||
}
|
||||
|
||||
future.tv_sec = seconds;
|
||||
future.tv_usec = fraction * 1000000;
|
||||
|
||||
if ((msec = ast_tvdiff_ms(future, tv)) < 0) {
|
||||
|
Reference in New Issue
Block a user