From 2efc505dda442537688b8a34a7e8b4aad62bc353 Mon Sep 17 00:00:00 2001 From: murf Date: Fri, 16 Nov 2007 18:59:02 +0000 Subject: 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 --- res/res_features.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'res') 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); -- cgit v1.2.3