diff --git a/pbx.c b/pbx.c index 7387d7c9594be7d9c92dde7899d4e0cdf91ef6d5..fc7fe10ad425a480df31c149017ccec5c890708b 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)