summaryrefslogtreecommitdiff
path: root/funcs/func_timeout.c
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2007-08-23 19:22:49 +0000
committerRussell Bryant <russell@russellbryant.com>2007-08-23 19:22:49 +0000
commit558d533388c6120ea54b425be93a1ec851334e64 (patch)
treefc0d691c5c109604655e05da5c1b72bcfc8bc064 /funcs/func_timeout.c
parentc50975fd06f5fa4c9c95a4cf9d30dc9e622a7acc (diff)
Merged revisions 80539 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80539 | russell | 2007-08-23 14:21:53 -0500 (Thu, 23 Aug 2007) | 4 lines Fix func_timeout to take values in floating point so 1.5 actually means 1.5 seconds instead of being rounded. (closes issue #10540, reported by spendergrass, patch by me) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'funcs/func_timeout.c')
-rw-r--r--funcs/func_timeout.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/funcs/func_timeout.c b/funcs/func_timeout.c
index 86186ba24..3f510e4b0 100644
--- a/funcs/func_timeout.c
+++ b/funcs/func_timeout.c
@@ -90,6 +90,7 @@ static int timeout_read(struct ast_channel *chan, const char *cmd, char *data,
static int timeout_write(struct ast_channel *chan, const char *cmd, char *data,
const char *value)
{
+ float f;
int x;
char timestr[64];
struct ast_tm myt;
@@ -105,7 +106,10 @@ static int timeout_write(struct ast_channel *chan, const char *cmd, char *data,
if (!value)
return -1;
- x = atoi(value);
+ f = atof(value);
+ if (f < 0)
+ f = 1.0;
+ x = (int) (f * 1000);
switch (*data) {
case 'a':