X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fsru_util.cpp;h=d9e873096c00367a483ca0d364a1000462ebb7b4;hb=586d78659d671683f33ec55f4a7d32b28e345ccd;hp=5ce98f756b1d8c93e086d5375214448195b76bca;hpb=36124975217061b8fb61e5bafb18accee24dba53;p=metaproxy-moved-to-github.git diff --git a/src/sru_util.cpp b/src/sru_util.cpp index 5ce98f7..d9e8730 100644 --- a/src/sru_util.cpp +++ b/src/sru_util.cpp @@ -131,6 +131,7 @@ bool mp_util::build_sru_explain(metaproxy_1::Package &package, xmlDocDumpFormatMemory(doc, &xmlbuff, &xmlbuffsz, 1); explain_xml.assign((const char*)xmlbuff, 0, xmlbuffsz); + xmlFree(xmlbuff); } @@ -227,7 +228,8 @@ bool mp_util::build_sru_response(mp::Package &package, Z_SRW_PDU * mp_util::decode_sru_request(mp::Package &package, mp::odr &odr_de, mp::odr &odr_en, - Z_SRW_PDU *sru_pdu_res, + Z_SRW_diagnostic **diagnostic, + int *num_diagnostic, Z_SOAP **soap, char *charset) { @@ -250,15 +252,8 @@ Z_SRW_PDU * mp_util::decode_sru_request(mp::Package &package, // closing connection if we did not ... if (0 == yaz_sru_decode(http_req, &sru_pdu_req, soap, odr_de, &charset, - &(sru_pdu_res->u.explain_response->diagnostics), - &(sru_pdu_res->u.explain_response->num_diagnostics))) + diagnostic, num_diagnostic)) { - if (sru_pdu_res->u.explain_response->num_diagnostics) - { - //sru_pdu_res = sru_pdu_res_exp; - package.session().close(); - return 0; - } return sru_pdu_req; } else if (0 == yaz_srw_decode(http_req, &sru_pdu_req, soap,