simplify matchcid()

define struct pbx_find_info for later use



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Luigi Rizzo 20 years ago
parent fd45a19ab4
commit a7c5ce76f6

27
pbx.c

@ -700,22 +700,31 @@ struct ast_context *ast_context_find(const char *name)
static int matchcid(const char *cidpattern, const char *callerid) static int matchcid(const char *cidpattern, const char *callerid)
{ {
int failresult;
/* If the Caller*ID pattern is empty, then we're matching NO Caller*ID, so /* If the Caller*ID pattern is empty, then we're matching NO Caller*ID, so
failing to get a number should count as a match, otherwise not */ failing to get a number should count as a match, otherwise not */
if (!ast_strlen_zero(cidpattern)) if (ast_strlen_zero(callerid))
failresult = 0; return ast_strlen_zero(cidpattern) ? 1 : 0;
else
failresult = 1;
if (!callerid)
return failresult;
return ast_extension_match(cidpattern, callerid); return ast_extension_match(cidpattern, callerid);
} }
/* request and result for pbx_find_extension */
struct pbx_find_info {
#if 0
const char *context;
const char *exten;
int priority;
#endif
char *incstack[AST_PBX_MAX_STACK]; /* filled during the search */
int stacklen; /* modified during the search */
int status; /* set on return */
struct ast_switch *swo; /* set on return */
const char *data; /* set on return */
const char *foundcontext; /* set on return */
};
static struct ast_exten *pbx_find_extension(struct ast_channel *chan, static struct ast_exten *pbx_find_extension(struct ast_channel *chan,
struct ast_context *bypass, struct ast_context *bypass,
const char *context, const char *exten, int priority, const char *context, const char *exten, int priority,

Loading…
Cancel
Save