summaryrefslogtreecommitdiff
path: root/pbx.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-06-25 18:23:26 +0000
committerMark Spencer <markster@digium.com>2004-06-25 18:23:26 +0000
commite6de64a5a9848fc515930616435de559959e4f69 (patch)
tree861c0cabbb5f4432bb03c480b1aec68e7142cec2 /pbx.c
parentfe4b2401bdcfaf351a4028cbfee0f2f37c0a23ea (diff)
Cleanup handling of complex expressions (bug #1919)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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)