]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
fix do_config for <conference> and <dial>
authorChristopher Rienzo <chris@rienzo.net>
Fri, 6 Jan 2012 02:05:20 +0000 (02:05 +0000)
committerChristopher Rienzo <chris@rienzo.net>
Fri, 6 Jan 2012 02:05:20 +0000 (02:05 +0000)
src/mod/applications/mod_httapi/mod_httapi.c

index 5b59665962703ed25b8c51419a17b60781abf3f1..96514d61f4dff86b1b099ec5fc9ce5110e91d8c2 100644 (file)
@@ -1480,22 +1480,26 @@ static switch_status_t do_config(void)
                profile->perms.dial.enabled = 1;
 
                if ((tag = switch_xml_child(profile_tag, "conference"))) {
-                       char *var = (char *) switch_xml_attr_soft(tag, "name");
-                       char *val = (char *) switch_xml_attr_soft(tag, "value");
+                       for (param = switch_xml_child(tag, "param"); param; param = param->next) {
+                               char *var = (char *) switch_xml_attr_soft(param, "name");
+                               char *val = (char *) switch_xml_attr_soft(param, "value");
 
-                       if (!strcasecmp(var, "default-profile")) {
-                               profile->conference_params.use_profile = switch_core_strdup(globals.pool, val);
+                               if (!strcasecmp(var, "default-profile")) {
+                                       profile->conference_params.use_profile = switch_core_strdup(globals.pool, val);
+                               }
                        }
                }
 
                if ((tag = switch_xml_child(profile_tag, "dial"))) {
-                       char *var = (char *) switch_xml_attr_soft(tag, "name");
-                       char *val = (char *) switch_xml_attr_soft(tag, "value");
+                       for (param = switch_xml_child(tag, "param"); param; param = param->next) {
+                               char *var = (char *) switch_xml_attr_soft(param, "name");
+                               char *val = (char *) switch_xml_attr_soft(param, "value");
 
-                       if (!strcasecmp(var, "context")) {
-                               profile->dial_params.context = switch_core_strdup(globals.pool, val);
-                       } else if (!strcasecmp(var, "dialplan")) {
-                               profile->dial_params.dp = switch_core_strdup(globals.pool, val);;
+                               if (!strcasecmp(var, "context")) {
+                                       profile->dial_params.context = switch_core_strdup(globals.pool, val);
+                               } else if (!strcasecmp(var, "dialplan")) {
+                                       profile->dial_params.dp = switch_core_strdup(globals.pool, val);
+                               }
                        }
                }