Huge cleanup, I switched to compile with
-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit
-Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat
-Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow
-Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return
-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline
- HTMLparser.[ch] HTMLtree.c SAX.c debugXML.c encoding.[ch]
  encoding.h entities.c error.c list.[ch] nanoftp.c
  nanohttp.c parser.[ch] parserInternals.[ch] testHTML.c
  testSAX.c testURI.c testXPath.c tree.[ch] uri.c
  valid.[ch] xinclude.c xmlIO.[ch] xmllint.c xmlmemory.c
  xpath.c xpathInternals.h xpointer.[ch] example/gjobread.c:
  Cleanup, staticfied a number of non-exported functions,
  detected and cleaned up a dozen of problem found this way,
  avoided a lot of public function name/typedef/system names clashes
- doc/xml.html: updated
- configure.in: switched private flags to the really pedantic ones.
Daniel
diff --git a/error.c b/error.c
index 25066ea..cf1c1a5 100644
--- a/error.c
+++ b/error.c
@@ -18,6 +18,11 @@
 #include <libxml/xmlerror.h>
 #include <libxml/xmlmemory.h>
 
+#ifdef __GNUC__
+#define UNUSED __attribute__((__unused__))
+#else
+#define UNUSED
+#endif
 /************************************************************************
  * 									*
  * 			Handling of out of context errors		*
@@ -32,8 +37,8 @@
  * 
  * Default handler for out of context error messages.
  */
-void
-xmlGenericErrorDefaultFunc(void *ctx, const char *msg, ...) {
+static void
+xmlGenericErrorDefaultFunc(void *ctx UNUSED, const char *msg, ...) {
     va_list args;
 
     if (xmlGenericErrorContext == NULL)
@@ -146,7 +151,7 @@
  * Get an arbitrary-sized string for an error argument
  * The caller must free() the returned string
  */
-char *
+static char *
 xmlGetVarStr(const char * msg, va_list args) {
     int       size;
     int       length;