Fix the 'dialplan remove extension' logic, so that it a) works with cidmatch,

and b) completes contexts correctly when the extension is ambiguous.
(closes issue #12980)
 Reported by: licedey
 Patches: 
       20080703__bug12980.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@127973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2008-07-04 03:30:30 +00:00
parent 589c7bdb3a
commit e9d086a277
3 changed files with 138 additions and 81 deletions

View File

@@ -585,7 +585,9 @@ int ast_context_remove_switch2(struct ast_context *con, const char *sw,
*
* \param context context to remove extension from
* \param extension which extension to remove
* \param priority priority of extension to remove
* \param priority priority of extension to remove (0 to remove all)
* \param callerid NULL to remove all; non-NULL to match a single record per priority
* \param matchcid non-zero to match callerid element (if non-NULL); 0 to match default case
* \param registrar registrar of the extension
*
* This function removes an extension from a given context.
@@ -599,6 +601,12 @@ int ast_context_remove_extension(const char *context, const char *extension, int
int ast_context_remove_extension2(struct ast_context *con, const char *extension,
int priority, const char *registrar);
int ast_context_remove_extension_callerid(const char *context, const char *extension,
int priority, const char *callerid, int matchcid, const char *registrar);
int ast_context_remove_extension_callerid2(struct ast_context *con, const char *extension,
int priority, const char *callerid, int matchcid, const char *registrar);
/*!
* \brief Add an ignorepat
*