Module: kamailio Branch: master Commit: b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35 URL: https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6...
Author: Luis Azedo luis@2600hz.com Committer: Luis Azedo luis@2600hz.com 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/b6b7de8832e4ab22ef2c00ebb2c1e1b6... Patch: https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6...
---
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; }