From: Russell Bryant Date: Thu, 23 Aug 2007 19:22:49 +0000 (+0000) Subject: Merged revisions 80539 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~1636 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=558d533388c6120ea54b425be93a1ec851334e64;p=thirdparty%2Fasterisk.git 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 --- diff --git a/funcs/func_timeout.c b/funcs/func_timeout.c index 86186ba24b..3f510e4b06 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':