]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Bug 6745 - Fix for ranges that wrap around the ends
authorTilghman Lesher <tilghman@meg.abyt.es>
Tue, 21 Mar 2006 05:48:17 +0000 (05:48 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Tue, 21 Mar 2006 05:48:17 +0000 (05:48 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@13709 65c4cc65-6c06-0410-ace0-fbb531ad65f3

pbx.c

diff --git a/pbx.c b/pbx.c
index b355abe0441fffb0da9e13261b8fedf2ada55353..197175c1ed3f5032f102a038f823a21fb9c698f2 100644 (file)
--- a/pbx.c
+++ b/pbx.c
@@ -3728,10 +3728,14 @@ static unsigned get_range(char *src, int max, char *const names[], const char *m
        }
        /* Fill the mask. Remember that ranges are cyclic */
        mask = 1 << e;  /* initialize with last element */
-       for ( ; s != e; s++) {
-               if (s == max)
-                       s = 0 ;
-               mask |= (1 << s);
+       while (s != e) {
+               if (s >= max) {
+                       s = 0;
+                       mask |= (1 << s);
+               } else {
+                       mask |= (1 << s);
+                       s++;
+               }
        }
        return mask;
 }