accept asterisk N/X/Z/. notation everywhere regexes are expected when they start with _
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13287 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
fd115395f9
commit
3c6b98d00f
|
@ -514,7 +514,7 @@ SWITCH_DECLARE(char *) switch_separate_paren_args(char *str);
|
||||||
SWITCH_DECLARE(const char *) switch_stristr(const char *instr, const char *str);
|
SWITCH_DECLARE(const char *) switch_stristr(const char *instr, const char *str);
|
||||||
SWITCH_DECLARE(switch_bool_t) switch_is_lan_addr(const char *ip);
|
SWITCH_DECLARE(switch_bool_t) switch_is_lan_addr(const char *ip);
|
||||||
SWITCH_DECLARE(char *) switch_replace_char(char *str, char from, char to, switch_bool_t dup);
|
SWITCH_DECLARE(char *) switch_replace_char(char *str, char from, char to, switch_bool_t dup);
|
||||||
SWITCH_DECLARE(switch_bool_t) switch_ast2regex(char *pat, char *rbuf, size_t len);
|
SWITCH_DECLARE(switch_bool_t) switch_ast2regex(const char *pat, char *rbuf, size_t len);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Escape a string by prefixing a list of characters with an escape character
|
\brief Escape a string by prefixing a list of characters with an escape character
|
||||||
|
|
|
@ -60,11 +60,18 @@ SWITCH_DECLARE(int) switch_regex_perform(const char *field, const char *expressi
|
||||||
int match_count = 0;
|
int match_count = 0;
|
||||||
char *tmp = NULL;
|
char *tmp = NULL;
|
||||||
uint32_t flags = 0;
|
uint32_t flags = 0;
|
||||||
|
char abuf[256] = "";
|
||||||
|
|
||||||
if (!(field && expression)) {
|
if (!(field && expression)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (*expression == '_') {
|
||||||
|
if (switch_ast2regex(expression + 1, abuf, sizeof(abuf))) {
|
||||||
|
expression = abuf;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (*expression == '/') {
|
if (*expression == '/') {
|
||||||
char *opts = NULL;
|
char *opts = NULL;
|
||||||
tmp = strdup(expression + 1);
|
tmp = strdup(expression + 1);
|
||||||
|
|
|
@ -565,9 +565,9 @@ SWITCH_DECLARE(switch_bool_t) switch_is_lan_addr(const char *ip)
|
||||||
)? SWITCH_FALSE : SWITCH_TRUE;
|
)? SWITCH_FALSE : SWITCH_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
SWITCH_DECLARE(switch_bool_t) switch_ast2regex(char *pat, char *rbuf, size_t len)
|
SWITCH_DECLARE(switch_bool_t) switch_ast2regex(const char *pat, char *rbuf, size_t len)
|
||||||
{
|
{
|
||||||
char *p = pat;
|
const char *p = pat;
|
||||||
|
|
||||||
if (!pat) {
|
if (!pat) {
|
||||||
return SWITCH_FALSE;
|
return SWITCH_FALSE;
|
||||||
|
|
Loading…
Reference in New Issue