applied patch from Bjorn Reese, plus some cleanups fixed the stylesheet to

* xmlmodule.c include/libxml/xmlmodule.h: applied patch from
  Bjorn Reese, plus some cleanups
* elfgcchack.h doc/elfgcchack.xsl: fixed the stylesheet to
  add the new header
* doc/* testapi.c: regenerated the API
Daniel
diff --git a/testapi.c b/testapi.c
index 6291b45..e7a34f2 100644
--- a/testapi.c
+++ b/testapi.c
@@ -28275,23 +28275,28 @@
 
 #if defined(LIBXML_MODULES_ENABLED)
     int mem_base;
-    void * ret_val;
+    int ret_val;
     xmlModulePtr module; /* the module */
     int n_module;
     char * name; /* the name of the symbol */
     int n_name;
+    void ** symbol; /* the resulting symbol address */
+    int n_symbol;
 
     for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
+    for (n_symbol = 0;n_symbol < gen_nb_void_ptr_ptr;n_symbol++) {
         mem_base = xmlMemBlocks();
         module = gen_xmlModulePtr(n_module, 0);
         name = gen_const_char_ptr(n_name, 1);
+        symbol = gen_void_ptr_ptr(n_symbol, 2);
 
-        ret_val = xmlModuleSymbol(module, (const char *)name);
-        desret_void_ptr(ret_val);
+        ret_val = xmlModuleSymbol(module, (const char *)name, symbol);
+        desret_int(ret_val);
         call_tests++;
         des_xmlModulePtr(n_module, module, 0);
         des_const_char_ptr(n_name, (const char *)name, 1);
+        des_void_ptr_ptr(n_symbol, symbol, 2);
         xmlResetLastError();
         if (mem_base != xmlMemBlocks()) {
             printf("Leak of %d blocks found in xmlModuleSymbol",
@@ -28299,10 +28304,12 @@
 	    test_ret++;
             printf(" %d", n_module);
             printf(" %d", n_name);
+            printf(" %d", n_symbol);
             printf("\n");
         }
     }
     }
+    }
     function_tests++;
 #endif