Checking global variables here actually overwrote the previous substitution by
authorTilghman Lesher <tilghman@meg.abyt.es>
Wed, 10 Dec 2008 22:48:09 +0000 (22:48 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Wed, 10 Dec 2008 22:48:09 +0000 (22:48 +0000)
channel variables, and in any case, was redundant;
pbx_substitute_variables_helper ALREADY does substitution for global
variables.
(closes issue #13327)
 Reported by: pj

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

main/pbx.c

index 79ea30e..5fe9311 100644 (file)
@@ -7464,18 +7464,9 @@ int ast_add_extension2(struct ast_context *con,
        if (priority == PRIORITY_HINT && strstr(application, "${") && !strstr(extension, "_")) {
                struct ast_channel c = {0, };
 
-               /* Start out with regular variables */
                ast_copy_string(c.exten, extension, sizeof(c.exten));
                ast_copy_string(c.context, con->name, sizeof(c.context));
                pbx_substitute_variables_helper(&c, application, expand_buf, sizeof(expand_buf));
-
-               /* Move on to global variables if they exist */
-               ast_rwlock_rdlock(&globalslock);
-               if (AST_LIST_FIRST(&globals)) {
-                       pbx_substitute_variables_varshead(&globals, application, expand_buf, sizeof(expand_buf));
-                       application = expand_buf;
-               }
-               ast_rwlock_unlock(&globalslock);
        }
 
        length = sizeof(struct ast_exten);