]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
passing non-null value to generate_xml_cdr now implies its an initalized xml object
authorAnthony Minessale <anthm@freeswitch.org>
Thu, 1 Jul 2010 20:22:13 +0000 (15:22 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Thu, 1 Jul 2010 20:22:13 +0000 (15:22 -0500)
src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c
src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c
src/switch_cpp.cpp
src/switch_ivr.c
src/switch_ivr_bridge.c

index 2edbb6f49039723e91feeafe0ccab7cfa7b505df..71159654c012e161dc17c593cc80114f9de133ff 100644 (file)
@@ -133,7 +133,7 @@ static rc_handle *my_radius_init(void)
 
 static switch_status_t my_on_routing(switch_core_session_t *session)
 {
-       switch_xml_t cdr;
+       switch_xml_t cdr = NULL;
        switch_channel_t *channel = switch_core_session_get_channel(session);
        rc_handle *rad_config;
        switch_status_t retval = SWITCH_STATUS_TERM;
@@ -377,7 +377,7 @@ static switch_status_t my_on_routing(switch_core_session_t *session)
 
 static switch_status_t my_on_reporting(switch_core_session_t *session)
 {
-       switch_xml_t cdr;
+       switch_xml_t cdr = NULL;
        switch_channel_t *channel = switch_core_session_get_channel(session);
        rc_handle *rad_config;
        switch_status_t retval = SWITCH_STATUS_TERM;
index 4f6c7aadc450fc6267dda3968e498533a93226cb..ccaba559fdc66bc685e053bc6ace3125fdf7f513 100644 (file)
@@ -2090,7 +2090,7 @@ static JSBool session_pre_answer(JSContext * cx, JSObject * obj, uintN argc, jsv
 static JSBool session_cdr(JSContext * cx, JSObject * obj, uintN argc, jsval * argv, jsval * rval)
 {
        struct js_session *jss = JS_GetPrivate(cx, obj);
-       switch_xml_t cdr;
+       switch_xml_t cdr = NULL;
 
        /*Always a pessimist... sheesh! */
        *rval = BOOLEAN_TO_JSVAL(JS_FALSE);
index 5f04b118005b350cb14a6855ca3788df5372e2e3..83f9f72c099496aa2ac46dcd6f97cfcc35109a25 100644 (file)
@@ -179,7 +179,7 @@ static switch_status_t set_xml_cdr_log_dirs()
 
 static switch_status_t my_on_reporting(switch_core_session_t *session)
 {
-       switch_xml_t cdr;
+       switch_xml_t cdr = NULL;
        char *xml_text = NULL;
        char *path = NULL;
        char *curl_xml_text = NULL;
index 3c71d35370a04bbb9e4571e994e4ac9ba9fb1bb0..ec4c9c40b4d57b3cacde8ee0854dbb72b670f562 100644 (file)
@@ -542,7 +542,7 @@ SWITCH_DECLARE_CONSTRUCTOR CoreSession::~CoreSession()
 SWITCH_DECLARE(char *) CoreSession::getXMLCDR()
 {
        
-       switch_xml_t cdr;
+       switch_xml_t cdr = NULL;
 
        this_check((char *)"");
        sanity_check((char *)"");
index 14f874289ab5ab281d0e84a62364cc9e5366d017..f42b28ff570c9249e4908cd6d661eedd6ba721ea 100644 (file)
@@ -1859,8 +1859,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_generate_xml_cdr(switch_core_session_
        char tmp[512], *f;
        int cdr_off = 0, v_off = 0, cd_off = 0;
 
-       if (!(cdr = switch_xml_new("cdr"))) {
-               return SWITCH_STATUS_SUCCESS;
+       if (*xml_cdr) {
+               cdr = *xml_cdr;
+       } else {
+               if (!(cdr = switch_xml_new("cdr"))) {
+                       return SWITCH_STATUS_SUCCESS;
+               }
        }
 
        if (!(x_channel_data = switch_xml_add_child_d(cdr, "channel_data", cdr_off++))) {
index 34d53c2bcf110b7e5755de3031d52a07e0e38d96..633d4fac349913c12f901c33b9235ee376b9e356 100644 (file)
@@ -1211,7 +1211,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_multi_threaded_bridge(switch_core_ses
                        }
                        
                        if (switch_channel_down(peer_channel) && switch_true(switch_channel_get_variable(peer_channel, SWITCH_COPY_XML_CDR_VARIABLE))) {
-                               switch_xml_t cdr;
+                               switch_xml_t cdr = NULL;
                                char *xml_text;
 
                                switch_channel_wait_for_state(peer_channel, caller_channel, CS_DESTROY);