]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
insist on a conference profile
authorAnthony Minessale <anthony.minessale@gmail.com>
Thu, 8 Feb 2007 15:39:14 +0000 (15:39 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Thu, 8 Feb 2007 15:39:14 +0000 (15:39 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4165 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_conference/mod_conference.c

index 4e46bcf9854dcf81f446cf02f5178a35fa5cb227..d41ee34c9f2cc8eb9af3427314781d2672a51384 100644 (file)
@@ -3022,6 +3022,14 @@ static switch_status_t conf_api_sub_transfer(conference_obj_t *conference, switc
                 if ((profiles = switch_xml_child(cfg, "profiles"))) {
                     xml_cfg.profile = switch_xml_find_child(profiles, "profile", "name", profile_name);
                 }
+
+                if (!xml_cfg.profile) {
+                    switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile: %s\n", profile_name);
+                    switch_xml_free(cxml);
+                    cxml = NULL;
+                    goto done;
+                }
+
                 xml_cfg.controls = switch_xml_child(cfg, "caller-controls");
 #ifdef OPTION_IVR_MENU_SUPPORT
                 xml_cfg.menus = switch_xml_child(cfg, "menus");
@@ -3662,6 +3670,13 @@ static void conference_function(switch_core_session_t *session, char *data)
         xml_cfg.profile = switch_xml_find_child(profiles, "profile", "name", profile_name);
     }
 
+    if (!xml_cfg.profile) {
+        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find profile: %s\n", profile_name);
+        switch_xml_free(cxml);
+        cxml = NULL;
+        goto done;
+    }
+
     xml_cfg.controls = switch_xml_child(cfg, "caller-controls");
 #ifdef OPTION_IVR_MENU_SUPPORT
     xml_cfg.menus = switch_xml_child(cfg, "menus");