diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-19 20:30:39 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-19 20:30:39 +0000 |
commit | 00a31b1c962299f1b0069c8f8639301fc7e86f5b (patch) | |
tree | bfe69fbdaeb29e969aba52d6d5974a905a327c1b | |
parent | b8fdfeeac95ff53e7d88eebf0164e4f1afce70c7 (diff) |
Merged revisions 183386 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r183386 | dvossel | 2009-03-19 14:40:07 -0500 (Thu, 19 Mar 2009) | 6 lines
Cleaning up a few things in detect disconnect patch
Initialized ast_call_feature in detect_disconnect to avoid accessing uninitialized memory. Cleaned up /param tags in features.h. No longer send dynamic features in ast_feature_detect.
issue #11583
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@183436 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | apps/app_dial.c | 2 | ||||
-rw-r--r-- | include/asterisk/features.h | 6 | ||||
-rw-r--r-- | main/features.c | 7 |
3 files changed, 7 insertions, 8 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index 56ba3de53..8f6a49ba3 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1107,7 +1107,7 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, static int detect_disconnect(struct ast_channel *chan, char code, struct ast_str *featurecode) { struct ast_flags features = { AST_FEATURE_DISCONNECT }; /* only concerned with disconnect feature */ - struct ast_call_feature feature; + struct ast_call_feature feature = { 0, }; int res; ast_str_append(&featurecode, 1, "%c", code); diff --git a/include/asterisk/features.h b/include/asterisk/features.h index 7a88abcb1..9a666c743 100644 --- a/include/asterisk/features.h +++ b/include/asterisk/features.h @@ -131,7 +131,11 @@ void ast_register_feature(struct ast_call_feature *feature); void ast_unregister_feature(struct ast_call_feature *feature); /*! \brief detect a feature before bridging - \para chan, ast_flags ptr, code, ast_call_feature ptr to be set if found */ + \param chan + \param ast_flags ptr + \param char ptr of input code + \retval ast_call_feature ptr to be set if found + \return result, was feature found or not */ int ast_feature_detect(struct ast_channel *chan, struct ast_flags *features, char *code, struct ast_call_feature *feature); /*! \brief look for a call feature entry by its sname diff --git a/main/features.c b/main/features.c index 2f0b07b7a..0b6d7f53c 100644 --- a/main/features.c +++ b/main/features.c @@ -2110,12 +2110,7 @@ static int feature_interpret(struct ast_channel *chan, struct ast_channel *peer, int ast_feature_detect(struct ast_channel *chan, struct ast_flags *features, char *code, struct ast_call_feature *feature) { - char *dynamic_features; - ast_channel_lock(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, dynamic_features, features, 0, feature); + return feature_interpret_helper(chan, NULL, NULL, code, 0, NULL, features, 0, feature); } static void set_config_flags(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config) |