diff --git a/ChangeLog b/ChangeLog
index 73746cd..39717de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Aug 28 12:32:59 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
+
+	* parser.c parserInternals.c DOCBparser.c HTMLparser.c: added
+	  few casts to shut the compiler warnings
+
 Thu Aug 28 12:23:51 CEST 2003 Igor Zlatkovic <igor@zlatkovic.com>
 
 	* win32/Makefile.* win32/configure.js: fixed for mingw
diff --git a/DOCBparser.c b/DOCBparser.c
index 507a4c2..33bca6f 100644
--- a/DOCBparser.c
+++ b/DOCBparser.c
@@ -118,7 +118,7 @@
     if (ctxt->nameNr >= ctxt->nameMax) {
         ctxt->nameMax *= 2;
         ctxt->nameTab = (const xmlChar * *)
-                         xmlRealloc(ctxt->nameTab,
+                         xmlRealloc((xmlChar * *)ctxt->nameTab,
                                     ctxt->nameMax *
                                     sizeof(ctxt->nameTab[0]));
         if (ctxt->nameTab == NULL) {
diff --git a/HTMLparser.c b/HTMLparser.c
index bc30557..7c40474 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -78,7 +78,7 @@
     if (ctxt->nameNr >= ctxt->nameMax) {
         ctxt->nameMax *= 2;
         ctxt->nameTab = (const xmlChar * *)
-                         xmlRealloc(ctxt->nameTab,
+                         xmlRealloc((xmlChar * *)ctxt->nameTab,
                                     ctxt->nameMax *
                                     sizeof(ctxt->nameTab[0]));
         if (ctxt->nameTab == NULL) {
diff --git a/parser.c b/parser.c
index 814ceea..8c75a35 100644
--- a/parser.c
+++ b/parser.c
@@ -254,7 +254,7 @@
     if (ctxt->nameNr >= ctxt->nameMax) {
         ctxt->nameMax *= 2;
         ctxt->nameTab = (const xmlChar * *)
-	                 xmlRealloc(ctxt->nameTab,
+	                 xmlRealloc((xmlChar * *)ctxt->nameTab,
                                     ctxt->nameMax *
                                     sizeof(ctxt->nameTab[0]));
         if (ctxt->nameTab == NULL) {
diff --git a/parserInternals.c b/parserInternals.c
index ea0a5d0..27e865f 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -2360,7 +2360,7 @@
         xmlFreeInputStream(input);
     }
     if (ctxt->spaceTab != NULL) xmlFree(ctxt->spaceTab);
-    if (ctxt->nameTab != NULL) xmlFree(ctxt->nameTab);
+    if (ctxt->nameTab != NULL) xmlFree((xmlChar * *)ctxt->nameTab);
     if (ctxt->nodeTab != NULL) xmlFree(ctxt->nodeTab);
     if (ctxt->inputTab != NULL) xmlFree(ctxt->inputTab);
     if (ctxt->version != NULL) xmlFree((char *) ctxt->version);
@@ -2371,7 +2371,7 @@
         xmlFree(ctxt->sax);
     if (ctxt->directory != NULL) xmlFree((char *) ctxt->directory);
     if (ctxt->vctxt.nodeTab != NULL) xmlFree(ctxt->vctxt.nodeTab);
-    if (ctxt->atts != NULL) xmlFree(ctxt->atts);
+    if (ctxt->atts != NULL) xmlFree((xmlChar * *)ctxt->atts);
     if (ctxt->dict != NULL) xmlDictFree(ctxt->dict);
 #ifdef LIBXML_CATALOG_ENABLED
     if (ctxt->catalogs != NULL)
