aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-16 18:59:02 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-16 18:59:02 +0000
commit2efc505dda442537688b8a34a7e8b4aad62bc353 (patch)
tree5898f0e4aed424e864baeb08787a6bf3ef357e65 /res
parent9062f796e716e3f126bb1588f5765ad6ba1a6826 (diff)
This fixes a problem with pattern ranges; and corrects a situation in res_features, where an extension would be created with the name Zap/51, as an example. THe / is bad because it would tend to mean that the 51 is to be cid matched.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89329 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r--res/res_features.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/res/res_features.c b/res/res_features.c
index 5e1d3523f..34c5661c0 100644
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -2104,8 +2104,15 @@ static void *do_parking_thread(void *ignore)
}
if (con) {
char returnexten[AST_MAX_EXTENSION];
+ char peername_flat[AST_MAX_EXTENSION]; /* using something like Zap/52 for an extension name is NOT a good idea */
+ int i;
+ ast_copy_string(peername_flat,peername,sizeof(peername_flat));
+ for(i=0; peername_flat[i] && i < AST_MAX_EXTENSION; i++) {
+ if (peername_flat[i] == '/')
+ peername_flat[i]= '0';
+ }
snprintf(returnexten, sizeof(returnexten), "%s,,t", peername);
- ast_add_extension2(con, 1, peername, 1, NULL, NULL, "Dial", ast_strdup(returnexten), ast_free_ptr, registrar);
+ ast_add_extension2(con, 1, peername_flat, 1, NULL, NULL, "Dial", ast_strdup(returnexten), ast_free_ptr, registrar);
}
if (comebacktoorigin) {
set_c_e_p(chan, parking_con_dial, peername, 1);