Bump year
[yaz-moved-to-github.git] / src / soap.c
index 2d19101..3de5e29 100644 (file)
@@ -1,8 +1,15 @@
 /*
- * Copyright (c) 2002-2004, Index Data.
+ * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: soap.c,v 1.6 2004-01-07 21:02:42 adam Exp $
+ * $Id: soap.c,v 1.10 2005-01-15 19:47:14 adam Exp $
+ */
+/**
+ * \file soap.c
+ * \brief Implements SOAP
+ *
+ * This implements encoding and decoding of SOAP packages using
+ * Libxml2.
  */
 
 #include <yaz/soap.h>
@@ -109,7 +116,7 @@ int z_soap_codec_enc_xsl(ODR o, Z_SOAP **pp,
             ptr = ptr->children;
 
             p->which = Z_SOAP_fault;
-            p->u.fault = odr_malloc(o, sizeof(*p->u.fault));
+            p->u.fault = (Z_SOAP_Fault *) odr_malloc(o, sizeof(*p->u.fault));
             p->u.fault->fault_code = 0;
             p->u.fault->fault_string = 0;
             p->u.fault->details = 0;
@@ -148,7 +155,8 @@ int z_soap_codec_enc_xsl(ODR o, Z_SOAP **pp,
                 else
                 {
                     p->which = Z_SOAP_generic;
-                    p->u.generic = odr_malloc(o, sizeof(*p->u.generic));
+                    p->u.generic = (Z_SOAP_Generic *)
+                       odr_malloc(o, sizeof(*p->u.generic));
                     p->u.generic->no = i;
                     p->u.generic->ns = handlers[i].ns;
                     p->u.generic->p = handler_data;
@@ -203,6 +211,8 @@ int z_soap_codec_enc_xsl(ODR o, Z_SOAP **pp,
         if (p->which == Z_SOAP_generic && !strcmp(p->ns, "SRU"))
         {
             xmlDocSetRootElement(doc, body_ptr->children);
+           body_ptr->children = 0;
+           xmlFreeNode(envelope_ptr);
         }
        if (stylesheet)
        {