z3950_client: client_ip controls client-IP presence
[metaproxy-moved-to-github.git] / src / sru_util.cpp
index da9aaa4..c02007b 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Metaproxy.
-   Copyright (C) 2005-2013 Index Data
+   Copyright (C) Index Data
 
 Metaproxy is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -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);
     }
 
 
@@ -229,8 +230,7 @@ Z_SRW_PDU * mp_util::decode_sru_request(mp::Package &package,
                                         mp::odr &odr_en,
                                         Z_SRW_PDU *sru_pdu_res,
                                         Z_SOAP **soap,
-                                        char *charset,
-                                        char *stylesheet)
+                                        char *charset)
 {
     Z_GDU *zgdu_req = package.request().get();
     Z_SRW_PDU *sru_pdu_req = 0;
@@ -251,10 +251,10 @@ 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.response->diagnostics),
-                            &(sru_pdu_res->u.response->num_diagnostics)))
+                            &(sru_pdu_res->u.explain_response->diagnostics),
+                            &(sru_pdu_res->u.explain_response->num_diagnostics)))
     {
-        if (sru_pdu_res->u.response->num_diagnostics)
+        if (sru_pdu_res->u.explain_response->num_diagnostics)
         {
             //sru_pdu_res = sru_pdu_res_exp;
             package.session().close();