aboutsummaryrefslogtreecommitdiffstats
path: root/pbx.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-25 18:23:26 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-25 18:23:26 +0000
commit75e2e52fcbe81bc1bd4af7804e384925e06a4d12 (patch)
tree861c0cabbb5f4432bb03c480b1aec68e7142cec2 /pbx.c
parent50a1f5c0c9d66d025f5ff4f585ab534fbaa8c8b3 (diff)
Cleanup handling of complex expressions (bug #1919)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3304 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pbx.c b/pbx.c
index 7387d7c95..fc7fe10ad 100755
--- a/pbx.c
+++ b/pbx.c
@@ -1099,10 +1099,15 @@ void pbx_substitute_variables_helper(struct ast_channel *c,const char *cp1,char
if ((vare[0] == '$') && (vare[1] == '[')) {
needsub++;
brackets++;
+ vare++;
+ } else if (vare[0] == '[') {
+ brackets++;
} else if (vare[0] == ']') {
brackets--;
- } else if ((vare[0] == '$') && (vare[1] == '{'))
+ } else if ((vare[0] == '$') && (vare[1] == '{')) {
needsub++;
+ vare++
+ }
vare++;
}
if (brackets)