pbx.c: Make pbx_substitute_variables_helper_full() not mask variables.
authorRichard Mudgett <rmudgett@digium.com>
Fri, 30 Aug 2013 01:20:05 +0000 (01:20 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 30 Aug 2013 01:20:05 +0000 (01:20 +0000)
........

Merged revisions 397977 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397978 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/pbx.c

index fa2f645..09f3d95 100644 (file)
@@ -4479,11 +4479,12 @@ void pbx_substitute_variables_helper_full(struct ast_channel *c, struct varshead
 
                        /* Substitute if necessary */
                        if (needsub) {
-                               size_t used;
-                               if (!ltmp)
-                                       ltmp = ast_alloca(VAR_BUF_SIZE);
+                               size_t my_used;
 
-                               pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &used);
+                               if (!ltmp) {
+                                       ltmp = ast_alloca(VAR_BUF_SIZE);
+                               }
+                               pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &my_used);
                                vars = ltmp;
                        } else {
                                vars = var;
@@ -4568,11 +4569,12 @@ void pbx_substitute_variables_helper_full(struct ast_channel *c, struct varshead
 
                        /* Substitute if necessary */
                        if (needsub) {
-                               size_t used;
-                               if (!ltmp)
-                                       ltmp = ast_alloca(VAR_BUF_SIZE);
+                               size_t my_used;
 
-                               pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &used);
+                               if (!ltmp) {
+                                       ltmp = ast_alloca(VAR_BUF_SIZE);
+                               }
+                               pbx_substitute_variables_helper_full(c, headp, var, ltmp, VAR_BUF_SIZE - 1, &my_used);
                                vars = ltmp;
                        } else {
                                vars = var;