Make realtime pbx understand patterns.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4326 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-11-24 03:07:08 +00:00
parent 2a1bf5efd9
commit 8f2b687a95
4 changed files with 63 additions and 24 deletions

6
pbx.c
View File

@@ -649,7 +649,7 @@ int ast_extension_match(const char *pattern, const char *data)
return match;
}
static int extension_close(const char *pattern, const char *data, int needmore)
int ast_extension_close(const char *pattern, const char *data, int needmore)
{
int match;
/* If "data" is longer, it can'be a subset of pattern unless
@@ -749,8 +749,8 @@ static struct ast_exten *pbx_find_extension(struct ast_channel *chan, struct ast
while(eroot) {
/* Match extension */
if ((((action != HELPER_MATCHMORE) && ast_extension_match(eroot->exten, exten)) ||
((action == HELPER_CANMATCH) && (extension_close(eroot->exten, exten, 0))) ||
((action == HELPER_MATCHMORE) && (extension_close(eroot->exten, exten, 1)))) &&
((action == HELPER_CANMATCH) && (ast_extension_close(eroot->exten, exten, 0))) ||
((action == HELPER_MATCHMORE) && (ast_extension_close(eroot->exten, exten, 1)))) &&
(!eroot->matchcid || matchcid(eroot->cidmatch, callerid))) {
e = eroot;
if (*status < STATUS_NO_PRIORITY)