changing the way the .c is generated, extending the tests coverage fixing

* gentest.py testapi.c: changing the way the .c is generated,
  extending the tests coverage
* include/libxml/nanoftp.h nanoftp.c elfgcchack.h doc/*: fixing some
  function signatures, regenerating stuff
* SAX2.c parser.c xmlIO.c: another set of bug fixes and API hardening
Daniel
diff --git a/xmlIO.c b/xmlIO.c
index a0701e2..2c73f61 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -551,12 +551,12 @@
 int
 xmlCheckFilename (const char *path)
 {
-    if (path == NULL)
-        return(0);
-
 #ifdef HAVE_STAT
     struct stat stat_buffer;
 
+    if (path == NULL)
+        return(0);
+
     if (stat(path, &stat_buffer) == -1)
         return 0;
 
@@ -566,6 +566,9 @@
     }
 #endif
 #endif
+    if (path == NULL)
+        return(0);
+
     return 1;
 }