Module: kamailio
Branch: master
Commit: b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35
URL: 
https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35

Author: Luis Azedo <[email protected]>
Committer: Luis Azedo <[email protected]>
Date: 2015-12-17T21:02:43Z

presence_dialoginfo : aux_body should return xmldoc instead of char

---

Modified: modules/presence/notify.c
Modified: modules/presence_dialoginfo/notify_body.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35.diff
Patch: 
https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35.patch

---

diff --git a/modules/presence/notify.c b/modules/presence/notify.c
index efb8a48..f6a0ba9 100644
--- a/modules/presence/notify.c
+++ b/modules/presence/notify.c
@@ -1535,8 +1535,7 @@ int send_notify_request(subs_t* subs, subs_t * 
watcher_subs,
                                        {
                                                aux_body = 
subs->event->aux_body_processing(subs, notify_body);
                                                if(aux_body) {
-                                                       xmlFree(notify_body->s);
-                                                       pkg_free(notify_body);
+                                                       
free_notify_body(notify_body, subs->event);
                                                        notify_body = aux_body;
                                                }
                                        }
diff --git a/modules/presence_dialoginfo/notify_body.c 
b/modules/presence_dialoginfo/notify_body.c
index e6dc050..710fe91 100644
--- a/modules/presence_dialoginfo/notify_body.c
+++ b/modules/presence_dialoginfo/notify_body.c
@@ -595,5 +595,18 @@ str *dlginfo_body_setversion(subs_t *subs, str *body) {
        memcpy(version_start, version, version_len);
        memset(version_start + version_len, ' ', 12 - version_len);
 
+       xmlDocPtr doc = xmlReadMemory(aux_body->s, aux_body->len, "noname.xml", 
NULL, 0);
+        if (doc == NULL) {
+               LM_ERR("error allocation xmldoc\n");
+               pkg_free(aux_body->s);
+               pkg_free(aux_body);
+               return NULL;
+       }
+       pkg_free(aux_body->s);
+        xmlDocDumpFormatMemory(doc,(xmlChar**)(void*)&aux_body->s, 
&aux_body->len, 1);
+
+        xmlCleanupParser();
+        xmlMemoryDump();
+
        return aux_body;
 }


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to