[Freeswitch-svn] [commit] r7593 - freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml
Freeswitch SVN
anthm at freeswitch.org
Mon Feb 11 18:55:18 EST 2008
Author: anthm
Date: Mon Feb 11 18:55:18 2008
New Revision: 7593
Modified:
freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
Log:
add silly workaround to compensate for xml catch-22 with expressions with <> in them
Modified: freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
==============================================================================
--- freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c (original)
+++ freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c Mon Feb 11 18:55:18 2008
@@ -46,7 +46,7 @@
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);
char *exten_name = (char *) switch_xml_attr_soft(xexten, "name");
int proceed = 0;
@@ -66,8 +66,12 @@
field = (char *) switch_xml_attr(xcond, "field");
- expression = (char *) switch_xml_attr_soft(xcond, "expression");
-
+ if ((xexpression = switch_xml_child(xcond, "expression"))) {
+ expression = switch_str_nil(xexpression->txt);
+ } else {
+ expression = (char *) switch_xml_attr_soft(xcond, "expression");
+ }
+
if ((expression_expanded = switch_channel_expand_variables(channel, expression)) == expression) {
expression_expanded = NULL;
} else {
More information about the Freeswitch-svn
mailing list