summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorTerry Wilson <twilson@digium.com>2011-06-15 18:23:20 +0000
committerTerry Wilson <twilson@digium.com>2011-06-15 18:23:20 +0000
commitc33e1b0e27065d4cd1d22ff19f26633cf082e20f (patch)
tree6599f0e339550f59531259adaaf5e66a13e686ef /main
parentebf28254e3fd8e251d4c5154e0bf004afc7d624f (diff)
Merged revisions 323754 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r323754 | twilson | 2011-06-15 13:21:52 -0500 (Wed, 15 Jun 2011) | 23 lines Merged revisions 323733 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r323733 | twilson | 2011-06-15 13:13:00 -0500 (Wed, 15 Jun 2011) | 16 lines Merged revisions 323732 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r323732 | twilson | 2011-06-15 13:06:24 -0500 (Wed, 15 Jun 2011) | 9 lines Fix DYNAMIC_FEATURES DYNAMIC_FEATURES were broken by a recent DTMF change. This patch makes sure that dynamic features are also checked when deciding whether or not to pass DTMF through or store it for interpreting. (closes issue ASTERISK-17914) Reported by: vrban ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/features.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/main/features.c b/main/features.c
index 34c88473b..728118188 100644
--- a/main/features.c
+++ b/main/features.c
@@ -2898,8 +2898,12 @@ int ast_feature_detect(struct ast_channel *chan, struct ast_flags *features, con
/*! \brief Check if a feature exists */
static int feature_check(struct ast_channel *chan, struct ast_flags *features, char *code) {
+ char *chan_dynamic_features;
+ ast_channel_lock(chan);
+ chan_dynamic_features = ast_strdupa(S_OR(pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES"),""));
+ ast_channel_unlock(chan);
- return feature_interpret_helper(chan, NULL, NULL, code, 0, NULL, features, FEATURE_INTERPRET_CHECK, NULL);
+ return feature_interpret_helper(chan, NULL, NULL, code, 0, chan_dynamic_features, features, FEATURE_INTERPRET_CHECK, NULL);
}
static void set_config_flags(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config)