mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-16 16:58:35 +00:00
add silly workaround to compensate for xml catch-22 with expressions with <> in them
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7593 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
94aa4b3747
commit
f5036fec03
@ -46,7 +46,7 @@ typedef enum {
|
|||||||
|
|
||||||
static int parse_exten(switch_core_session_t *session, switch_caller_profile_t *caller_profile, switch_xml_t xexten, switch_caller_extension_t **extension)
|
static int parse_exten(switch_core_session_t *session, switch_caller_profile_t *caller_profile, switch_xml_t xexten, switch_caller_extension_t **extension)
|
||||||
{
|
{
|
||||||
switch_xml_t xcond, xaction;
|
switch_xml_t xcond, xaction, xexpression;
|
||||||
switch_channel_t *channel = switch_core_session_get_channel(session);
|
switch_channel_t *channel = switch_core_session_get_channel(session);
|
||||||
char *exten_name = (char *) switch_xml_attr_soft(xexten, "name");
|
char *exten_name = (char *) switch_xml_attr_soft(xexten, "name");
|
||||||
int proceed = 0;
|
int proceed = 0;
|
||||||
@ -66,7 +66,11 @@ static int parse_exten(switch_core_session_t *session, switch_caller_profile_t *
|
|||||||
|
|
||||||
field = (char *) switch_xml_attr(xcond, "field");
|
field = (char *) switch_xml_attr(xcond, "field");
|
||||||
|
|
||||||
|
if ((xexpression = switch_xml_child(xcond, "expression"))) {
|
||||||
|
expression = switch_str_nil(xexpression->txt);
|
||||||
|
} else {
|
||||||
expression = (char *) switch_xml_attr_soft(xcond, "expression");
|
expression = (char *) switch_xml_attr_soft(xcond, "expression");
|
||||||
|
}
|
||||||
|
|
||||||
if ((expression_expanded = switch_channel_expand_variables(channel, expression)) == expression) {
|
if ((expression_expanded = switch_channel_expand_variables(channel, expression)) == expression) {
|
||||||
expression_expanded = NULL;
|
expression_expanded = NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user