summaryrefslogtreecommitdiff
path: root/pbx.c
diff options
context:
space:
mode:
authorTilghman Lesher <tilghman@meg.abyt.es>2006-03-21 05:48:17 +0000
committerTilghman Lesher <tilghman@meg.abyt.es>2006-03-21 05:48:17 +0000
commit96ec20c0fc8ad97a61b6f9c8fc14b084e52fef0b (patch)
treeaab4574c4547e96264c378e4b830260a6ba81d75 /pbx.c
parent3e6c1cab5901ade23f311b41f43a94e2e66944dd (diff)
Bug 6745 - Fix for ranges that wrap around the ends
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@13709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx.c')
-rw-r--r--pbx.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/pbx.c b/pbx.c
index b355abe04..197175c1e 100644
--- 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;
}