Fixing app_read so that if a timeout of less than 1 ms is specified,
authorMark Michelson <mmichelson@digium.com>
Tue, 16 Oct 2007 21:38:05 +0000 (21:38 +0000)
committerMark Michelson <mmichelson@digium.com>
Tue, 16 Oct 2007 21:38:05 +0000 (21:38 +0000)
assume that 1 ms is desired.

(closes issue #11000, reported and patched by michael-fig, with a warning line added by me)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85965 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_read.c

index f7203a6..4422cb1 100644 (file)
@@ -127,8 +127,14 @@ static int read_exec(struct ast_channel *chan, void *data)
                tosec = atof(arglist.timeout);
                if (tosec <= 0)
                        to = 0;
                tosec = atof(arglist.timeout);
                if (tosec <= 0)
                        to = 0;
-               else
+               else {
                        to = tosec * 1000.0;
                        to = tosec * 1000.0;
+                       if (to <= 0) {
+                               /* Make sure we don't use the default timeout. */
+                               ast_log(LOG_WARNING, "Read timeout less than 1 ms, assuming 1 ms timeout\n");
+                               to = 1;
+                       }
+               }
        }
 
        if (ast_strlen_zero(arglist.filename)) {
        }
 
        if (ast_strlen_zero(arglist.filename)) {