[asterisk-commits] rmudgett: trunk r352041 - in /trunk: ./ funcs/func_timeout.c main/app.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Jan 20 18:23:20 CST 2012


Author: rmudgett
Date: Fri Jan 20 18:23:13 2012
New Revision: 352041

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=352041
Log:
Fix ast_app_dtget() time unit inconsistency.

Note: Noone calls ast_app_dtget() with the timeout parameter of zero so
the bad code normally will never get executed.

* Fix unnecessary floating point division in func_timeout.c
timeout_write() when all other values are integers.

(closes issue ASTERISK-16817)
Reported by: Dmitry Andrianov
........

Merged revisions 352029 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 352035 from http://svn.asterisk.org/svn/asterisk/branches/10

Modified:
    trunk/   (props changed)
    trunk/funcs/func_timeout.c
    trunk/main/app.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-10-merged' - no diff available.

Modified: trunk/funcs/func_timeout.c
URL: http://svnview.digium.com/svn/asterisk/trunk/funcs/func_timeout.c?view=diff&rev=352041&r1=352040&r2=352041
==============================================================================
--- trunk/funcs/func_timeout.c (original)
+++ trunk/funcs/func_timeout.c Fri Jan 20 18:23:13 2012
@@ -171,7 +171,7 @@
 	case 'r':
 	case 'R':
 		if (chan->pbx) {
-			chan->pbx->rtimeoutms = when.tv_sec * 1000 + when.tv_usec / 1000.0;
+			chan->pbx->rtimeoutms = when.tv_sec * 1000 + when.tv_usec / 1000;
 			ast_verb(3, "Response timeout set to %.3f\n", chan->pbx->rtimeoutms / 1000.0);
 		}
 		break;
@@ -179,7 +179,7 @@
 	case 'd':
 	case 'D':
 		if (chan->pbx) {
-			chan->pbx->dtimeoutms = when.tv_sec * 1000 + when.tv_usec / 1000.0;
+			chan->pbx->dtimeoutms = when.tv_sec * 1000 + when.tv_usec / 1000;
 			ast_verb(3, "Digit timeout set to %.3f\n", chan->pbx->dtimeoutms / 1000.0);
 		}
 		break;

Modified: trunk/main/app.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/app.c?view=diff&rev=352041&r1=352040&r2=352041
==============================================================================
--- trunk/main/app.c (original)
+++ trunk/main/app.c Fri Jan 20 18:23:13 2012
@@ -108,7 +108,7 @@
  * \param collect
  * \param size
  * \param maxlen
- * \param timeout timeout in seconds
+ * \param timeout timeout in milliseconds
  *
  * \return 0 if extension does not exist, 1 if extension exists
 */
@@ -121,10 +121,12 @@
 		maxlen = size;
 	}
 
-	if (!timeout && chan->pbx) {
-		timeout = chan->pbx->dtimeoutms / 1000.0;
-	} else if (!timeout) {
-		timeout = 5;
+	if (!timeout) {
+		if (chan->pbx && chan->pbx->dtimeoutms) {
+			timeout = chan->pbx->dtimeoutms;
+		} else {
+			timeout = 5000;
+		}
 	}
 
 	if ((ts = ast_get_indication_tone(chan->zone, "dial"))) {




More information about the asterisk-commits mailing list