Code updates which makes things compile as C++. Mostly type casts were
[yaz-moved-to-github.git] / src / nmemsdup.c
index a0856ec..95f182c 100644 (file)
@@ -1,8 +1,8 @@
 /*
- * Copyright (C) 1995-2006, Index Data ApS
+ * Copyright (C) 1995-2007, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: nmemsdup.c,v 1.8 2006-07-06 10:17:53 adam Exp $
+ * $Id: nmemsdup.c,v 1.11 2007-05-06 20:12:20 adam Exp $
  */
 
 /**
 #endif
 
 #include <string.h>
-#include <yaz/nmem.h>
-#if YAZ_HAVE_XML2
-#include <libxml/tree.h>
-#endif
+#include <yaz/nmem_xml.h>
 
 char *nmem_strdup (NMEM mem, const char *src)
 {
@@ -73,7 +70,7 @@ void nmem_strsplit(NMEM nmem, const char *delim, const char *dstr,
     else
     {
         size_t i = 0;
-        *darray = nmem_malloc(nmem, *num * sizeof(**darray));
+        *darray = (char **) nmem_malloc(nmem, *num * sizeof(**darray));
         for (cp = dstr; *cp; )
         {
             const char *cp0;
@@ -90,18 +87,18 @@ void nmem_strsplit(NMEM nmem, const char *delim, const char *dstr,
 }
 
 #if YAZ_HAVE_XML2
-char *nmem_text_node_cdata(const void *ptr_cdata, NMEM nmem)
+char *nmem_text_node_cdata(const xmlNode *ptr_cdata, NMEM nmem)
 {
     char *cdata;
     int len = 0;
     const xmlNode *ptr;
 
-    for (ptr = (const xmlNode *) ptr_cdata; ptr; ptr = ptr->next)
+    for (ptr = ptr_cdata; ptr; ptr = ptr->next)
         if (ptr->type == XML_TEXT_NODE)
             len += xmlStrlen(ptr->content);
     cdata = (char *) nmem_malloc(nmem, len+1);
     *cdata = '\0';
-    for (ptr = (const xmlNode *) ptr_cdata; ptr; ptr = ptr->next)
+    for (ptr = ptr_cdata; ptr; ptr = ptr->next)
         if (ptr->type == XML_TEXT_NODE)
             strcat(cdata, (const char *) ptr->content);
     return cdata;