Home | History | Annotate | Download | only in src
      1 /*
      2  * testapi.c: libxml2 API tester program.
      3  *
      4  * Automatically generated by gentest.py from libxml2-api.xml
      5  *
      6  * See Copyright for the status of this software.
      7  *
      8  * daniel (at) veillard.com
      9  */
     10 
     11 #ifdef HAVE_CONFIG_H
     12 #include "libxml.h"
     13 #else
     14 #include <stdio.h>
     15 #endif
     16 
     17 #include <stdlib.h> /* for putenv() */
     18 #include <string.h>
     19 #include <libxml/xmlerror.h>
     20 #include <libxml/relaxng.h>
     21 
     22 #if defined(_WIN32) && !defined(__CYGWIN__)
     23 #define snprintf _snprintf
     24 #endif
     25 
     26 static int testlibxml2(void);
     27 static int test_module(const char *module);
     28 
     29 static int generic_errors = 0;
     30 static int call_tests = 0;
     31 static int function_tests = 0;
     32 
     33 static xmlChar chartab[1024];
     34 static int inttab[1024];
     35 static unsigned long longtab[1024];
     36 
     37 static xmlDocPtr api_doc = NULL;
     38 static xmlDtdPtr api_dtd = NULL;
     39 static xmlNodePtr api_root = NULL;
     40 static xmlAttrPtr api_attr = NULL;
     41 static xmlNsPtr api_ns = NULL;
     42 
     43 static void
     44 structured_errors(void *userData ATTRIBUTE_UNUSED,
     45                   xmlErrorPtr error ATTRIBUTE_UNUSED) {
     46     generic_errors++;
     47 }
     48 
     49 static void
     50 free_api_doc(void) {
     51     xmlFreeDoc(api_doc);
     52     api_doc = NULL;
     53     api_dtd = NULL;
     54     api_root = NULL;
     55     api_attr = NULL;
     56     api_ns = NULL;
     57 }
     58 
     59 static xmlDocPtr
     60 get_api_doc(void) {
     61     if (api_doc == NULL) {
     62         api_doc = xmlReadMemory("<!DOCTYPE root [<!ELEMENT root EMPTY>]><root xmlns:h='http://example.com/' h:foo='bar'/>", 88, "root_test", NULL, 0);
     63 	api_root = NULL;
     64 	api_attr = NULL;
     65     }
     66     return(api_doc);
     67 }
     68 
     69 static xmlDtdPtr
     70 get_api_dtd(void) {
     71     if ((api_dtd == NULL) || (api_dtd->type != XML_DTD_NODE)) {
     72         get_api_doc();
     73 	if ((api_doc != NULL) && (api_doc->children != NULL) &&
     74 	    (api_doc->children->type == XML_DTD_NODE))
     75 	    api_dtd = (xmlDtdPtr) api_doc->children;
     76     }
     77     return(api_dtd);
     78 }
     79 
     80 static xmlNodePtr
     81 get_api_root(void) {
     82     if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
     83         get_api_doc();
     84 	if ((api_doc != NULL) && (api_doc->children != NULL) &&
     85 	    (api_doc->children->next != NULL) &&
     86 	    (api_doc->children->next->type == XML_ELEMENT_NODE))
     87 	    api_root = api_doc->children->next;
     88     }
     89     return(api_root);
     90 }
     91 
     92 static xmlNsPtr
     93 get_api_ns(void) {
     94     get_api_root();
     95     if (api_root != NULL)
     96         api_ns = api_root->nsDef;
     97     return(api_ns);
     98 }
     99 
    100 static xmlAttrPtr
    101 get_api_attr(void) {
    102 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
    103     static int nr = 0;
    104     xmlChar name[20];
    105 #endif
    106 
    107     if ((api_root == NULL) || (api_root->type != XML_ELEMENT_NODE)) {
    108         get_api_root();
    109     }
    110     if (api_root == NULL)
    111         return(NULL);
    112     if (api_root->properties != NULL) {
    113         api_attr = api_root->properties;
    114         return(api_root->properties);
    115     }
    116     api_attr = NULL;
    117 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
    118     snprintf((char *) name, 20, "foo%d", nr++);
    119     api_attr = xmlSetProp(api_root, name, (const xmlChar *) "bar");
    120 #endif
    121     return(api_attr);
    122 }
    123 
    124 static int quiet = 0;
    125 
    126 int main(int argc, char **argv) {
    127     int ret;
    128     int blocks, mem;
    129 
    130     /* access to the proxy can slow up regression tests a lot */
    131     putenv((char *) "http_proxy=");
    132 
    133     memset(chartab, 0, sizeof(chartab));
    134     strncpy((char *) chartab, "  chartab\n", 20);
    135     memset(inttab, 0, sizeof(inttab));
    136     memset(longtab, 0, sizeof(longtab));
    137 
    138     xmlInitParser();
    139 #ifdef LIBXML_SCHEMAS_ENABLED
    140     xmlRelaxNGInitTypes();
    141 #endif
    142 
    143     LIBXML_TEST_VERSION
    144 
    145     xmlSetStructuredErrorFunc(NULL, structured_errors);
    146 
    147     if (argc >= 2) {
    148         if (!strcmp(argv[1], "-q")) {
    149 	    quiet = 1;
    150 	    if (argc >= 3)
    151 	        ret = test_module(argv[2]);
    152 	    else
    153 		ret = testlibxml2();
    154         } else {
    155 	   ret = test_module(argv[1]);
    156 	}
    157     } else
    158 	ret = testlibxml2();
    159 
    160     xmlCleanupParser();
    161     blocks = xmlMemBlocks();
    162     mem = xmlMemUsed();
    163     if ((blocks != 0) || (mem != 0)) {
    164         printf("testapi leaked %d bytes in %d blocks\n", mem, blocks);
    165     }
    166     xmlMemoryDump();
    167 
    168     return (ret != 0);
    169 }
    170 
    171 #include <libxml/HTMLparser.h>
    172 #include <libxml/HTMLtree.h>
    173 #include <libxml/catalog.h>
    174 #include <libxml/chvalid.h>
    175 #include <libxml/dict.h>
    176 #include <libxml/encoding.h>
    177 #include <libxml/entities.h>
    178 #include <libxml/hash.h>
    179 #include <libxml/list.h>
    180 #include <libxml/nanoftp.h>
    181 #include <libxml/nanohttp.h>
    182 #include <libxml/parser.h>
    183 #include <libxml/parserInternals.h>
    184 #include <libxml/pattern.h>
    185 #include <libxml/relaxng.h>
    186 #include <libxml/schemasInternals.h>
    187 #include <libxml/schematron.h>
    188 #include <libxml/tree.h>
    189 #include <libxml/uri.h>
    190 #include <libxml/valid.h>
    191 #include <libxml/xinclude.h>
    192 #include <libxml/xmlIO.h>
    193 #include <libxml/xmlerror.h>
    194 #include <libxml/xmlreader.h>
    195 #include <libxml/xmlsave.h>
    196 #include <libxml/xmlschemas.h>
    197 #include <libxml/xmlschemastypes.h>
    198 #include <libxml/xmlstring.h>
    199 #include <libxml/xmlwriter.h>
    200 #include <libxml/xpath.h>
    201 #include <libxml/xpointer.h>
    202 #include <libxml/debugXML.h>
    203 
    204 /*
    205   We manually define xmlErrMemory because it's normal declaration
    206   is "hidden" by #ifdef IN_LIBXML
    207 */
    208 void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra);
    209 
    210 /*
    211  We need some "remote" addresses, but want to avoid getting into
    212  name resolution delays, so we use these
    213 */
    214 #define	REMOTE1GOOD	"http://localhost/"
    215 #define	REMOTE1BAD	"http:http://http"
    216 #define	REMOTE2GOOD	"ftp://localhost/foo"
    217 
    218 #define gen_nb_void_ptr 2
    219 
    220 static void *gen_void_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    221     return(NULL);
    222 }
    223 static void des_void_ptr(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    224 }
    225 
    226 #if 0
    227 #define gen_nb_const_void_ptr 2
    228 
    229 static const void *gen_const_void_ptr(int no, int nr ATTRIBUTE_UNUSED) {
    230     if (no == 0) return((const void *) "immutable string");
    231     return(NULL);
    232 }
    233 static void des_const_void_ptr(int no ATTRIBUTE_UNUSED, const void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    234 }
    235 #endif
    236 
    237 #define gen_nb_userdata 3
    238 
    239 static void *gen_userdata(int no, int nr ATTRIBUTE_UNUSED) {
    240     if (no == 0) return((void *) &call_tests);
    241     if (no == 1) return((void *) -1);
    242     return(NULL);
    243 }
    244 static void des_userdata(int no ATTRIBUTE_UNUSED, void *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    245 }
    246 
    247 
    248 #define gen_nb_int 4
    249 
    250 static int gen_int(int no, int nr ATTRIBUTE_UNUSED) {
    251     if (no == 0) return(0);
    252     if (no == 1) return(1);
    253     if (no == 2) return(-1);
    254     if (no == 3) return(122);
    255     return(-1);
    256 }
    257 
    258 static void des_int(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    259 }
    260 
    261 #define gen_nb_parseroptions 5
    262 
    263 static int gen_parseroptions(int no, int nr ATTRIBUTE_UNUSED) {
    264     if (no == 0) return(XML_PARSE_NOBLANKS | XML_PARSE_RECOVER);
    265     if (no == 1) return(XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_DTDVALID | XML_PARSE_NOCDATA);
    266     if (no == 2) return(XML_PARSE_XINCLUDE | XML_PARSE_NOXINCNODE | XML_PARSE_NSCLEAN);
    267     if (no == 3) return(XML_PARSE_XINCLUDE | XML_PARSE_NODICT);
    268     return(XML_PARSE_SAX1);
    269 }
    270 
    271 static void des_parseroptions(int no ATTRIBUTE_UNUSED, int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    272 }
    273 
    274 #if 0
    275 #define gen_nb_long 5
    276 
    277 static long gen_long(int no, int nr ATTRIBUTE_UNUSED) {
    278     if (no == 0) return(0);
    279     if (no == 1) return(1);
    280     if (no == 2) return(-1);
    281     if (no == 3) return(122);
    282     return(-1);
    283 }
    284 
    285 static void des_long(int no ATTRIBUTE_UNUSED, long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    286 }
    287 #endif
    288 
    289 #define gen_nb_xmlChar 4
    290 
    291 static xmlChar gen_xmlChar(int no, int nr ATTRIBUTE_UNUSED) {
    292     if (no == 0) return('a');
    293     if (no == 1) return(' ');
    294     if (no == 2) return((xmlChar) '');
    295     return(0);
    296 }
    297 
    298 static void des_xmlChar(int no ATTRIBUTE_UNUSED, xmlChar val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    299 }
    300 
    301 #define gen_nb_unsigned_int 3
    302 
    303 static unsigned int gen_unsigned_int(int no, int nr ATTRIBUTE_UNUSED) {
    304     if (no == 0) return(0);
    305     if (no == 1) return(1);
    306     if (no == 2) return(122);
    307     return((unsigned int) -1);
    308 }
    309 
    310 static void des_unsigned_int(int no ATTRIBUTE_UNUSED, unsigned int val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    311 }
    312 
    313 #define gen_nb_unsigned_long 4
    314 
    315 static unsigned long gen_unsigned_long(int no, int nr ATTRIBUTE_UNUSED) {
    316     if (no == 0) return(0);
    317     if (no == 1) return(1);
    318     if (no == 2) return(122);
    319     return((unsigned long) -1);
    320 }
    321 
    322 static void des_unsigned_long(int no ATTRIBUTE_UNUSED, unsigned long val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    323 }
    324 
    325 #define gen_nb_double 4
    326 
    327 static double gen_double(int no, int nr ATTRIBUTE_UNUSED) {
    328     if (no == 0) return(0);
    329     if (no == 1) return(-1.1);
    330 #if defined(LIBXML_XPATH_ENABLED)
    331     if (no == 2) return(xmlXPathNAN);
    332 #endif
    333     return(-1);
    334 }
    335 
    336 static void des_double(int no ATTRIBUTE_UNUSED, double val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    337 }
    338 
    339 #define gen_nb_unsigned_long_ptr 2
    340 
    341 static unsigned long *gen_unsigned_long_ptr(int no, int nr) {
    342     if (no == 0) return(&longtab[nr]);
    343     return(NULL);
    344 }
    345 
    346 static void des_unsigned_long_ptr(int no ATTRIBUTE_UNUSED, unsigned long *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    347 }
    348 
    349 #define gen_nb_int_ptr 2
    350 
    351 static int *gen_int_ptr(int no, int nr) {
    352     if (no == 0) return(&inttab[nr]);
    353     return(NULL);
    354 }
    355 
    356 static void des_int_ptr(int no ATTRIBUTE_UNUSED, int *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    357 }
    358 
    359 #define gen_nb_const_char_ptr 4
    360 
    361 static char *gen_const_char_ptr(int no, int nr ATTRIBUTE_UNUSED) {
    362     if (no == 0) return((char *) "foo");
    363     if (no == 1) return((char *) "<foo/>");
    364     if (no == 2) return((char *) "test/ent2");
    365     return(NULL);
    366 }
    367 static void des_const_char_ptr(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    368 }
    369 
    370 #define gen_nb_xmlChar_ptr 2
    371 
    372 static xmlChar *gen_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
    373     if (no == 0) return(&chartab[0]);
    374     return(NULL);
    375 }
    376 static void des_xmlChar_ptr(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    377 }
    378 
    379 #define gen_nb_FILE_ptr 2
    380 
    381 static FILE *gen_FILE_ptr(int no, int nr ATTRIBUTE_UNUSED) {
    382     if (no == 0) return(fopen("test.out", "a+"));
    383     return(NULL);
    384 }
    385 static void des_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
    386     if (val != NULL) fclose(val);
    387 }
    388 
    389 #define gen_nb_debug_FILE_ptr 2
    390 static FILE *gen_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    391     return(fopen("test.out", "a+"));
    392 }
    393 static void des_debug_FILE_ptr(int no ATTRIBUTE_UNUSED, FILE *val, int nr ATTRIBUTE_UNUSED) {
    394     if (val != NULL) fclose(val);
    395 }
    396 
    397 #define gen_nb_const_xmlChar_ptr 5
    398 
    399 static xmlChar *gen_const_xmlChar_ptr(int no, int nr ATTRIBUTE_UNUSED) {
    400     if (no == 0) return((xmlChar *) "foo");
    401     if (no == 1) return((xmlChar *) "<foo/>");
    402     if (no == 2) return((xmlChar *) "nne");
    403     if (no == 3) return((xmlChar *) " 2ab ");
    404     return(NULL);
    405 }
    406 static void des_const_xmlChar_ptr(int no ATTRIBUTE_UNUSED, const xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    407 }
    408 
    409 #define gen_nb_filepath 8
    410 
    411 static const char *gen_filepath(int no, int nr ATTRIBUTE_UNUSED) {
    412     if (no == 0) return("missing.xml");
    413     if (no == 1) return("<foo/>");
    414     if (no == 2) return("test/ent2");
    415     if (no == 3) return("test/valid/REC-xml-19980210.xml");
    416     if (no == 4) return("test/valid/dtds/xhtml1-strict.dtd");
    417     if (no == 5) return(REMOTE1GOOD);
    418     if (no == 6) return(REMOTE1BAD);
    419     return(NULL);
    420 }
    421 static void des_filepath(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    422 }
    423 
    424 #define gen_nb_eaten_name 2
    425 
    426 static xmlChar *gen_eaten_name(int no, int nr ATTRIBUTE_UNUSED) {
    427     if (no == 0) return(xmlStrdup(BAD_CAST "eaten"));
    428     return(NULL);
    429 }
    430 static void des_eaten_name(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    431 }
    432 
    433 #define gen_nb_fileoutput 6
    434 
    435 static const char *gen_fileoutput(int no, int nr ATTRIBUTE_UNUSED) {
    436     if (no == 0) return("/missing.xml");
    437     if (no == 1) return("<foo/>");
    438     if (no == 2) return(REMOTE2GOOD);
    439     if (no == 3) return(REMOTE1GOOD);
    440     if (no == 4) return(REMOTE1BAD);
    441     return(NULL);
    442 }
    443 static void des_fileoutput(int no ATTRIBUTE_UNUSED, const char *val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    444 }
    445 
    446 #define gen_nb_xmlParserCtxtPtr 3
    447 static xmlParserCtxtPtr gen_xmlParserCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
    448     if (no == 0) return(xmlNewParserCtxt());
    449     if (no == 1) return(xmlCreateMemoryParserCtxt("<doc/>", 6));
    450     return(NULL);
    451 }
    452 static void des_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlParserCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
    453     if (val != NULL)
    454         xmlFreeParserCtxt(val);
    455 }
    456 
    457 #define gen_nb_xmlSAXHandlerPtr 2
    458 static xmlSAXHandlerPtr gen_xmlSAXHandlerPtr(int no, int nr ATTRIBUTE_UNUSED) {
    459 #ifdef LIBXML_SAX1_ENABLED
    460     if (no == 0) return((xmlSAXHandlerPtr) &xmlDefaultSAXHandler);
    461 #endif
    462     return(NULL);
    463 }
    464 static void des_xmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    465 }
    466 
    467 #define gen_nb_xmlValidCtxtPtr 2
    468 static xmlValidCtxtPtr gen_xmlValidCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
    469 #ifdef LIBXML_VALID_ENABLED
    470     if (no == 0) return(xmlNewValidCtxt());
    471 #endif
    472     return(NULL);
    473 }
    474 static void des_xmlValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlValidCtxtPtr val, int nr ATTRIBUTE_UNUSED) {
    475 #ifdef LIBXML_VALID_ENABLED
    476     if (val != NULL)
    477         xmlFreeValidCtxt(val);
    478 #endif
    479 }
    480 
    481 #define gen_nb_xmlParserInputBufferPtr 8
    482 
    483 static xmlParserInputBufferPtr gen_xmlParserInputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
    484     if (no == 0) return(xmlParserInputBufferCreateFilename("missing.xml", XML_CHAR_ENCODING_NONE));
    485     if (no == 1) return(xmlParserInputBufferCreateFilename("<foo/>", XML_CHAR_ENCODING_NONE));
    486     if (no == 2) return(xmlParserInputBufferCreateFilename("test/ent2", XML_CHAR_ENCODING_NONE));
    487     if (no == 3) return(xmlParserInputBufferCreateFilename("test/valid/REC-xml-19980210.xml", XML_CHAR_ENCODING_NONE));
    488     if (no == 4) return(xmlParserInputBufferCreateFilename("test/valid/dtds/xhtml1-strict.dtd", XML_CHAR_ENCODING_NONE));
    489     if (no == 5) return(xmlParserInputBufferCreateFilename(REMOTE1GOOD, XML_CHAR_ENCODING_NONE));
    490     if (no == 6) return(xmlParserInputBufferCreateFilename(REMOTE1BAD, XML_CHAR_ENCODING_NONE));
    491     return(NULL);
    492 }
    493 static void des_xmlParserInputBufferPtr(int no ATTRIBUTE_UNUSED, xmlParserInputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
    494     xmlFreeParserInputBuffer(val);
    495 }
    496 
    497 #define gen_nb_xmlDocPtr 4
    498 static xmlDocPtr gen_xmlDocPtr(int no, int nr ATTRIBUTE_UNUSED) {
    499     if (no == 0) return(xmlNewDoc(BAD_CAST "1.0"));
    500     if (no == 1) return(xmlReadMemory("<foo/>", 6, "test", NULL, 0));
    501     if (no == 2) return(xmlReadMemory("<!DOCTYPE foo []> <foo/>", 24, "test", NULL, 0));
    502     return(NULL);
    503 }
    504 static void des_xmlDocPtr(int no ATTRIBUTE_UNUSED, xmlDocPtr val, int nr ATTRIBUTE_UNUSED) {
    505     if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
    506         xmlFreeDoc(val);
    507 }
    508 
    509 #define gen_nb_xmlAttrPtr 2
    510 static xmlAttrPtr gen_xmlAttrPtr(int no, int nr ATTRIBUTE_UNUSED) {
    511     if (no == 0) return(get_api_attr());
    512     return(NULL);
    513 }
    514 static void des_xmlAttrPtr(int no, xmlAttrPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    515     if (no == 0) free_api_doc();
    516 }
    517 
    518 #define gen_nb_xmlDictPtr 2
    519 static xmlDictPtr gen_xmlDictPtr(int no, int nr ATTRIBUTE_UNUSED) {
    520     if (no == 0) return(xmlDictCreate());
    521     return(NULL);
    522 }
    523 static void des_xmlDictPtr(int no ATTRIBUTE_UNUSED, xmlDictPtr val, int nr ATTRIBUTE_UNUSED) {
    524     if (val != NULL)
    525         xmlDictFree(val);
    526 }
    527 
    528 #define gen_nb_xmlNodePtr 3
    529 static xmlNodePtr gen_xmlNodePtr(int no, int nr ATTRIBUTE_UNUSED) {
    530     if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
    531     if (no == 1) return(get_api_root());
    532     return(NULL);
    533 /*     if (no == 2) return((xmlNodePtr) get_api_doc()); */
    534 }
    535 static void des_xmlNodePtr(int no, xmlNodePtr val, int nr ATTRIBUTE_UNUSED) {
    536     if (no == 1) {
    537         free_api_doc();
    538     } else if (val != NULL) {
    539         xmlUnlinkNode(val);
    540         xmlFreeNode(val);
    541     }
    542 }
    543 
    544 #define gen_nb_xmlDtdPtr 3
    545 static xmlDtdPtr gen_xmlDtdPtr(int no, int nr ATTRIBUTE_UNUSED) {
    546     if (no == 0)
    547         return(xmlNewDtd(NULL, BAD_CAST "dtd", BAD_CAST"foo", BAD_CAST"bar"));
    548     if (no == 1) return(get_api_dtd());
    549     return(NULL);
    550 }
    551 static void des_xmlDtdPtr(int no, xmlDtdPtr val, int nr ATTRIBUTE_UNUSED) {
    552     if (no == 1) free_api_doc();
    553     else if (val != NULL) {
    554         xmlUnlinkNode((xmlNodePtr) val);
    555         xmlFreeNode((xmlNodePtr) val);
    556     }
    557 }
    558 
    559 #define gen_nb_xmlNsPtr 2
    560 static xmlNsPtr gen_xmlNsPtr(int no, int nr ATTRIBUTE_UNUSED) {
    561     if (no == 0) return(get_api_ns());
    562     return(NULL);
    563 }
    564 static void des_xmlNsPtr(int no, xmlNsPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    565     if (no == 0) free_api_doc();
    566 }
    567 
    568 #define gen_nb_xmlNodePtr_in 3
    569 static xmlNodePtr gen_xmlNodePtr_in(int no, int nr ATTRIBUTE_UNUSED) {
    570     if (no == 0) return(xmlNewPI(BAD_CAST "test", NULL));
    571     if (no == 0) return(xmlNewText(BAD_CAST "text"));
    572     return(NULL);
    573 }
    574 static void des_xmlNodePtr_in(int no ATTRIBUTE_UNUSED, xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    575 }
    576 
    577 #ifdef LIBXML_WRITER_ENABLED
    578 #define gen_nb_xmlTextWriterPtr 2
    579 static xmlTextWriterPtr gen_xmlTextWriterPtr(int no, int nr ATTRIBUTE_UNUSED) {
    580     if (no == 0) return(xmlNewTextWriterFilename("test.out", 0));
    581     return(NULL);
    582 }
    583 static void des_xmlTextWriterPtr(int no ATTRIBUTE_UNUSED, xmlTextWriterPtr val, int nr ATTRIBUTE_UNUSED) {
    584     if (val != NULL) xmlFreeTextWriter(val);
    585 }
    586 #endif
    587 
    588 #ifdef LIBXML_READER_ENABLED
    589 #define gen_nb_xmlTextReaderPtr 4
    590 static xmlTextReaderPtr gen_xmlTextReaderPtr(int no, int nr ATTRIBUTE_UNUSED) {
    591     if (no == 0) return(xmlNewTextReaderFilename("test/ent2"));
    592     if (no == 1) return(xmlNewTextReaderFilename("test/valid/REC-xml-19980210.xml"));
    593     if (no == 2) return(xmlNewTextReaderFilename("test/valid/dtds/xhtml1-strict.dtd"));
    594     return(NULL);
    595 }
    596 static void des_xmlTextReaderPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderPtr val, int nr ATTRIBUTE_UNUSED) {
    597     if (val != NULL) xmlFreeTextReader(val);
    598 }
    599 #endif
    600 
    601 #define gen_nb_xmlBufferPtr 3
    602 static const char *static_buf_content = "a static buffer";
    603 static xmlBufferPtr gen_xmlBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
    604     if (no == 0) return(xmlBufferCreate());
    605     if (no == 1) return(xmlBufferCreateStatic((void *)static_buf_content, 13));
    606     return(NULL);
    607 }
    608 static void des_xmlBufferPtr(int no ATTRIBUTE_UNUSED, xmlBufferPtr val, int nr ATTRIBUTE_UNUSED) {
    609     if (val != NULL) {
    610         xmlBufferFree(val);
    611     }
    612 }
    613 
    614 #define gen_nb_xmlListPtr 2
    615 static xmlListPtr gen_xmlListPtr(int no, int nr ATTRIBUTE_UNUSED) {
    616     if (no == 0) return(xmlListCreate(NULL, NULL));
    617     return(NULL);
    618 }
    619 static void des_xmlListPtr(int no ATTRIBUTE_UNUSED, xmlListPtr val, int nr ATTRIBUTE_UNUSED) {
    620     if (val != NULL) {
    621         xmlListDelete(val);
    622     }
    623 }
    624 
    625 #define gen_nb_xmlHashTablePtr 2
    626 static xmlHashTablePtr gen_xmlHashTablePtr(int no, int nr ATTRIBUTE_UNUSED) {
    627     if (no == 0) return(xmlHashCreate(10));
    628     return(NULL);
    629 }
    630 static void des_xmlHashTablePtr(int no ATTRIBUTE_UNUSED, xmlHashTablePtr val, int nr ATTRIBUTE_UNUSED) {
    631     if (val != NULL) {
    632         xmlHashFree(val, NULL);
    633     }
    634 }
    635 
    636 #include <libxml/xpathInternals.h>
    637 
    638 #ifdef LIBXML_XPATH_ENABLED
    639 #define gen_nb_xmlXPathObjectPtr 5
    640 static xmlXPathObjectPtr gen_xmlXPathObjectPtr(int no, int nr ATTRIBUTE_UNUSED) {
    641     if (no == 0) return(xmlXPathNewString(BAD_CAST "string object"));
    642     if (no == 1) return(xmlXPathNewFloat(1.1));
    643     if (no == 2) return(xmlXPathNewBoolean(1));
    644     if (no == 3) return(xmlXPathNewNodeSet(NULL));
    645     return(NULL);
    646 }
    647 static void des_xmlXPathObjectPtr(int no ATTRIBUTE_UNUSED, xmlXPathObjectPtr val, int nr ATTRIBUTE_UNUSED) {
    648     if (val != NULL) {
    649         xmlXPathFreeObject(val);
    650     }
    651 }
    652 #endif
    653 
    654 #ifdef LIBXML_OUTPUT_ENABLED
    655 #define gen_nb_xmlOutputBufferPtr 2
    656 static xmlOutputBufferPtr gen_xmlOutputBufferPtr(int no, int nr ATTRIBUTE_UNUSED) {
    657     if (no == 0) return(xmlOutputBufferCreateFilename("test.out", NULL, 0));
    658     return(NULL);
    659 }
    660 static void des_xmlOutputBufferPtr(int no ATTRIBUTE_UNUSED, xmlOutputBufferPtr val, int nr ATTRIBUTE_UNUSED) {
    661     if (val != NULL) {
    662         xmlOutputBufferClose(val);
    663     }
    664 }
    665 #endif
    666 
    667 #ifdef LIBXML_FTP_ENABLED
    668 #define gen_nb_xmlNanoFTPCtxtPtr 4
    669 static void *gen_xmlNanoFTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
    670     if (no == 0) return(xmlNanoFTPNewCtxt(REMOTE2GOOD));
    671     if (no == 1) return(xmlNanoFTPNewCtxt(REMOTE1GOOD));
    672     if (no == 2) return(xmlNanoFTPNewCtxt("foo"));
    673     return(NULL);
    674 }
    675 static void des_xmlNanoFTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
    676     if (val != NULL) {
    677         xmlNanoFTPFreeCtxt(val);
    678     }
    679 }
    680 #endif
    681 
    682 #ifdef LIBXML_HTTP_ENABLED
    683 #define gen_nb_xmlNanoHTTPCtxtPtr 1
    684 static void *gen_xmlNanoHTTPCtxtPtr(int no, int nr ATTRIBUTE_UNUSED) {
    685     if (no == 0) return(xmlNanoHTTPOpen(REMOTE1GOOD, NULL));
    686     if (no == 1) return(xmlNanoHTTPOpen(REMOTE2GOOD, NULL));
    687     if (no == 2) return(xmlNanoHTTPOpen(REMOTE1BAD, NULL));
    688     return(NULL);
    689 }
    690 static void des_xmlNanoHTTPCtxtPtr(int no ATTRIBUTE_UNUSED, void *val, int nr ATTRIBUTE_UNUSED) {
    691     if (val != NULL) {
    692 	xmlNanoHTTPClose(val);
    693     }
    694 }
    695 #endif
    696 
    697 #define gen_nb_xmlCharEncoding 4
    698 static xmlCharEncoding gen_xmlCharEncoding(int no, int nr ATTRIBUTE_UNUSED) {
    699     if (no == 0) return(XML_CHAR_ENCODING_UTF8);
    700     if (no == 1) return(XML_CHAR_ENCODING_NONE);
    701     if (no == 2) return(XML_CHAR_ENCODING_8859_1);
    702     return(XML_CHAR_ENCODING_ERROR);
    703 }
    704 static void des_xmlCharEncoding(int no ATTRIBUTE_UNUSED, xmlCharEncoding val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    705 }
    706 
    707 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
    708 
    709 #define gen_nb_xmlExpCtxtPtr 1
    710 static xmlExpCtxtPtr gen_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    711     return(NULL);
    712 }
    713 static void des_xmlExpCtxtPtr(int no ATTRIBUTE_UNUSED, xmlExpCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    714 }
    715 
    716 #define gen_nb_xmlExpNodePtr 1
    717 static xmlExpNodePtr gen_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    718     return(NULL);
    719 }
    720 static void des_xmlExpNodePtr(int no ATTRIBUTE_UNUSED, xmlExpNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    721 }
    722 
    723 #endif
    724 
    725 #if defined(LIBXML_SCHEMAS_ENABLED)
    726 #define gen_nb_xmlSchemaPtr 1
    727 static xmlSchemaPtr gen_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    728     return(NULL);
    729 }
    730 static void des_xmlSchemaPtr(int no ATTRIBUTE_UNUSED, xmlSchemaPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    731 }
    732 
    733 #define gen_nb_xmlSchemaValidCtxtPtr 1
    734 static xmlSchemaValidCtxtPtr gen_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    735     return(NULL);
    736 }
    737 static void des_xmlSchemaValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    738 }
    739 
    740 #endif /* LIBXML_SCHEMAS_ENABLED */
    741 
    742 #define gen_nb_xmlHashDeallocator 2
    743 static void
    744 test_xmlHashDeallocator(void *payload ATTRIBUTE_UNUSED, xmlChar *name ATTRIBUTE_UNUSED) {
    745 }
    746 
    747 static xmlHashDeallocator gen_xmlHashDeallocator(int no, int nr ATTRIBUTE_UNUSED) {
    748     if (no == 0) return(test_xmlHashDeallocator);
    749     return(NULL);
    750 }
    751 static void des_xmlHashDeallocator(int no ATTRIBUTE_UNUSED, xmlHashDeallocator val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    752 }
    753 
    754 
    755 static void desret_int(int val ATTRIBUTE_UNUSED) {
    756 }
    757 static void desret_xmlChar(xmlChar val ATTRIBUTE_UNUSED) {
    758 }
    759 static void desret_long(long val ATTRIBUTE_UNUSED) {
    760 }
    761 static void desret_unsigned_long(unsigned long val ATTRIBUTE_UNUSED) {
    762 }
    763 static void desret_double(double val ATTRIBUTE_UNUSED) {
    764 }
    765 static void desret_xmlCharEncoding(xmlCharEncoding val ATTRIBUTE_UNUSED) {
    766 }
    767 #if 0
    768 static void desret_const_void_ptr(void *val ATTRIBUTE_UNUSED) {
    769 }
    770 #endif
    771 static void desret_void_ptr(void *val ATTRIBUTE_UNUSED) {
    772 }
    773 static void desret_const_char_ptr(const char *val ATTRIBUTE_UNUSED) {
    774 }
    775 static void desret_const_xmlChar_ptr(const xmlChar *val ATTRIBUTE_UNUSED) {
    776 }
    777 static void desret_xmlChar_ptr(xmlChar *val) {
    778     if (val != NULL)
    779 	xmlFree(val);
    780 }
    781 static void desret_xmlDocPtr(xmlDocPtr val) {
    782     if (val != api_doc)
    783 	xmlFreeDoc(val);
    784 }
    785 static void desret_xmlDictPtr(xmlDictPtr val) {
    786     xmlDictFree(val);
    787 }
    788 #ifdef LIBXML_OUTPUT_ENABLED
    789 static void desret_xmlOutputBufferPtr(xmlOutputBufferPtr val) {
    790     xmlOutputBufferClose(val);
    791 }
    792 #endif
    793 #ifdef LIBXML_READER_ENABLED
    794 static void desret_xmlTextReaderPtr(xmlTextReaderPtr val) {
    795     xmlFreeTextReader(val);
    796 }
    797 #endif
    798 static void desret_xmlNodePtr(xmlNodePtr val) {
    799     if ((val != NULL) && (val != api_root) && (val != (xmlNodePtr) api_doc)) {
    800 	xmlUnlinkNode(val);
    801 	xmlFreeNode(val);
    802     }
    803 }
    804 static void desret_xmlAttrPtr(xmlAttrPtr val) {
    805     if (val != NULL) {
    806 	xmlUnlinkNode((xmlNodePtr) val);
    807 	xmlFreeNode((xmlNodePtr) val);
    808     }
    809 }
    810 static void desret_xmlEntityPtr(xmlEntityPtr val) {
    811     if (val != NULL) {
    812 	xmlUnlinkNode((xmlNodePtr) val);
    813 	xmlFreeNode((xmlNodePtr) val);
    814     }
    815 }
    816 static void desret_xmlElementPtr(xmlElementPtr val) {
    817     if (val != NULL) {
    818 	xmlUnlinkNode((xmlNodePtr) val);
    819     }
    820 }
    821 static void desret_xmlAttributePtr(xmlAttributePtr val) {
    822     if (val != NULL) {
    823 	xmlUnlinkNode((xmlNodePtr) val);
    824     }
    825 }
    826 static void desret_xmlNsPtr(xmlNsPtr val ATTRIBUTE_UNUSED) {
    827 }
    828 static void desret_xmlDtdPtr(xmlDtdPtr val) {
    829     desret_xmlNodePtr((xmlNodePtr)val);
    830 }
    831 #ifdef LIBXML_XPATH_ENABLED
    832 static void desret_xmlXPathObjectPtr(xmlXPathObjectPtr val) {
    833     xmlXPathFreeObject(val);
    834 }
    835 static void desret_xmlNodeSetPtr(xmlNodeSetPtr val) {
    836     xmlXPathFreeNodeSet(val);
    837 }
    838 #endif
    839 static void desret_xmlParserCtxtPtr(xmlParserCtxtPtr val) {
    840     xmlFreeParserCtxt(val);
    841 }
    842 static void desret_xmlParserInputBufferPtr(xmlParserInputBufferPtr val) {
    843     xmlFreeParserInputBuffer(val);
    844 }
    845 static void desret_xmlParserInputPtr(xmlParserInputPtr val) {
    846     xmlFreeInputStream(val);
    847 }
    848 #ifdef LIBXML_WRITER_ENABLED
    849 static void desret_xmlTextWriterPtr(xmlTextWriterPtr val) {
    850     xmlFreeTextWriter(val);
    851 }
    852 #endif
    853 static void desret_xmlBufferPtr(xmlBufferPtr val) {
    854     xmlBufferFree(val);
    855 }
    856 #ifdef LIBXML_SCHEMAS_ENABLED
    857 static void desret_xmlSchemaParserCtxtPtr(xmlSchemaParserCtxtPtr val) {
    858     xmlSchemaFreeParserCtxt(val);
    859 }
    860 static void desret_xmlSchemaTypePtr(xmlSchemaTypePtr val ATTRIBUTE_UNUSED) {
    861 }
    862 static void desret_xmlRelaxNGParserCtxtPtr(xmlRelaxNGParserCtxtPtr val) {
    863     xmlRelaxNGFreeParserCtxt(val);
    864 }
    865 #endif
    866 #ifdef LIBXML_HTML_ENABLED
    867 static void desret_const_htmlEntityDesc_ptr(const htmlEntityDesc * val ATTRIBUTE_UNUSED) {
    868 }
    869 #endif
    870 #ifdef LIBXML_HTTP_ENABLED
    871 static void desret_xmlNanoHTTPCtxtPtr(void *val) {
    872     xmlNanoHTTPClose(val);
    873 }
    874 #endif
    875 #ifdef LIBXML_FTP_ENABLED
    876 static void desret_xmlNanoFTPCtxtPtr(void *val) {
    877     xmlNanoFTPClose(val);
    878 }
    879 #endif
    880 /* cut and pasted from autogenerated to avoid troubles */
    881 #define gen_nb_const_xmlChar_ptr_ptr 1
    882 static xmlChar ** gen_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    883     return(NULL);
    884 }
    885 static void des_const_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, const xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    886 }
    887 
    888 #define gen_nb_unsigned_char_ptr 1
    889 static unsigned char * gen_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    890     return(NULL);
    891 }
    892 static void des_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    893 }
    894 
    895 #define gen_nb_const_unsigned_char_ptr 1
    896 static unsigned char * gen_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    897     return(NULL);
    898 }
    899 static void des_const_unsigned_char_ptr(int no ATTRIBUTE_UNUSED, const unsigned char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    900 }
    901 
    902 #ifdef LIBXML_HTML_ENABLED
    903 #define gen_nb_const_htmlNodePtr 1
    904 static htmlNodePtr gen_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    905     return(NULL);
    906 }
    907 static void des_const_htmlNodePtr(int no ATTRIBUTE_UNUSED, const htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    908 }
    909 #endif
    910 
    911 #ifdef LIBXML_HTML_ENABLED
    912 #define gen_nb_htmlDocPtr 3
    913 static htmlDocPtr gen_htmlDocPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    914     if (no == 0) return(htmlNewDoc(NULL, NULL));
    915     if (no == 1) return(htmlReadMemory("<html/>", 7, "test", NULL, 0));
    916     return(NULL);
    917 }
    918 static void des_htmlDocPtr(int no ATTRIBUTE_UNUSED, htmlDocPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    919     if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
    920         xmlFreeDoc(val);
    921 }
    922 static void desret_htmlDocPtr(htmlDocPtr val) {
    923     if ((val != NULL) && (val != api_doc) && (val->doc != api_doc))
    924         xmlFreeDoc(val);
    925 }
    926 #define gen_nb_htmlParserCtxtPtr 3
    927 static htmlParserCtxtPtr gen_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    928     if (no == 0) return(xmlNewParserCtxt());
    929     if (no == 1) return(htmlCreateMemoryParserCtxt("<html/>", 7));
    930     return(NULL);
    931 }
    932 static void des_htmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, htmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    933     if (val != NULL)
    934         htmlFreeParserCtxt(val);
    935 }
    936 static void desret_htmlParserCtxtPtr(htmlParserCtxtPtr val) {
    937     if (val != NULL)
    938         htmlFreeParserCtxt(val);
    939 }
    940 #endif
    941 
    942 #ifdef LIBXML_XPATH_ENABLED
    943 #define gen_nb_xmlNodeSetPtr 1
    944 static xmlNodeSetPtr gen_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    945     return(NULL);
    946 }
    947 static void des_xmlNodeSetPtr(int no ATTRIBUTE_UNUSED, xmlNodeSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    948 }
    949 #endif
    950 
    951 #ifdef LIBXML_DEBUG_ENABLED
    952 #ifdef LIBXML_XPATH_ENABLED
    953 #define gen_nb_xmlShellCtxtPtr 1
    954 static xmlShellCtxtPtr gen_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    955     return(NULL);
    956 }
    957 static void des_xmlShellCtxtPtr(int no ATTRIBUTE_UNUSED, xmlShellCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    958 }
    959 #endif
    960 #endif
    961 
    962 #ifdef LIBXML_PATTERN_ENABLED
    963 #define gen_nb_xmlPatternPtr 1
    964 static xmlPatternPtr gen_xmlPatternPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    965     return(NULL);
    966 }
    967 static void des_xmlPatternPtr(int no ATTRIBUTE_UNUSED, xmlPatternPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    968 }
    969 #endif
    970 
    971 #define gen_nb_xmlElementContentPtr 1
    972 static xmlElementContentPtr gen_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    973     return(NULL);
    974 }
    975 static void des_xmlElementContentPtr(int no ATTRIBUTE_UNUSED, xmlElementContentPtr val, int nr ATTRIBUTE_UNUSED) {
    976     if (val != NULL)
    977         xmlFreeElementContent(val);
    978 }
    979 static void desret_xmlElementContentPtr(xmlElementContentPtr val) {
    980     if (val != NULL)
    981         xmlFreeElementContent(val);
    982 }
    983 
    984 #define gen_nb_xmlParserNodeInfoSeqPtr 1
    985 static xmlParserNodeInfoSeqPtr gen_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    986     return(NULL);
    987 }
    988 static void des_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    989 }
    990 
    991 static void desret_const_xmlParserNodeInfo_ptr(const xmlParserNodeInfo *val ATTRIBUTE_UNUSED) {
    992 }
    993 
    994 #define gen_nb_void_ptr_ptr 1
    995 static void ** gen_void_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    996     return(NULL);
    997 }
    998 static void des_void_ptr_ptr(int no ATTRIBUTE_UNUSED, void ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
    999 }
   1000 
   1001 /************************************************************************
   1002  *									*
   1003  *   WARNING: end of the manually maintained part of the test code	*
   1004  *            do not remove or alter the CUT HERE line			*
   1005  *									*
   1006  ************************************************************************/
   1007 
   1008 /* CUT HERE: everything below that line is generated */
   1009 #ifdef LIBXML_HTML_ENABLED
   1010 static void desret_htmlStatus(htmlStatus val ATTRIBUTE_UNUSED) {
   1011 }
   1012 
   1013 #endif
   1014 
   1015 #define gen_nb_xmlAttributeDefault 4
   1016 static xmlAttributeDefault gen_xmlAttributeDefault(int no, int nr ATTRIBUTE_UNUSED) {
   1017     if (no == 1) return(XML_ATTRIBUTE_FIXED);
   1018     if (no == 2) return(XML_ATTRIBUTE_IMPLIED);
   1019     if (no == 3) return(XML_ATTRIBUTE_NONE);
   1020     if (no == 4) return(XML_ATTRIBUTE_REQUIRED);
   1021     return(0);
   1022 }
   1023 
   1024 static void des_xmlAttributeDefault(int no ATTRIBUTE_UNUSED, xmlAttributeDefault val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1025 }
   1026 
   1027 #define gen_nb_xmlAttributeType 4
   1028 static xmlAttributeType gen_xmlAttributeType(int no, int nr ATTRIBUTE_UNUSED) {
   1029     if (no == 1) return(XML_ATTRIBUTE_CDATA);
   1030     if (no == 2) return(XML_ATTRIBUTE_ENTITIES);
   1031     if (no == 3) return(XML_ATTRIBUTE_ENTITY);
   1032     if (no == 4) return(XML_ATTRIBUTE_ENUMERATION);
   1033     return(0);
   1034 }
   1035 
   1036 static void des_xmlAttributeType(int no ATTRIBUTE_UNUSED, xmlAttributeType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1037 }
   1038 
   1039 #define gen_nb_xmlBufferAllocationScheme 4
   1040 static xmlBufferAllocationScheme gen_xmlBufferAllocationScheme(int no, int nr ATTRIBUTE_UNUSED) {
   1041     if (no == 1) return(XML_BUFFER_ALLOC_DOUBLEIT);
   1042     if (no == 2) return(XML_BUFFER_ALLOC_EXACT);
   1043     if (no == 3) return(XML_BUFFER_ALLOC_IMMUTABLE);
   1044     if (no == 4) return(XML_BUFFER_ALLOC_IO);
   1045     return(0);
   1046 }
   1047 
   1048 static void des_xmlBufferAllocationScheme(int no ATTRIBUTE_UNUSED, xmlBufferAllocationScheme val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1049 }
   1050 
   1051 static void desret_xmlBufferAllocationScheme(xmlBufferAllocationScheme val ATTRIBUTE_UNUSED) {
   1052 }
   1053 
   1054 #ifdef LIBXML_CATALOG_ENABLED
   1055 #define gen_nb_xmlCatalogAllow 4
   1056 static xmlCatalogAllow gen_xmlCatalogAllow(int no, int nr ATTRIBUTE_UNUSED) {
   1057     if (no == 1) return(XML_CATA_ALLOW_ALL);
   1058     if (no == 2) return(XML_CATA_ALLOW_DOCUMENT);
   1059     if (no == 3) return(XML_CATA_ALLOW_GLOBAL);
   1060     if (no == 4) return(XML_CATA_ALLOW_NONE);
   1061     return(0);
   1062 }
   1063 
   1064 static void des_xmlCatalogAllow(int no ATTRIBUTE_UNUSED, xmlCatalogAllow val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1065 }
   1066 
   1067 static void desret_xmlCatalogAllow(xmlCatalogAllow val ATTRIBUTE_UNUSED) {
   1068 }
   1069 
   1070 #endif
   1071 
   1072 #ifdef LIBXML_CATALOG_ENABLED
   1073 #define gen_nb_xmlCatalogPrefer 3
   1074 static xmlCatalogPrefer gen_xmlCatalogPrefer(int no, int nr ATTRIBUTE_UNUSED) {
   1075     if (no == 1) return(XML_CATA_PREFER_NONE);
   1076     if (no == 2) return(XML_CATA_PREFER_PUBLIC);
   1077     if (no == 3) return(XML_CATA_PREFER_SYSTEM);
   1078     return(0);
   1079 }
   1080 
   1081 static void des_xmlCatalogPrefer(int no ATTRIBUTE_UNUSED, xmlCatalogPrefer val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1082 }
   1083 
   1084 static void desret_xmlCatalogPrefer(xmlCatalogPrefer val ATTRIBUTE_UNUSED) {
   1085 }
   1086 
   1087 #endif
   1088 
   1089 #define gen_nb_xmlElementContentType 4
   1090 static xmlElementContentType gen_xmlElementContentType(int no, int nr ATTRIBUTE_UNUSED) {
   1091     if (no == 1) return(XML_ELEMENT_CONTENT_ELEMENT);
   1092     if (no == 2) return(XML_ELEMENT_CONTENT_OR);
   1093     if (no == 3) return(XML_ELEMENT_CONTENT_PCDATA);
   1094     if (no == 4) return(XML_ELEMENT_CONTENT_SEQ);
   1095     return(0);
   1096 }
   1097 
   1098 static void des_xmlElementContentType(int no ATTRIBUTE_UNUSED, xmlElementContentType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1099 }
   1100 
   1101 #define gen_nb_xmlElementTypeVal 4
   1102 static xmlElementTypeVal gen_xmlElementTypeVal(int no, int nr ATTRIBUTE_UNUSED) {
   1103     if (no == 1) return(XML_ELEMENT_TYPE_ANY);
   1104     if (no == 2) return(XML_ELEMENT_TYPE_ELEMENT);
   1105     if (no == 3) return(XML_ELEMENT_TYPE_EMPTY);
   1106     if (no == 4) return(XML_ELEMENT_TYPE_MIXED);
   1107     return(0);
   1108 }
   1109 
   1110 static void des_xmlElementTypeVal(int no ATTRIBUTE_UNUSED, xmlElementTypeVal val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1111 }
   1112 
   1113 #define gen_nb_xmlFeature 4
   1114 static xmlFeature gen_xmlFeature(int no, int nr ATTRIBUTE_UNUSED) {
   1115     if (no == 1) return(XML_WITH_AUTOMATA);
   1116     if (no == 2) return(XML_WITH_C14N);
   1117     if (no == 3) return(XML_WITH_CATALOG);
   1118     if (no == 4) return(XML_WITH_DEBUG);
   1119     return(0);
   1120 }
   1121 
   1122 static void des_xmlFeature(int no ATTRIBUTE_UNUSED, xmlFeature val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1123 }
   1124 
   1125 static void desret_xmlParserErrors(xmlParserErrors val ATTRIBUTE_UNUSED) {
   1126 }
   1127 
   1128 #ifdef LIBXML_SCHEMAS_ENABLED
   1129 #define gen_nb_xmlSchemaValType 4
   1130 static xmlSchemaValType gen_xmlSchemaValType(int no, int nr ATTRIBUTE_UNUSED) {
   1131     if (no == 1) return(XML_SCHEMAS_ANYSIMPLETYPE);
   1132     if (no == 2) return(XML_SCHEMAS_ANYTYPE);
   1133     if (no == 3) return(XML_SCHEMAS_ANYURI);
   1134     if (no == 4) return(XML_SCHEMAS_BASE64BINARY);
   1135     return(0);
   1136 }
   1137 
   1138 static void des_xmlSchemaValType(int no ATTRIBUTE_UNUSED, xmlSchemaValType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1139 }
   1140 
   1141 static void desret_xmlSchemaValType(xmlSchemaValType val ATTRIBUTE_UNUSED) {
   1142 }
   1143 
   1144 #endif
   1145 
   1146 #ifdef LIBXML_SCHEMAS_ENABLED
   1147 #define gen_nb_xmlSchemaWhitespaceValueType 4
   1148 static xmlSchemaWhitespaceValueType gen_xmlSchemaWhitespaceValueType(int no, int nr ATTRIBUTE_UNUSED) {
   1149     if (no == 1) return(XML_SCHEMA_WHITESPACE_COLLAPSE);
   1150     if (no == 2) return(XML_SCHEMA_WHITESPACE_PRESERVE);
   1151     if (no == 3) return(XML_SCHEMA_WHITESPACE_REPLACE);
   1152     if (no == 4) return(XML_SCHEMA_WHITESPACE_UNKNOWN);
   1153     return(0);
   1154 }
   1155 
   1156 static void des_xmlSchemaWhitespaceValueType(int no ATTRIBUTE_UNUSED, xmlSchemaWhitespaceValueType val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1157 }
   1158 
   1159 #endif
   1160 
   1161 #include <libxml/HTMLparser.h>
   1162 #include <libxml/HTMLtree.h>
   1163 #include <libxml/SAX2.h>
   1164 #include <libxml/c14n.h>
   1165 #include <libxml/catalog.h>
   1166 #include <libxml/chvalid.h>
   1167 #include <libxml/debugXML.h>
   1168 #include <libxml/dict.h>
   1169 #include <libxml/encoding.h>
   1170 #include <libxml/entities.h>
   1171 #include <libxml/hash.h>
   1172 #include <libxml/list.h>
   1173 #include <libxml/nanoftp.h>
   1174 #include <libxml/nanohttp.h>
   1175 #include <libxml/parser.h>
   1176 #include <libxml/parserInternals.h>
   1177 #include <libxml/pattern.h>
   1178 #include <libxml/relaxng.h>
   1179 #include <libxml/schemasInternals.h>
   1180 #include <libxml/schematron.h>
   1181 #include <libxml/tree.h>
   1182 #include <libxml/uri.h>
   1183 #include <libxml/valid.h>
   1184 #include <libxml/xinclude.h>
   1185 #include <libxml/xmlIO.h>
   1186 #include <libxml/xmlautomata.h>
   1187 #include <libxml/xmlerror.h>
   1188 #include <libxml/xmlmodule.h>
   1189 #include <libxml/xmlreader.h>
   1190 #include <libxml/xmlregexp.h>
   1191 #include <libxml/xmlsave.h>
   1192 #include <libxml/xmlschemas.h>
   1193 #include <libxml/xmlschemastypes.h>
   1194 #include <libxml/xmlstring.h>
   1195 #include <libxml/xmlunicode.h>
   1196 #include <libxml/xmlwriter.h>
   1197 #include <libxml/xpath.h>
   1198 #include <libxml/xpathInternals.h>
   1199 #include <libxml/xpointer.h>
   1200 static int test_HTMLparser(void);
   1201 static int test_HTMLtree(void);
   1202 static int test_SAX2(void);
   1203 static int test_c14n(void);
   1204 static int test_catalog(void);
   1205 static int test_chvalid(void);
   1206 static int test_debugXML(void);
   1207 static int test_dict(void);
   1208 static int test_encoding(void);
   1209 static int test_entities(void);
   1210 static int test_hash(void);
   1211 static int test_list(void);
   1212 static int test_nanoftp(void);
   1213 static int test_nanohttp(void);
   1214 static int test_parser(void);
   1215 static int test_parserInternals(void);
   1216 static int test_pattern(void);
   1217 static int test_relaxng(void);
   1218 static int test_schemasInternals(void);
   1219 static int test_schematron(void);
   1220 static int test_tree(void);
   1221 static int test_uri(void);
   1222 static int test_valid(void);
   1223 static int test_xinclude(void);
   1224 static int test_xmlIO(void);
   1225 static int test_xmlautomata(void);
   1226 static int test_xmlerror(void);
   1227 static int test_xmlmodule(void);
   1228 static int test_xmlreader(void);
   1229 static int test_xmlregexp(void);
   1230 static int test_xmlsave(void);
   1231 static int test_xmlschemas(void);
   1232 static int test_xmlschemastypes(void);
   1233 static int test_xmlstring(void);
   1234 static int test_xmlunicode(void);
   1235 static int test_xmlwriter(void);
   1236 static int test_xpath(void);
   1237 static int test_xpathInternals(void);
   1238 static int test_xpointer(void);
   1239 
   1240 /**
   1241  * testlibxml2:
   1242  *
   1243  * Main entry point of the tester for the full libxml2 module,
   1244  * it calls all the tester entry point for each module.
   1245  *
   1246  * Returns the number of error found
   1247  */
   1248 static int
   1249 testlibxml2(void)
   1250 {
   1251     int test_ret = 0;
   1252 
   1253     test_ret += test_HTMLparser();
   1254     test_ret += test_HTMLtree();
   1255     test_ret += test_SAX2();
   1256     test_ret += test_c14n();
   1257     test_ret += test_catalog();
   1258     test_ret += test_chvalid();
   1259     test_ret += test_debugXML();
   1260     test_ret += test_dict();
   1261     test_ret += test_encoding();
   1262     test_ret += test_entities();
   1263     test_ret += test_hash();
   1264     test_ret += test_list();
   1265     test_ret += test_nanoftp();
   1266     test_ret += test_nanohttp();
   1267     test_ret += test_parser();
   1268     test_ret += test_parserInternals();
   1269     test_ret += test_pattern();
   1270     test_ret += test_relaxng();
   1271     test_ret += test_schemasInternals();
   1272     test_ret += test_schematron();
   1273     test_ret += test_tree();
   1274     test_ret += test_uri();
   1275     test_ret += test_valid();
   1276     test_ret += test_xinclude();
   1277     test_ret += test_xmlIO();
   1278     test_ret += test_xmlautomata();
   1279     test_ret += test_xmlerror();
   1280     test_ret += test_xmlmodule();
   1281     test_ret += test_xmlreader();
   1282     test_ret += test_xmlregexp();
   1283     test_ret += test_xmlsave();
   1284     test_ret += test_xmlschemas();
   1285     test_ret += test_xmlschemastypes();
   1286     test_ret += test_xmlstring();
   1287     test_ret += test_xmlunicode();
   1288     test_ret += test_xmlwriter();
   1289     test_ret += test_xpath();
   1290     test_ret += test_xpathInternals();
   1291     test_ret += test_xpointer();
   1292 
   1293     printf("Total: %d functions, %d tests, %d errors\n",
   1294            function_tests, call_tests, test_ret);
   1295     return(test_ret);
   1296 }
   1297 
   1298 
   1299 static int
   1300 test_UTF8ToHtml(void) {
   1301     int test_ret = 0;
   1302 
   1303 #if defined(LIBXML_HTML_ENABLED)
   1304     int mem_base;
   1305     int ret_val;
   1306     unsigned char * out; /* a pointer to an array of bytes to store the result */
   1307     int n_out;
   1308     int * outlen; /* the length of @out */
   1309     int n_outlen;
   1310     unsigned char * in; /* a pointer to an array of UTF-8 chars */
   1311     int n_in;
   1312     int * inlen; /* the length of @in */
   1313     int n_inlen;
   1314 
   1315     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
   1316     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
   1317     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
   1318     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
   1319         mem_base = xmlMemBlocks();
   1320         out = gen_unsigned_char_ptr(n_out, 0);
   1321         outlen = gen_int_ptr(n_outlen, 1);
   1322         in = gen_const_unsigned_char_ptr(n_in, 2);
   1323         inlen = gen_int_ptr(n_inlen, 3);
   1324 
   1325         ret_val = UTF8ToHtml(out, outlen, (const unsigned char *)in, inlen);
   1326         desret_int(ret_val);
   1327         call_tests++;
   1328         des_unsigned_char_ptr(n_out, out, 0);
   1329         des_int_ptr(n_outlen, outlen, 1);
   1330         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
   1331         des_int_ptr(n_inlen, inlen, 3);
   1332         xmlResetLastError();
   1333         if (mem_base != xmlMemBlocks()) {
   1334             printf("Leak of %d blocks found in UTF8ToHtml",
   1335 	           xmlMemBlocks() - mem_base);
   1336 	    test_ret++;
   1337             printf(" %d", n_out);
   1338             printf(" %d", n_outlen);
   1339             printf(" %d", n_in);
   1340             printf(" %d", n_inlen);
   1341             printf("\n");
   1342         }
   1343     }
   1344     }
   1345     }
   1346     }
   1347     function_tests++;
   1348 #endif
   1349 
   1350     return(test_ret);
   1351 }
   1352 
   1353 #ifdef LIBXML_HTML_ENABLED
   1354 
   1355 #define gen_nb_const_htmlElemDesc_ptr 1
   1356 static htmlElemDesc * gen_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1357     return(NULL);
   1358 }
   1359 static void des_const_htmlElemDesc_ptr(int no ATTRIBUTE_UNUSED, const htmlElemDesc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1360 }
   1361 #endif
   1362 
   1363 
   1364 static int
   1365 test_htmlAttrAllowed(void) {
   1366     int test_ret = 0;
   1367 
   1368 #if defined(LIBXML_HTML_ENABLED)
   1369     int mem_base;
   1370     htmlStatus ret_val;
   1371     htmlElemDesc * elt; /* HTML element */
   1372     int n_elt;
   1373     xmlChar * attr; /* HTML attribute */
   1374     int n_attr;
   1375     int legacy; /* whether to allow deprecated attributes */
   1376     int n_legacy;
   1377 
   1378     for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
   1379     for (n_attr = 0;n_attr < gen_nb_const_xmlChar_ptr;n_attr++) {
   1380     for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
   1381         mem_base = xmlMemBlocks();
   1382         elt = gen_const_htmlElemDesc_ptr(n_elt, 0);
   1383         attr = gen_const_xmlChar_ptr(n_attr, 1);
   1384         legacy = gen_int(n_legacy, 2);
   1385 
   1386         ret_val = htmlAttrAllowed((const htmlElemDesc *)elt, (const xmlChar *)attr, legacy);
   1387         desret_htmlStatus(ret_val);
   1388         call_tests++;
   1389         des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 0);
   1390         des_const_xmlChar_ptr(n_attr, (const xmlChar *)attr, 1);
   1391         des_int(n_legacy, legacy, 2);
   1392         xmlResetLastError();
   1393         if (mem_base != xmlMemBlocks()) {
   1394             printf("Leak of %d blocks found in htmlAttrAllowed",
   1395 	           xmlMemBlocks() - mem_base);
   1396 	    test_ret++;
   1397             printf(" %d", n_elt);
   1398             printf(" %d", n_attr);
   1399             printf(" %d", n_legacy);
   1400             printf("\n");
   1401         }
   1402     }
   1403     }
   1404     }
   1405     function_tests++;
   1406 #endif
   1407 
   1408     return(test_ret);
   1409 }
   1410 
   1411 #ifdef LIBXML_HTML_ENABLED
   1412 
   1413 #define gen_nb_htmlNodePtr 1
   1414 static htmlNodePtr gen_htmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1415     return(NULL);
   1416 }
   1417 static void des_htmlNodePtr(int no ATTRIBUTE_UNUSED, htmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1418 }
   1419 #endif
   1420 
   1421 
   1422 static int
   1423 test_htmlAutoCloseTag(void) {
   1424     int test_ret = 0;
   1425 
   1426 #if defined(LIBXML_HTML_ENABLED)
   1427     int mem_base;
   1428     int ret_val;
   1429     htmlDocPtr doc; /* the HTML document */
   1430     int n_doc;
   1431     xmlChar * name; /* The tag name */
   1432     int n_name;
   1433     htmlNodePtr elem; /* the HTML element */
   1434     int n_elem;
   1435 
   1436     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
   1437     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   1438     for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
   1439         mem_base = xmlMemBlocks();
   1440         doc = gen_htmlDocPtr(n_doc, 0);
   1441         name = gen_const_xmlChar_ptr(n_name, 1);
   1442         elem = gen_htmlNodePtr(n_elem, 2);
   1443 
   1444         ret_val = htmlAutoCloseTag(doc, (const xmlChar *)name, elem);
   1445         desret_int(ret_val);
   1446         call_tests++;
   1447         des_htmlDocPtr(n_doc, doc, 0);
   1448         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   1449         des_htmlNodePtr(n_elem, elem, 2);
   1450         xmlResetLastError();
   1451         if (mem_base != xmlMemBlocks()) {
   1452             printf("Leak of %d blocks found in htmlAutoCloseTag",
   1453 	           xmlMemBlocks() - mem_base);
   1454 	    test_ret++;
   1455             printf(" %d", n_doc);
   1456             printf(" %d", n_name);
   1457             printf(" %d", n_elem);
   1458             printf("\n");
   1459         }
   1460     }
   1461     }
   1462     }
   1463     function_tests++;
   1464 #endif
   1465 
   1466     return(test_ret);
   1467 }
   1468 
   1469 
   1470 static int
   1471 test_htmlCreateMemoryParserCtxt(void) {
   1472     int test_ret = 0;
   1473 
   1474 #if defined(LIBXML_HTML_ENABLED)
   1475     int mem_base;
   1476     htmlParserCtxtPtr ret_val;
   1477     char * buffer; /* a pointer to a char array */
   1478     int n_buffer;
   1479     int size; /* the size of the array */
   1480     int n_size;
   1481 
   1482     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   1483     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   1484         mem_base = xmlMemBlocks();
   1485         buffer = gen_const_char_ptr(n_buffer, 0);
   1486         size = gen_int(n_size, 1);
   1487 
   1488         ret_val = htmlCreateMemoryParserCtxt((const char *)buffer, size);
   1489         desret_htmlParserCtxtPtr(ret_val);
   1490         call_tests++;
   1491         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   1492         des_int(n_size, size, 1);
   1493         xmlResetLastError();
   1494         if (mem_base != xmlMemBlocks()) {
   1495             printf("Leak of %d blocks found in htmlCreateMemoryParserCtxt",
   1496 	           xmlMemBlocks() - mem_base);
   1497 	    test_ret++;
   1498             printf(" %d", n_buffer);
   1499             printf(" %d", n_size);
   1500             printf("\n");
   1501         }
   1502     }
   1503     }
   1504     function_tests++;
   1505 #endif
   1506 
   1507     return(test_ret);
   1508 }
   1509 
   1510 #ifdef LIBXML_HTML_ENABLED
   1511 
   1512 #define gen_nb_htmlSAXHandlerPtr 1
   1513 static htmlSAXHandlerPtr gen_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1514     return(NULL);
   1515 }
   1516 static void des_htmlSAXHandlerPtr(int no ATTRIBUTE_UNUSED, htmlSAXHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   1517 }
   1518 #endif
   1519 
   1520 
   1521 static int
   1522 test_htmlCreatePushParserCtxt(void) {
   1523     int test_ret = 0;
   1524 
   1525 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
   1526     int mem_base;
   1527     htmlParserCtxtPtr ret_val;
   1528     htmlSAXHandlerPtr sax; /* a SAX handler */
   1529     int n_sax;
   1530     void * user_data; /* The user data returned on SAX callbacks */
   1531     int n_user_data;
   1532     char * chunk; /* a pointer to an array of chars */
   1533     int n_chunk;
   1534     int size; /* number of chars in the array */
   1535     int n_size;
   1536     const char * filename; /* an optional file name or URI */
   1537     int n_filename;
   1538     xmlCharEncoding enc; /* an optional encoding */
   1539     int n_enc;
   1540 
   1541     for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
   1542     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   1543     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
   1544     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   1545     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   1546     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   1547         mem_base = xmlMemBlocks();
   1548         sax = gen_htmlSAXHandlerPtr(n_sax, 0);
   1549         user_data = gen_userdata(n_user_data, 1);
   1550         chunk = gen_const_char_ptr(n_chunk, 2);
   1551         size = gen_int(n_size, 3);
   1552         filename = gen_fileoutput(n_filename, 4);
   1553         enc = gen_xmlCharEncoding(n_enc, 5);
   1554 
   1555         ret_val = htmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename, enc);
   1556         desret_htmlParserCtxtPtr(ret_val);
   1557         call_tests++;
   1558         des_htmlSAXHandlerPtr(n_sax, sax, 0);
   1559         des_userdata(n_user_data, user_data, 1);
   1560         des_const_char_ptr(n_chunk, (const char *)chunk, 2);
   1561         des_int(n_size, size, 3);
   1562         des_fileoutput(n_filename, filename, 4);
   1563         des_xmlCharEncoding(n_enc, enc, 5);
   1564         xmlResetLastError();
   1565         if (mem_base != xmlMemBlocks()) {
   1566             printf("Leak of %d blocks found in htmlCreatePushParserCtxt",
   1567 	           xmlMemBlocks() - mem_base);
   1568 	    test_ret++;
   1569             printf(" %d", n_sax);
   1570             printf(" %d", n_user_data);
   1571             printf(" %d", n_chunk);
   1572             printf(" %d", n_size);
   1573             printf(" %d", n_filename);
   1574             printf(" %d", n_enc);
   1575             printf("\n");
   1576         }
   1577     }
   1578     }
   1579     }
   1580     }
   1581     }
   1582     }
   1583     function_tests++;
   1584 #endif
   1585 
   1586     return(test_ret);
   1587 }
   1588 
   1589 
   1590 static int
   1591 test_htmlCtxtReadDoc(void) {
   1592     int test_ret = 0;
   1593 
   1594 #if defined(LIBXML_HTML_ENABLED)
   1595     int mem_base;
   1596     htmlDocPtr ret_val;
   1597     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   1598     int n_ctxt;
   1599     xmlChar * cur; /* a pointer to a zero terminated string */
   1600     int n_cur;
   1601     const char * URL; /* the base URL to use for the document */
   1602     int n_URL;
   1603     char * encoding; /* the document encoding, or NULL */
   1604     int n_encoding;
   1605     int options; /* a combination of htmlParserOption(s) */
   1606     int n_options;
   1607 
   1608     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   1609     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   1610     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   1611     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   1612     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   1613         mem_base = xmlMemBlocks();
   1614         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   1615         cur = gen_const_xmlChar_ptr(n_cur, 1);
   1616         URL = gen_filepath(n_URL, 2);
   1617         encoding = gen_const_char_ptr(n_encoding, 3);
   1618         options = gen_int(n_options, 4);
   1619 
   1620         ret_val = htmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
   1621         desret_htmlDocPtr(ret_val);
   1622         call_tests++;
   1623         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   1624         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
   1625         des_filepath(n_URL, URL, 2);
   1626         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   1627         des_int(n_options, options, 4);
   1628         xmlResetLastError();
   1629         if (mem_base != xmlMemBlocks()) {
   1630             printf("Leak of %d blocks found in htmlCtxtReadDoc",
   1631 	           xmlMemBlocks() - mem_base);
   1632 	    test_ret++;
   1633             printf(" %d", n_ctxt);
   1634             printf(" %d", n_cur);
   1635             printf(" %d", n_URL);
   1636             printf(" %d", n_encoding);
   1637             printf(" %d", n_options);
   1638             printf("\n");
   1639         }
   1640     }
   1641     }
   1642     }
   1643     }
   1644     }
   1645     function_tests++;
   1646 #endif
   1647 
   1648     return(test_ret);
   1649 }
   1650 
   1651 
   1652 static int
   1653 test_htmlCtxtReadFile(void) {
   1654     int test_ret = 0;
   1655 
   1656 #if defined(LIBXML_HTML_ENABLED)
   1657     htmlDocPtr ret_val;
   1658     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   1659     int n_ctxt;
   1660     const char * filename; /* a file or URL */
   1661     int n_filename;
   1662     char * encoding; /* the document encoding, or NULL */
   1663     int n_encoding;
   1664     int options; /* a combination of htmlParserOption(s) */
   1665     int n_options;
   1666 
   1667     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   1668     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   1669     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   1670     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   1671         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   1672         filename = gen_filepath(n_filename, 1);
   1673         encoding = gen_const_char_ptr(n_encoding, 2);
   1674         options = gen_int(n_options, 3);
   1675 
   1676         ret_val = htmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
   1677         desret_htmlDocPtr(ret_val);
   1678         call_tests++;
   1679         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   1680         des_filepath(n_filename, filename, 1);
   1681         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   1682         des_int(n_options, options, 3);
   1683         xmlResetLastError();
   1684     }
   1685     }
   1686     }
   1687     }
   1688     function_tests++;
   1689 #endif
   1690 
   1691     return(test_ret);
   1692 }
   1693 
   1694 
   1695 static int
   1696 test_htmlCtxtReadMemory(void) {
   1697     int test_ret = 0;
   1698 
   1699 #if defined(LIBXML_HTML_ENABLED)
   1700     int mem_base;
   1701     htmlDocPtr ret_val;
   1702     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   1703     int n_ctxt;
   1704     char * buffer; /* a pointer to a char array */
   1705     int n_buffer;
   1706     int size; /* the size of the array */
   1707     int n_size;
   1708     const char * URL; /* the base URL to use for the document */
   1709     int n_URL;
   1710     char * encoding; /* the document encoding, or NULL */
   1711     int n_encoding;
   1712     int options; /* a combination of htmlParserOption(s) */
   1713     int n_options;
   1714 
   1715     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   1716     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   1717     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   1718     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   1719     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   1720     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   1721         mem_base = xmlMemBlocks();
   1722         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   1723         buffer = gen_const_char_ptr(n_buffer, 1);
   1724         size = gen_int(n_size, 2);
   1725         URL = gen_filepath(n_URL, 3);
   1726         encoding = gen_const_char_ptr(n_encoding, 4);
   1727         options = gen_int(n_options, 5);
   1728 
   1729         ret_val = htmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
   1730         desret_htmlDocPtr(ret_val);
   1731         call_tests++;
   1732         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   1733         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
   1734         des_int(n_size, size, 2);
   1735         des_filepath(n_URL, URL, 3);
   1736         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
   1737         des_int(n_options, options, 5);
   1738         xmlResetLastError();
   1739         if (mem_base != xmlMemBlocks()) {
   1740             printf("Leak of %d blocks found in htmlCtxtReadMemory",
   1741 	           xmlMemBlocks() - mem_base);
   1742 	    test_ret++;
   1743             printf(" %d", n_ctxt);
   1744             printf(" %d", n_buffer);
   1745             printf(" %d", n_size);
   1746             printf(" %d", n_URL);
   1747             printf(" %d", n_encoding);
   1748             printf(" %d", n_options);
   1749             printf("\n");
   1750         }
   1751     }
   1752     }
   1753     }
   1754     }
   1755     }
   1756     }
   1757     function_tests++;
   1758 #endif
   1759 
   1760     return(test_ret);
   1761 }
   1762 
   1763 
   1764 static int
   1765 test_htmlCtxtReset(void) {
   1766     int test_ret = 0;
   1767 
   1768 #if defined(LIBXML_HTML_ENABLED)
   1769     int mem_base;
   1770     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   1771     int n_ctxt;
   1772 
   1773     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   1774         mem_base = xmlMemBlocks();
   1775         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   1776 
   1777         htmlCtxtReset(ctxt);
   1778         call_tests++;
   1779         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   1780         xmlResetLastError();
   1781         if (mem_base != xmlMemBlocks()) {
   1782             printf("Leak of %d blocks found in htmlCtxtReset",
   1783 	           xmlMemBlocks() - mem_base);
   1784 	    test_ret++;
   1785             printf(" %d", n_ctxt);
   1786             printf("\n");
   1787         }
   1788     }
   1789     function_tests++;
   1790 #endif
   1791 
   1792     return(test_ret);
   1793 }
   1794 
   1795 
   1796 static int
   1797 test_htmlCtxtUseOptions(void) {
   1798     int test_ret = 0;
   1799 
   1800 #if defined(LIBXML_HTML_ENABLED)
   1801     int mem_base;
   1802     int ret_val;
   1803     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   1804     int n_ctxt;
   1805     int options; /* a combination of htmlParserOption(s) */
   1806     int n_options;
   1807 
   1808     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   1809     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   1810         mem_base = xmlMemBlocks();
   1811         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   1812         options = gen_int(n_options, 1);
   1813 
   1814         ret_val = htmlCtxtUseOptions(ctxt, options);
   1815         desret_int(ret_val);
   1816         call_tests++;
   1817         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   1818         des_int(n_options, options, 1);
   1819         xmlResetLastError();
   1820         if (mem_base != xmlMemBlocks()) {
   1821             printf("Leak of %d blocks found in htmlCtxtUseOptions",
   1822 	           xmlMemBlocks() - mem_base);
   1823 	    test_ret++;
   1824             printf(" %d", n_ctxt);
   1825             printf(" %d", n_options);
   1826             printf("\n");
   1827         }
   1828     }
   1829     }
   1830     function_tests++;
   1831 #endif
   1832 
   1833     return(test_ret);
   1834 }
   1835 
   1836 
   1837 static int
   1838 test_htmlElementAllowedHere(void) {
   1839     int test_ret = 0;
   1840 
   1841 #if defined(LIBXML_HTML_ENABLED)
   1842     int mem_base;
   1843     int ret_val;
   1844     htmlElemDesc * parent; /* HTML parent element */
   1845     int n_parent;
   1846     xmlChar * elt; /* HTML element */
   1847     int n_elt;
   1848 
   1849     for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
   1850     for (n_elt = 0;n_elt < gen_nb_const_xmlChar_ptr;n_elt++) {
   1851         mem_base = xmlMemBlocks();
   1852         parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
   1853         elt = gen_const_xmlChar_ptr(n_elt, 1);
   1854 
   1855         ret_val = htmlElementAllowedHere((const htmlElemDesc *)parent, (const xmlChar *)elt);
   1856         desret_int(ret_val);
   1857         call_tests++;
   1858         des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
   1859         des_const_xmlChar_ptr(n_elt, (const xmlChar *)elt, 1);
   1860         xmlResetLastError();
   1861         if (mem_base != xmlMemBlocks()) {
   1862             printf("Leak of %d blocks found in htmlElementAllowedHere",
   1863 	           xmlMemBlocks() - mem_base);
   1864 	    test_ret++;
   1865             printf(" %d", n_parent);
   1866             printf(" %d", n_elt);
   1867             printf("\n");
   1868         }
   1869     }
   1870     }
   1871     function_tests++;
   1872 #endif
   1873 
   1874     return(test_ret);
   1875 }
   1876 
   1877 
   1878 static int
   1879 test_htmlElementStatusHere(void) {
   1880     int test_ret = 0;
   1881 
   1882 #if defined(LIBXML_HTML_ENABLED)
   1883     int mem_base;
   1884     htmlStatus ret_val;
   1885     htmlElemDesc * parent; /* HTML parent element */
   1886     int n_parent;
   1887     htmlElemDesc * elt; /* HTML element */
   1888     int n_elt;
   1889 
   1890     for (n_parent = 0;n_parent < gen_nb_const_htmlElemDesc_ptr;n_parent++) {
   1891     for (n_elt = 0;n_elt < gen_nb_const_htmlElemDesc_ptr;n_elt++) {
   1892         mem_base = xmlMemBlocks();
   1893         parent = gen_const_htmlElemDesc_ptr(n_parent, 0);
   1894         elt = gen_const_htmlElemDesc_ptr(n_elt, 1);
   1895 
   1896         ret_val = htmlElementStatusHere((const htmlElemDesc *)parent, (const htmlElemDesc *)elt);
   1897         desret_htmlStatus(ret_val);
   1898         call_tests++;
   1899         des_const_htmlElemDesc_ptr(n_parent, (const htmlElemDesc *)parent, 0);
   1900         des_const_htmlElemDesc_ptr(n_elt, (const htmlElemDesc *)elt, 1);
   1901         xmlResetLastError();
   1902         if (mem_base != xmlMemBlocks()) {
   1903             printf("Leak of %d blocks found in htmlElementStatusHere",
   1904 	           xmlMemBlocks() - mem_base);
   1905 	    test_ret++;
   1906             printf(" %d", n_parent);
   1907             printf(" %d", n_elt);
   1908             printf("\n");
   1909         }
   1910     }
   1911     }
   1912     function_tests++;
   1913 #endif
   1914 
   1915     return(test_ret);
   1916 }
   1917 
   1918 
   1919 static int
   1920 test_htmlEncodeEntities(void) {
   1921     int test_ret = 0;
   1922 
   1923 #if defined(LIBXML_HTML_ENABLED)
   1924     int mem_base;
   1925     int ret_val;
   1926     unsigned char * out; /* a pointer to an array of bytes to store the result */
   1927     int n_out;
   1928     int * outlen; /* the length of @out */
   1929     int n_outlen;
   1930     unsigned char * in; /* a pointer to an array of UTF-8 chars */
   1931     int n_in;
   1932     int * inlen; /* the length of @in */
   1933     int n_inlen;
   1934     int quoteChar; /* the quote character to escape (' or ") or zero. */
   1935     int n_quoteChar;
   1936 
   1937     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
   1938     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
   1939     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
   1940     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
   1941     for (n_quoteChar = 0;n_quoteChar < gen_nb_int;n_quoteChar++) {
   1942         mem_base = xmlMemBlocks();
   1943         out = gen_unsigned_char_ptr(n_out, 0);
   1944         outlen = gen_int_ptr(n_outlen, 1);
   1945         in = gen_const_unsigned_char_ptr(n_in, 2);
   1946         inlen = gen_int_ptr(n_inlen, 3);
   1947         quoteChar = gen_int(n_quoteChar, 4);
   1948 
   1949         ret_val = htmlEncodeEntities(out, outlen, (const unsigned char *)in, inlen, quoteChar);
   1950         desret_int(ret_val);
   1951         call_tests++;
   1952         des_unsigned_char_ptr(n_out, out, 0);
   1953         des_int_ptr(n_outlen, outlen, 1);
   1954         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
   1955         des_int_ptr(n_inlen, inlen, 3);
   1956         des_int(n_quoteChar, quoteChar, 4);
   1957         xmlResetLastError();
   1958         if (mem_base != xmlMemBlocks()) {
   1959             printf("Leak of %d blocks found in htmlEncodeEntities",
   1960 	           xmlMemBlocks() - mem_base);
   1961 	    test_ret++;
   1962             printf(" %d", n_out);
   1963             printf(" %d", n_outlen);
   1964             printf(" %d", n_in);
   1965             printf(" %d", n_inlen);
   1966             printf(" %d", n_quoteChar);
   1967             printf("\n");
   1968         }
   1969     }
   1970     }
   1971     }
   1972     }
   1973     }
   1974     function_tests++;
   1975 #endif
   1976 
   1977     return(test_ret);
   1978 }
   1979 
   1980 
   1981 static int
   1982 test_htmlEntityLookup(void) {
   1983     int test_ret = 0;
   1984 
   1985 #if defined(LIBXML_HTML_ENABLED)
   1986     int mem_base;
   1987     const htmlEntityDesc * ret_val;
   1988     xmlChar * name; /* the entity name */
   1989     int n_name;
   1990 
   1991     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   1992         mem_base = xmlMemBlocks();
   1993         name = gen_const_xmlChar_ptr(n_name, 0);
   1994 
   1995         ret_val = htmlEntityLookup((const xmlChar *)name);
   1996         desret_const_htmlEntityDesc_ptr(ret_val);
   1997         call_tests++;
   1998         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   1999         xmlResetLastError();
   2000         if (mem_base != xmlMemBlocks()) {
   2001             printf("Leak of %d blocks found in htmlEntityLookup",
   2002 	           xmlMemBlocks() - mem_base);
   2003 	    test_ret++;
   2004             printf(" %d", n_name);
   2005             printf("\n");
   2006         }
   2007     }
   2008     function_tests++;
   2009 #endif
   2010 
   2011     return(test_ret);
   2012 }
   2013 
   2014 
   2015 static int
   2016 test_htmlEntityValueLookup(void) {
   2017     int test_ret = 0;
   2018 
   2019 #if defined(LIBXML_HTML_ENABLED)
   2020     int mem_base;
   2021     const htmlEntityDesc * ret_val;
   2022     unsigned int value; /* the entity's unicode value */
   2023     int n_value;
   2024 
   2025     for (n_value = 0;n_value < gen_nb_unsigned_int;n_value++) {
   2026         mem_base = xmlMemBlocks();
   2027         value = gen_unsigned_int(n_value, 0);
   2028 
   2029         ret_val = htmlEntityValueLookup(value);
   2030         desret_const_htmlEntityDesc_ptr(ret_val);
   2031         call_tests++;
   2032         des_unsigned_int(n_value, value, 0);
   2033         xmlResetLastError();
   2034         if (mem_base != xmlMemBlocks()) {
   2035             printf("Leak of %d blocks found in htmlEntityValueLookup",
   2036 	           xmlMemBlocks() - mem_base);
   2037 	    test_ret++;
   2038             printf(" %d", n_value);
   2039             printf("\n");
   2040         }
   2041     }
   2042     function_tests++;
   2043 #endif
   2044 
   2045     return(test_ret);
   2046 }
   2047 
   2048 
   2049 static int
   2050 test_htmlHandleOmittedElem(void) {
   2051     int test_ret = 0;
   2052 
   2053 #if defined(LIBXML_HTML_ENABLED)
   2054     int mem_base;
   2055     int ret_val;
   2056     int val; /* int 0 or 1 */
   2057     int n_val;
   2058 
   2059     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   2060         mem_base = xmlMemBlocks();
   2061         val = gen_int(n_val, 0);
   2062 
   2063         ret_val = htmlHandleOmittedElem(val);
   2064         desret_int(ret_val);
   2065         call_tests++;
   2066         des_int(n_val, val, 0);
   2067         xmlResetLastError();
   2068         if (mem_base != xmlMemBlocks()) {
   2069             printf("Leak of %d blocks found in htmlHandleOmittedElem",
   2070 	           xmlMemBlocks() - mem_base);
   2071 	    test_ret++;
   2072             printf(" %d", n_val);
   2073             printf("\n");
   2074         }
   2075     }
   2076     function_tests++;
   2077 #endif
   2078 
   2079     return(test_ret);
   2080 }
   2081 
   2082 
   2083 static int
   2084 test_htmlIsAutoClosed(void) {
   2085     int test_ret = 0;
   2086 
   2087 #if defined(LIBXML_HTML_ENABLED)
   2088     int mem_base;
   2089     int ret_val;
   2090     htmlDocPtr doc; /* the HTML document */
   2091     int n_doc;
   2092     htmlNodePtr elem; /* the HTML element */
   2093     int n_elem;
   2094 
   2095     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
   2096     for (n_elem = 0;n_elem < gen_nb_htmlNodePtr;n_elem++) {
   2097         mem_base = xmlMemBlocks();
   2098         doc = gen_htmlDocPtr(n_doc, 0);
   2099         elem = gen_htmlNodePtr(n_elem, 1);
   2100 
   2101         ret_val = htmlIsAutoClosed(doc, elem);
   2102         desret_int(ret_val);
   2103         call_tests++;
   2104         des_htmlDocPtr(n_doc, doc, 0);
   2105         des_htmlNodePtr(n_elem, elem, 1);
   2106         xmlResetLastError();
   2107         if (mem_base != xmlMemBlocks()) {
   2108             printf("Leak of %d blocks found in htmlIsAutoClosed",
   2109 	           xmlMemBlocks() - mem_base);
   2110 	    test_ret++;
   2111             printf(" %d", n_doc);
   2112             printf(" %d", n_elem);
   2113             printf("\n");
   2114         }
   2115     }
   2116     }
   2117     function_tests++;
   2118 #endif
   2119 
   2120     return(test_ret);
   2121 }
   2122 
   2123 
   2124 static int
   2125 test_htmlIsScriptAttribute(void) {
   2126     int test_ret = 0;
   2127 
   2128 #if defined(LIBXML_HTML_ENABLED)
   2129     int mem_base;
   2130     int ret_val;
   2131     xmlChar * name; /* an attribute name */
   2132     int n_name;
   2133 
   2134     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   2135         mem_base = xmlMemBlocks();
   2136         name = gen_const_xmlChar_ptr(n_name, 0);
   2137 
   2138         ret_val = htmlIsScriptAttribute((const xmlChar *)name);
   2139         desret_int(ret_val);
   2140         call_tests++;
   2141         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   2142         xmlResetLastError();
   2143         if (mem_base != xmlMemBlocks()) {
   2144             printf("Leak of %d blocks found in htmlIsScriptAttribute",
   2145 	           xmlMemBlocks() - mem_base);
   2146 	    test_ret++;
   2147             printf(" %d", n_name);
   2148             printf("\n");
   2149         }
   2150     }
   2151     function_tests++;
   2152 #endif
   2153 
   2154     return(test_ret);
   2155 }
   2156 
   2157 
   2158 static int
   2159 test_htmlNewParserCtxt(void) {
   2160     int test_ret = 0;
   2161 
   2162 #if defined(LIBXML_HTML_ENABLED)
   2163     int mem_base;
   2164     htmlParserCtxtPtr ret_val;
   2165 
   2166         mem_base = xmlMemBlocks();
   2167 
   2168         ret_val = htmlNewParserCtxt();
   2169         desret_htmlParserCtxtPtr(ret_val);
   2170         call_tests++;
   2171         xmlResetLastError();
   2172         if (mem_base != xmlMemBlocks()) {
   2173             printf("Leak of %d blocks found in htmlNewParserCtxt",
   2174 	           xmlMemBlocks() - mem_base);
   2175 	    test_ret++;
   2176             printf("\n");
   2177         }
   2178     function_tests++;
   2179 #endif
   2180 
   2181     return(test_ret);
   2182 }
   2183 
   2184 
   2185 static int
   2186 test_htmlNodeStatus(void) {
   2187     int test_ret = 0;
   2188 
   2189 #if defined(LIBXML_HTML_ENABLED)
   2190     int mem_base;
   2191     htmlStatus ret_val;
   2192     htmlNodePtr node; /* an htmlNodePtr in a tree */
   2193     int n_node;
   2194     int legacy; /* whether to allow deprecated elements (YES is faster here for Element nodes) */
   2195     int n_legacy;
   2196 
   2197     for (n_node = 0;n_node < gen_nb_const_htmlNodePtr;n_node++) {
   2198     for (n_legacy = 0;n_legacy < gen_nb_int;n_legacy++) {
   2199         mem_base = xmlMemBlocks();
   2200         node = gen_const_htmlNodePtr(n_node, 0);
   2201         legacy = gen_int(n_legacy, 1);
   2202 
   2203         ret_val = htmlNodeStatus((const htmlNodePtr)node, legacy);
   2204         desret_htmlStatus(ret_val);
   2205         call_tests++;
   2206         des_const_htmlNodePtr(n_node, (const htmlNodePtr)node, 0);
   2207         des_int(n_legacy, legacy, 1);
   2208         xmlResetLastError();
   2209         if (mem_base != xmlMemBlocks()) {
   2210             printf("Leak of %d blocks found in htmlNodeStatus",
   2211 	           xmlMemBlocks() - mem_base);
   2212 	    test_ret++;
   2213             printf(" %d", n_node);
   2214             printf(" %d", n_legacy);
   2215             printf("\n");
   2216         }
   2217     }
   2218     }
   2219     function_tests++;
   2220 #endif
   2221 
   2222     return(test_ret);
   2223 }
   2224 
   2225 
   2226 static int
   2227 test_htmlParseCharRef(void) {
   2228     int test_ret = 0;
   2229 
   2230 #if defined(LIBXML_HTML_ENABLED)
   2231     int mem_base;
   2232     int ret_val;
   2233     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   2234     int n_ctxt;
   2235 
   2236     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   2237         mem_base = xmlMemBlocks();
   2238         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   2239 
   2240         ret_val = htmlParseCharRef(ctxt);
   2241         desret_int(ret_val);
   2242         call_tests++;
   2243         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   2244         xmlResetLastError();
   2245         if (mem_base != xmlMemBlocks()) {
   2246             printf("Leak of %d blocks found in htmlParseCharRef",
   2247 	           xmlMemBlocks() - mem_base);
   2248 	    test_ret++;
   2249             printf(" %d", n_ctxt);
   2250             printf("\n");
   2251         }
   2252     }
   2253     function_tests++;
   2254 #endif
   2255 
   2256     return(test_ret);
   2257 }
   2258 
   2259 
   2260 static int
   2261 test_htmlParseChunk(void) {
   2262     int test_ret = 0;
   2263 
   2264 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_PUSH_ENABLED)
   2265     int mem_base;
   2266     int ret_val;
   2267     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   2268     int n_ctxt;
   2269     char * chunk; /* an char array */
   2270     int n_chunk;
   2271     int size; /* the size in byte of the chunk */
   2272     int n_size;
   2273     int terminate; /* last chunk indicator */
   2274     int n_terminate;
   2275 
   2276     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   2277     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
   2278     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   2279     for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
   2280         mem_base = xmlMemBlocks();
   2281         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   2282         chunk = gen_const_char_ptr(n_chunk, 1);
   2283         size = gen_int(n_size, 2);
   2284         terminate = gen_int(n_terminate, 3);
   2285 
   2286         ret_val = htmlParseChunk(ctxt, (const char *)chunk, size, terminate);
   2287         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
   2288         desret_int(ret_val);
   2289         call_tests++;
   2290         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   2291         des_const_char_ptr(n_chunk, (const char *)chunk, 1);
   2292         des_int(n_size, size, 2);
   2293         des_int(n_terminate, terminate, 3);
   2294         xmlResetLastError();
   2295         if (mem_base != xmlMemBlocks()) {
   2296             printf("Leak of %d blocks found in htmlParseChunk",
   2297 	           xmlMemBlocks() - mem_base);
   2298 	    test_ret++;
   2299             printf(" %d", n_ctxt);
   2300             printf(" %d", n_chunk);
   2301             printf(" %d", n_size);
   2302             printf(" %d", n_terminate);
   2303             printf("\n");
   2304         }
   2305     }
   2306     }
   2307     }
   2308     }
   2309     function_tests++;
   2310 #endif
   2311 
   2312     return(test_ret);
   2313 }
   2314 
   2315 
   2316 static int
   2317 test_htmlParseDoc(void) {
   2318     int test_ret = 0;
   2319 
   2320 #if defined(LIBXML_HTML_ENABLED)
   2321     int mem_base;
   2322     htmlDocPtr ret_val;
   2323     xmlChar * cur; /* a pointer to an array of xmlChar */
   2324     int n_cur;
   2325     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
   2326     int n_encoding;
   2327 
   2328     for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
   2329     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2330         mem_base = xmlMemBlocks();
   2331         cur = gen_xmlChar_ptr(n_cur, 0);
   2332         encoding = gen_const_char_ptr(n_encoding, 1);
   2333 
   2334         ret_val = htmlParseDoc(cur, (const char *)encoding);
   2335         desret_htmlDocPtr(ret_val);
   2336         call_tests++;
   2337         des_xmlChar_ptr(n_cur, cur, 0);
   2338         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   2339         xmlResetLastError();
   2340         if (mem_base != xmlMemBlocks()) {
   2341             printf("Leak of %d blocks found in htmlParseDoc",
   2342 	           xmlMemBlocks() - mem_base);
   2343 	    test_ret++;
   2344             printf(" %d", n_cur);
   2345             printf(" %d", n_encoding);
   2346             printf("\n");
   2347         }
   2348     }
   2349     }
   2350     function_tests++;
   2351 #endif
   2352 
   2353     return(test_ret);
   2354 }
   2355 
   2356 
   2357 static int
   2358 test_htmlParseDocument(void) {
   2359     int test_ret = 0;
   2360 
   2361 #if defined(LIBXML_HTML_ENABLED)
   2362     int mem_base;
   2363     int ret_val;
   2364     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   2365     int n_ctxt;
   2366 
   2367     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   2368         mem_base = xmlMemBlocks();
   2369         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   2370 
   2371         ret_val = htmlParseDocument(ctxt);
   2372         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
   2373         desret_int(ret_val);
   2374         call_tests++;
   2375         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   2376         xmlResetLastError();
   2377         if (mem_base != xmlMemBlocks()) {
   2378             printf("Leak of %d blocks found in htmlParseDocument",
   2379 	           xmlMemBlocks() - mem_base);
   2380 	    test_ret++;
   2381             printf(" %d", n_ctxt);
   2382             printf("\n");
   2383         }
   2384     }
   2385     function_tests++;
   2386 #endif
   2387 
   2388     return(test_ret);
   2389 }
   2390 
   2391 
   2392 static int
   2393 test_htmlParseElement(void) {
   2394     int test_ret = 0;
   2395 
   2396 #if defined(LIBXML_HTML_ENABLED)
   2397     int mem_base;
   2398     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   2399     int n_ctxt;
   2400 
   2401     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   2402         mem_base = xmlMemBlocks();
   2403         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   2404 
   2405         htmlParseElement(ctxt);
   2406         call_tests++;
   2407         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   2408         xmlResetLastError();
   2409         if (mem_base != xmlMemBlocks()) {
   2410             printf("Leak of %d blocks found in htmlParseElement",
   2411 	           xmlMemBlocks() - mem_base);
   2412 	    test_ret++;
   2413             printf(" %d", n_ctxt);
   2414             printf("\n");
   2415         }
   2416     }
   2417     function_tests++;
   2418 #endif
   2419 
   2420     return(test_ret);
   2421 }
   2422 
   2423 
   2424 static int
   2425 test_htmlParseEntityRef(void) {
   2426     int test_ret = 0;
   2427 
   2428 #if defined(LIBXML_HTML_ENABLED)
   2429     int mem_base;
   2430     const htmlEntityDesc * ret_val;
   2431     htmlParserCtxtPtr ctxt; /* an HTML parser context */
   2432     int n_ctxt;
   2433     xmlChar ** str; /* location to store the entity name */
   2434     int n_str;
   2435 
   2436     for (n_ctxt = 0;n_ctxt < gen_nb_htmlParserCtxtPtr;n_ctxt++) {
   2437     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr_ptr;n_str++) {
   2438         mem_base = xmlMemBlocks();
   2439         ctxt = gen_htmlParserCtxtPtr(n_ctxt, 0);
   2440         str = gen_const_xmlChar_ptr_ptr(n_str, 1);
   2441 
   2442         ret_val = htmlParseEntityRef(ctxt, (const xmlChar **)str);
   2443         desret_const_htmlEntityDesc_ptr(ret_val);
   2444         call_tests++;
   2445         des_htmlParserCtxtPtr(n_ctxt, ctxt, 0);
   2446         des_const_xmlChar_ptr_ptr(n_str, (const xmlChar **)str, 1);
   2447         xmlResetLastError();
   2448         if (mem_base != xmlMemBlocks()) {
   2449             printf("Leak of %d blocks found in htmlParseEntityRef",
   2450 	           xmlMemBlocks() - mem_base);
   2451 	    test_ret++;
   2452             printf(" %d", n_ctxt);
   2453             printf(" %d", n_str);
   2454             printf("\n");
   2455         }
   2456     }
   2457     }
   2458     function_tests++;
   2459 #endif
   2460 
   2461     return(test_ret);
   2462 }
   2463 
   2464 
   2465 static int
   2466 test_htmlParseFile(void) {
   2467     int test_ret = 0;
   2468 
   2469 #if defined(LIBXML_HTML_ENABLED)
   2470     htmlDocPtr ret_val;
   2471     const char * filename; /* the filename */
   2472     int n_filename;
   2473     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
   2474     int n_encoding;
   2475 
   2476     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   2477     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2478         filename = gen_filepath(n_filename, 0);
   2479         encoding = gen_const_char_ptr(n_encoding, 1);
   2480 
   2481         ret_val = htmlParseFile(filename, (const char *)encoding);
   2482         desret_htmlDocPtr(ret_val);
   2483         call_tests++;
   2484         des_filepath(n_filename, filename, 0);
   2485         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   2486         xmlResetLastError();
   2487     }
   2488     }
   2489     function_tests++;
   2490 #endif
   2491 
   2492     return(test_ret);
   2493 }
   2494 
   2495 
   2496 static int
   2497 test_htmlReadDoc(void) {
   2498     int test_ret = 0;
   2499 
   2500 #if defined(LIBXML_HTML_ENABLED)
   2501     int mem_base;
   2502     htmlDocPtr ret_val;
   2503     xmlChar * cur; /* a pointer to a zero terminated string */
   2504     int n_cur;
   2505     const char * URL; /* the base URL to use for the document */
   2506     int n_URL;
   2507     char * encoding; /* the document encoding, or NULL */
   2508     int n_encoding;
   2509     int options; /* a combination of htmlParserOption(s) */
   2510     int n_options;
   2511 
   2512     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   2513     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   2514     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2515     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   2516         mem_base = xmlMemBlocks();
   2517         cur = gen_const_xmlChar_ptr(n_cur, 0);
   2518         URL = gen_filepath(n_URL, 1);
   2519         encoding = gen_const_char_ptr(n_encoding, 2);
   2520         options = gen_int(n_options, 3);
   2521 
   2522         ret_val = htmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
   2523         desret_htmlDocPtr(ret_val);
   2524         call_tests++;
   2525         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   2526         des_filepath(n_URL, URL, 1);
   2527         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   2528         des_int(n_options, options, 3);
   2529         xmlResetLastError();
   2530         if (mem_base != xmlMemBlocks()) {
   2531             printf("Leak of %d blocks found in htmlReadDoc",
   2532 	           xmlMemBlocks() - mem_base);
   2533 	    test_ret++;
   2534             printf(" %d", n_cur);
   2535             printf(" %d", n_URL);
   2536             printf(" %d", n_encoding);
   2537             printf(" %d", n_options);
   2538             printf("\n");
   2539         }
   2540     }
   2541     }
   2542     }
   2543     }
   2544     function_tests++;
   2545 #endif
   2546 
   2547     return(test_ret);
   2548 }
   2549 
   2550 
   2551 static int
   2552 test_htmlReadFile(void) {
   2553     int test_ret = 0;
   2554 
   2555 #if defined(LIBXML_HTML_ENABLED)
   2556     int mem_base;
   2557     htmlDocPtr ret_val;
   2558     const char * filename; /* a file or URL */
   2559     int n_filename;
   2560     char * encoding; /* the document encoding, or NULL */
   2561     int n_encoding;
   2562     int options; /* a combination of htmlParserOption(s) */
   2563     int n_options;
   2564 
   2565     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   2566     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2567     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   2568         mem_base = xmlMemBlocks();
   2569         filename = gen_filepath(n_filename, 0);
   2570         encoding = gen_const_char_ptr(n_encoding, 1);
   2571         options = gen_int(n_options, 2);
   2572 
   2573         ret_val = htmlReadFile(filename, (const char *)encoding, options);
   2574         desret_htmlDocPtr(ret_val);
   2575         call_tests++;
   2576         des_filepath(n_filename, filename, 0);
   2577         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   2578         des_int(n_options, options, 2);
   2579         xmlResetLastError();
   2580         if (mem_base != xmlMemBlocks()) {
   2581             printf("Leak of %d blocks found in htmlReadFile",
   2582 	           xmlMemBlocks() - mem_base);
   2583 	    test_ret++;
   2584             printf(" %d", n_filename);
   2585             printf(" %d", n_encoding);
   2586             printf(" %d", n_options);
   2587             printf("\n");
   2588         }
   2589     }
   2590     }
   2591     }
   2592     function_tests++;
   2593 #endif
   2594 
   2595     return(test_ret);
   2596 }
   2597 
   2598 
   2599 static int
   2600 test_htmlReadMemory(void) {
   2601     int test_ret = 0;
   2602 
   2603 #if defined(LIBXML_HTML_ENABLED)
   2604     int mem_base;
   2605     htmlDocPtr ret_val;
   2606     char * buffer; /* a pointer to a char array */
   2607     int n_buffer;
   2608     int size; /* the size of the array */
   2609     int n_size;
   2610     const char * URL; /* the base URL to use for the document */
   2611     int n_URL;
   2612     char * encoding; /* the document encoding, or NULL */
   2613     int n_encoding;
   2614     int options; /* a combination of htmlParserOption(s) */
   2615     int n_options;
   2616 
   2617     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   2618     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   2619     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   2620     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2621     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   2622         mem_base = xmlMemBlocks();
   2623         buffer = gen_const_char_ptr(n_buffer, 0);
   2624         size = gen_int(n_size, 1);
   2625         URL = gen_filepath(n_URL, 2);
   2626         encoding = gen_const_char_ptr(n_encoding, 3);
   2627         options = gen_int(n_options, 4);
   2628 
   2629         ret_val = htmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
   2630         desret_htmlDocPtr(ret_val);
   2631         call_tests++;
   2632         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   2633         des_int(n_size, size, 1);
   2634         des_filepath(n_URL, URL, 2);
   2635         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   2636         des_int(n_options, options, 4);
   2637         xmlResetLastError();
   2638         if (mem_base != xmlMemBlocks()) {
   2639             printf("Leak of %d blocks found in htmlReadMemory",
   2640 	           xmlMemBlocks() - mem_base);
   2641 	    test_ret++;
   2642             printf(" %d", n_buffer);
   2643             printf(" %d", n_size);
   2644             printf(" %d", n_URL);
   2645             printf(" %d", n_encoding);
   2646             printf(" %d", n_options);
   2647             printf("\n");
   2648         }
   2649     }
   2650     }
   2651     }
   2652     }
   2653     }
   2654     function_tests++;
   2655 #endif
   2656 
   2657     return(test_ret);
   2658 }
   2659 
   2660 
   2661 static int
   2662 test_htmlSAXParseDoc(void) {
   2663     int test_ret = 0;
   2664 
   2665 #if defined(LIBXML_HTML_ENABLED)
   2666     int mem_base;
   2667     htmlDocPtr ret_val;
   2668     xmlChar * cur; /* a pointer to an array of xmlChar */
   2669     int n_cur;
   2670     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
   2671     int n_encoding;
   2672     htmlSAXHandlerPtr sax; /* the SAX handler block */
   2673     int n_sax;
   2674     void * userData; /* if using SAX, this pointer will be provided on callbacks. */
   2675     int n_userData;
   2676 
   2677     for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
   2678     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2679     for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
   2680     for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
   2681         mem_base = xmlMemBlocks();
   2682         cur = gen_xmlChar_ptr(n_cur, 0);
   2683         encoding = gen_const_char_ptr(n_encoding, 1);
   2684         sax = gen_htmlSAXHandlerPtr(n_sax, 2);
   2685         userData = gen_userdata(n_userData, 3);
   2686 
   2687         ret_val = htmlSAXParseDoc(cur, (const char *)encoding, sax, userData);
   2688         desret_htmlDocPtr(ret_val);
   2689         call_tests++;
   2690         des_xmlChar_ptr(n_cur, cur, 0);
   2691         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   2692         des_htmlSAXHandlerPtr(n_sax, sax, 2);
   2693         des_userdata(n_userData, userData, 3);
   2694         xmlResetLastError();
   2695         if (mem_base != xmlMemBlocks()) {
   2696             printf("Leak of %d blocks found in htmlSAXParseDoc",
   2697 	           xmlMemBlocks() - mem_base);
   2698 	    test_ret++;
   2699             printf(" %d", n_cur);
   2700             printf(" %d", n_encoding);
   2701             printf(" %d", n_sax);
   2702             printf(" %d", n_userData);
   2703             printf("\n");
   2704         }
   2705     }
   2706     }
   2707     }
   2708     }
   2709     function_tests++;
   2710 #endif
   2711 
   2712     return(test_ret);
   2713 }
   2714 
   2715 
   2716 static int
   2717 test_htmlSAXParseFile(void) {
   2718     int test_ret = 0;
   2719 
   2720 #if defined(LIBXML_HTML_ENABLED)
   2721     int mem_base;
   2722     htmlDocPtr ret_val;
   2723     const char * filename; /* the filename */
   2724     int n_filename;
   2725     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
   2726     int n_encoding;
   2727     htmlSAXHandlerPtr sax; /* the SAX handler block */
   2728     int n_sax;
   2729     void * userData; /* if using SAX, this pointer will be provided on callbacks. */
   2730     int n_userData;
   2731 
   2732     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   2733     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2734     for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
   2735     for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
   2736         mem_base = xmlMemBlocks();
   2737         filename = gen_filepath(n_filename, 0);
   2738         encoding = gen_const_char_ptr(n_encoding, 1);
   2739         sax = gen_htmlSAXHandlerPtr(n_sax, 2);
   2740         userData = gen_userdata(n_userData, 3);
   2741 
   2742         ret_val = htmlSAXParseFile(filename, (const char *)encoding, sax, userData);
   2743         desret_htmlDocPtr(ret_val);
   2744         call_tests++;
   2745         des_filepath(n_filename, filename, 0);
   2746         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   2747         des_htmlSAXHandlerPtr(n_sax, sax, 2);
   2748         des_userdata(n_userData, userData, 3);
   2749         xmlResetLastError();
   2750         if (mem_base != xmlMemBlocks()) {
   2751             printf("Leak of %d blocks found in htmlSAXParseFile",
   2752 	           xmlMemBlocks() - mem_base);
   2753 	    test_ret++;
   2754             printf(" %d", n_filename);
   2755             printf(" %d", n_encoding);
   2756             printf(" %d", n_sax);
   2757             printf(" %d", n_userData);
   2758             printf("\n");
   2759         }
   2760     }
   2761     }
   2762     }
   2763     }
   2764     function_tests++;
   2765 #endif
   2766 
   2767     return(test_ret);
   2768 }
   2769 
   2770 
   2771 static int
   2772 test_htmlTagLookup(void) {
   2773     int test_ret = 0;
   2774 
   2775 
   2776     /* missing type support */
   2777     return(test_ret);
   2778 }
   2779 
   2780 static int
   2781 test_HTMLparser(void) {
   2782     int test_ret = 0;
   2783 
   2784     if (quiet == 0) printf("Testing HTMLparser : 32 of 38 functions ...\n");
   2785     test_ret += test_UTF8ToHtml();
   2786     test_ret += test_htmlAttrAllowed();
   2787     test_ret += test_htmlAutoCloseTag();
   2788     test_ret += test_htmlCreateMemoryParserCtxt();
   2789     test_ret += test_htmlCreatePushParserCtxt();
   2790     test_ret += test_htmlCtxtReadDoc();
   2791     test_ret += test_htmlCtxtReadFile();
   2792     test_ret += test_htmlCtxtReadMemory();
   2793     test_ret += test_htmlCtxtReset();
   2794     test_ret += test_htmlCtxtUseOptions();
   2795     test_ret += test_htmlElementAllowedHere();
   2796     test_ret += test_htmlElementStatusHere();
   2797     test_ret += test_htmlEncodeEntities();
   2798     test_ret += test_htmlEntityLookup();
   2799     test_ret += test_htmlEntityValueLookup();
   2800     test_ret += test_htmlHandleOmittedElem();
   2801     test_ret += test_htmlIsAutoClosed();
   2802     test_ret += test_htmlIsScriptAttribute();
   2803     test_ret += test_htmlNewParserCtxt();
   2804     test_ret += test_htmlNodeStatus();
   2805     test_ret += test_htmlParseCharRef();
   2806     test_ret += test_htmlParseChunk();
   2807     test_ret += test_htmlParseDoc();
   2808     test_ret += test_htmlParseDocument();
   2809     test_ret += test_htmlParseElement();
   2810     test_ret += test_htmlParseEntityRef();
   2811     test_ret += test_htmlParseFile();
   2812     test_ret += test_htmlReadDoc();
   2813     test_ret += test_htmlReadFile();
   2814     test_ret += test_htmlReadMemory();
   2815     test_ret += test_htmlSAXParseDoc();
   2816     test_ret += test_htmlSAXParseFile();
   2817     test_ret += test_htmlTagLookup();
   2818 
   2819     if (test_ret != 0)
   2820 	printf("Module HTMLparser: %d errors\n", test_ret);
   2821     return(test_ret);
   2822 }
   2823 
   2824 static int
   2825 test_htmlDocContentDumpFormatOutput(void) {
   2826     int test_ret = 0;
   2827 
   2828 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   2829     int mem_base;
   2830     xmlOutputBufferPtr buf; /* the HTML buffer output */
   2831     int n_buf;
   2832     xmlDocPtr cur; /* the document */
   2833     int n_cur;
   2834     char * encoding; /* the encoding string */
   2835     int n_encoding;
   2836     int format; /* should formatting spaces been added */
   2837     int n_format;
   2838 
   2839     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   2840     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   2841     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2842     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   2843         mem_base = xmlMemBlocks();
   2844         buf = gen_xmlOutputBufferPtr(n_buf, 0);
   2845         cur = gen_xmlDocPtr(n_cur, 1);
   2846         encoding = gen_const_char_ptr(n_encoding, 2);
   2847         format = gen_int(n_format, 3);
   2848 
   2849         htmlDocContentDumpFormatOutput(buf, cur, (const char *)encoding, format);
   2850         call_tests++;
   2851         des_xmlOutputBufferPtr(n_buf, buf, 0);
   2852         des_xmlDocPtr(n_cur, cur, 1);
   2853         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   2854         des_int(n_format, format, 3);
   2855         xmlResetLastError();
   2856         if (mem_base != xmlMemBlocks()) {
   2857             printf("Leak of %d blocks found in htmlDocContentDumpFormatOutput",
   2858 	           xmlMemBlocks() - mem_base);
   2859 	    test_ret++;
   2860             printf(" %d", n_buf);
   2861             printf(" %d", n_cur);
   2862             printf(" %d", n_encoding);
   2863             printf(" %d", n_format);
   2864             printf("\n");
   2865         }
   2866     }
   2867     }
   2868     }
   2869     }
   2870     function_tests++;
   2871 #endif
   2872 
   2873     return(test_ret);
   2874 }
   2875 
   2876 
   2877 static int
   2878 test_htmlDocContentDumpOutput(void) {
   2879     int test_ret = 0;
   2880 
   2881 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   2882     int mem_base;
   2883     xmlOutputBufferPtr buf; /* the HTML buffer output */
   2884     int n_buf;
   2885     xmlDocPtr cur; /* the document */
   2886     int n_cur;
   2887     char * encoding; /* the encoding string */
   2888     int n_encoding;
   2889 
   2890     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   2891     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   2892     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   2893         mem_base = xmlMemBlocks();
   2894         buf = gen_xmlOutputBufferPtr(n_buf, 0);
   2895         cur = gen_xmlDocPtr(n_cur, 1);
   2896         encoding = gen_const_char_ptr(n_encoding, 2);
   2897 
   2898         htmlDocContentDumpOutput(buf, cur, (const char *)encoding);
   2899         call_tests++;
   2900         des_xmlOutputBufferPtr(n_buf, buf, 0);
   2901         des_xmlDocPtr(n_cur, cur, 1);
   2902         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   2903         xmlResetLastError();
   2904         if (mem_base != xmlMemBlocks()) {
   2905             printf("Leak of %d blocks found in htmlDocContentDumpOutput",
   2906 	           xmlMemBlocks() - mem_base);
   2907 	    test_ret++;
   2908             printf(" %d", n_buf);
   2909             printf(" %d", n_cur);
   2910             printf(" %d", n_encoding);
   2911             printf("\n");
   2912         }
   2913     }
   2914     }
   2915     }
   2916     function_tests++;
   2917 #endif
   2918 
   2919     return(test_ret);
   2920 }
   2921 
   2922 
   2923 static int
   2924 test_htmlDocDump(void) {
   2925     int test_ret = 0;
   2926 
   2927 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   2928     int mem_base;
   2929     int ret_val;
   2930     FILE * f; /* the FILE* */
   2931     int n_f;
   2932     xmlDocPtr cur; /* the document */
   2933     int n_cur;
   2934 
   2935     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
   2936     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   2937         mem_base = xmlMemBlocks();
   2938         f = gen_FILE_ptr(n_f, 0);
   2939         cur = gen_xmlDocPtr(n_cur, 1);
   2940 
   2941         ret_val = htmlDocDump(f, cur);
   2942         desret_int(ret_val);
   2943         call_tests++;
   2944         des_FILE_ptr(n_f, f, 0);
   2945         des_xmlDocPtr(n_cur, cur, 1);
   2946         xmlResetLastError();
   2947         if (mem_base != xmlMemBlocks()) {
   2948             printf("Leak of %d blocks found in htmlDocDump",
   2949 	           xmlMemBlocks() - mem_base);
   2950 	    test_ret++;
   2951             printf(" %d", n_f);
   2952             printf(" %d", n_cur);
   2953             printf("\n");
   2954         }
   2955     }
   2956     }
   2957     function_tests++;
   2958 #endif
   2959 
   2960     return(test_ret);
   2961 }
   2962 
   2963 
   2964 #define gen_nb_xmlChar_ptr_ptr 1
   2965 static xmlChar ** gen_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   2966     return(NULL);
   2967 }
   2968 static void des_xmlChar_ptr_ptr(int no ATTRIBUTE_UNUSED, xmlChar ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   2969 }
   2970 
   2971 static int
   2972 test_htmlDocDumpMemory(void) {
   2973     int test_ret = 0;
   2974 
   2975 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   2976     int mem_base;
   2977     xmlDocPtr cur; /* the document */
   2978     int n_cur;
   2979     xmlChar ** mem; /* OUT: the memory pointer */
   2980     int n_mem;
   2981     int * size; /* OUT: the memory length */
   2982     int n_size;
   2983 
   2984     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   2985     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
   2986     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
   2987         mem_base = xmlMemBlocks();
   2988         cur = gen_xmlDocPtr(n_cur, 0);
   2989         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
   2990         size = gen_int_ptr(n_size, 2);
   2991 
   2992         htmlDocDumpMemory(cur, mem, size);
   2993         call_tests++;
   2994         des_xmlDocPtr(n_cur, cur, 0);
   2995         des_xmlChar_ptr_ptr(n_mem, mem, 1);
   2996         des_int_ptr(n_size, size, 2);
   2997         xmlResetLastError();
   2998         if (mem_base != xmlMemBlocks()) {
   2999             printf("Leak of %d blocks found in htmlDocDumpMemory",
   3000 	           xmlMemBlocks() - mem_base);
   3001 	    test_ret++;
   3002             printf(" %d", n_cur);
   3003             printf(" %d", n_mem);
   3004             printf(" %d", n_size);
   3005             printf("\n");
   3006         }
   3007     }
   3008     }
   3009     }
   3010     function_tests++;
   3011 #endif
   3012 
   3013     return(test_ret);
   3014 }
   3015 
   3016 
   3017 static int
   3018 test_htmlDocDumpMemoryFormat(void) {
   3019     int test_ret = 0;
   3020 
   3021 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3022     int mem_base;
   3023     xmlDocPtr cur; /* the document */
   3024     int n_cur;
   3025     xmlChar ** mem; /* OUT: the memory pointer */
   3026     int n_mem;
   3027     int * size; /* OUT: the memory length */
   3028     int n_size;
   3029     int format; /* should formatting spaces been added */
   3030     int n_format;
   3031 
   3032     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   3033     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
   3034     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
   3035     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   3036         mem_base = xmlMemBlocks();
   3037         cur = gen_xmlDocPtr(n_cur, 0);
   3038         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
   3039         size = gen_int_ptr(n_size, 2);
   3040         format = gen_int(n_format, 3);
   3041 
   3042         htmlDocDumpMemoryFormat(cur, mem, size, format);
   3043         call_tests++;
   3044         des_xmlDocPtr(n_cur, cur, 0);
   3045         des_xmlChar_ptr_ptr(n_mem, mem, 1);
   3046         des_int_ptr(n_size, size, 2);
   3047         des_int(n_format, format, 3);
   3048         xmlResetLastError();
   3049         if (mem_base != xmlMemBlocks()) {
   3050             printf("Leak of %d blocks found in htmlDocDumpMemoryFormat",
   3051 	           xmlMemBlocks() - mem_base);
   3052 	    test_ret++;
   3053             printf(" %d", n_cur);
   3054             printf(" %d", n_mem);
   3055             printf(" %d", n_size);
   3056             printf(" %d", n_format);
   3057             printf("\n");
   3058         }
   3059     }
   3060     }
   3061     }
   3062     }
   3063     function_tests++;
   3064 #endif
   3065 
   3066     return(test_ret);
   3067 }
   3068 
   3069 
   3070 static int
   3071 test_htmlGetMetaEncoding(void) {
   3072     int test_ret = 0;
   3073 
   3074 #if defined(LIBXML_HTML_ENABLED)
   3075     int mem_base;
   3076     const xmlChar * ret_val;
   3077     htmlDocPtr doc; /* the document */
   3078     int n_doc;
   3079 
   3080     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
   3081         mem_base = xmlMemBlocks();
   3082         doc = gen_htmlDocPtr(n_doc, 0);
   3083 
   3084         ret_val = htmlGetMetaEncoding(doc);
   3085         desret_const_xmlChar_ptr(ret_val);
   3086         call_tests++;
   3087         des_htmlDocPtr(n_doc, doc, 0);
   3088         xmlResetLastError();
   3089         if (mem_base != xmlMemBlocks()) {
   3090             printf("Leak of %d blocks found in htmlGetMetaEncoding",
   3091 	           xmlMemBlocks() - mem_base);
   3092 	    test_ret++;
   3093             printf(" %d", n_doc);
   3094             printf("\n");
   3095         }
   3096     }
   3097     function_tests++;
   3098 #endif
   3099 
   3100     return(test_ret);
   3101 }
   3102 
   3103 
   3104 static int
   3105 test_htmlIsBooleanAttr(void) {
   3106     int test_ret = 0;
   3107 
   3108 #if defined(LIBXML_HTML_ENABLED)
   3109     int mem_base;
   3110     int ret_val;
   3111     xmlChar * name; /* the name of the attribute to check */
   3112     int n_name;
   3113 
   3114     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   3115         mem_base = xmlMemBlocks();
   3116         name = gen_const_xmlChar_ptr(n_name, 0);
   3117 
   3118         ret_val = htmlIsBooleanAttr((const xmlChar *)name);
   3119         desret_int(ret_val);
   3120         call_tests++;
   3121         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   3122         xmlResetLastError();
   3123         if (mem_base != xmlMemBlocks()) {
   3124             printf("Leak of %d blocks found in htmlIsBooleanAttr",
   3125 	           xmlMemBlocks() - mem_base);
   3126 	    test_ret++;
   3127             printf(" %d", n_name);
   3128             printf("\n");
   3129         }
   3130     }
   3131     function_tests++;
   3132 #endif
   3133 
   3134     return(test_ret);
   3135 }
   3136 
   3137 
   3138 static int
   3139 test_htmlNewDoc(void) {
   3140     int test_ret = 0;
   3141 
   3142 #if defined(LIBXML_HTML_ENABLED)
   3143     int mem_base;
   3144     htmlDocPtr ret_val;
   3145     xmlChar * URI; /* URI for the dtd, or NULL */
   3146     int n_URI;
   3147     xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
   3148     int n_ExternalID;
   3149 
   3150     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   3151     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   3152         mem_base = xmlMemBlocks();
   3153         URI = gen_const_xmlChar_ptr(n_URI, 0);
   3154         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
   3155 
   3156         ret_val = htmlNewDoc((const xmlChar *)URI, (const xmlChar *)ExternalID);
   3157         desret_htmlDocPtr(ret_val);
   3158         call_tests++;
   3159         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
   3160         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
   3161         xmlResetLastError();
   3162         if (mem_base != xmlMemBlocks()) {
   3163             printf("Leak of %d blocks found in htmlNewDoc",
   3164 	           xmlMemBlocks() - mem_base);
   3165 	    test_ret++;
   3166             printf(" %d", n_URI);
   3167             printf(" %d", n_ExternalID);
   3168             printf("\n");
   3169         }
   3170     }
   3171     }
   3172     function_tests++;
   3173 #endif
   3174 
   3175     return(test_ret);
   3176 }
   3177 
   3178 
   3179 static int
   3180 test_htmlNewDocNoDtD(void) {
   3181     int test_ret = 0;
   3182 
   3183 #if defined(LIBXML_HTML_ENABLED)
   3184     int mem_base;
   3185     htmlDocPtr ret_val;
   3186     xmlChar * URI; /* URI for the dtd, or NULL */
   3187     int n_URI;
   3188     xmlChar * ExternalID; /* the external ID of the DTD, or NULL */
   3189     int n_ExternalID;
   3190 
   3191     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   3192     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   3193         mem_base = xmlMemBlocks();
   3194         URI = gen_const_xmlChar_ptr(n_URI, 0);
   3195         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
   3196 
   3197         ret_val = htmlNewDocNoDtD((const xmlChar *)URI, (const xmlChar *)ExternalID);
   3198         desret_htmlDocPtr(ret_val);
   3199         call_tests++;
   3200         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
   3201         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
   3202         xmlResetLastError();
   3203         if (mem_base != xmlMemBlocks()) {
   3204             printf("Leak of %d blocks found in htmlNewDocNoDtD",
   3205 	           xmlMemBlocks() - mem_base);
   3206 	    test_ret++;
   3207             printf(" %d", n_URI);
   3208             printf(" %d", n_ExternalID);
   3209             printf("\n");
   3210         }
   3211     }
   3212     }
   3213     function_tests++;
   3214 #endif
   3215 
   3216     return(test_ret);
   3217 }
   3218 
   3219 
   3220 static int
   3221 test_htmlNodeDump(void) {
   3222     int test_ret = 0;
   3223 
   3224 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3225     int mem_base;
   3226     int ret_val;
   3227     xmlBufferPtr buf; /* the HTML buffer output */
   3228     int n_buf;
   3229     xmlDocPtr doc; /* the document */
   3230     int n_doc;
   3231     xmlNodePtr cur; /* the current node */
   3232     int n_cur;
   3233 
   3234     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   3235     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   3236     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   3237         mem_base = xmlMemBlocks();
   3238         buf = gen_xmlBufferPtr(n_buf, 0);
   3239         doc = gen_xmlDocPtr(n_doc, 1);
   3240         cur = gen_xmlNodePtr(n_cur, 2);
   3241 
   3242         ret_val = htmlNodeDump(buf, doc, cur);
   3243         desret_int(ret_val);
   3244         call_tests++;
   3245         des_xmlBufferPtr(n_buf, buf, 0);
   3246         des_xmlDocPtr(n_doc, doc, 1);
   3247         des_xmlNodePtr(n_cur, cur, 2);
   3248         xmlResetLastError();
   3249         if (mem_base != xmlMemBlocks()) {
   3250             printf("Leak of %d blocks found in htmlNodeDump",
   3251 	           xmlMemBlocks() - mem_base);
   3252 	    test_ret++;
   3253             printf(" %d", n_buf);
   3254             printf(" %d", n_doc);
   3255             printf(" %d", n_cur);
   3256             printf("\n");
   3257         }
   3258     }
   3259     }
   3260     }
   3261     function_tests++;
   3262 #endif
   3263 
   3264     return(test_ret);
   3265 }
   3266 
   3267 
   3268 static int
   3269 test_htmlNodeDumpFile(void) {
   3270     int test_ret = 0;
   3271 
   3272 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3273     int mem_base;
   3274     FILE * out; /* the FILE pointer */
   3275     int n_out;
   3276     xmlDocPtr doc; /* the document */
   3277     int n_doc;
   3278     xmlNodePtr cur; /* the current node */
   3279     int n_cur;
   3280 
   3281     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
   3282     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   3283     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   3284         mem_base = xmlMemBlocks();
   3285         out = gen_FILE_ptr(n_out, 0);
   3286         doc = gen_xmlDocPtr(n_doc, 1);
   3287         cur = gen_xmlNodePtr(n_cur, 2);
   3288 
   3289         htmlNodeDumpFile(out, doc, cur);
   3290         call_tests++;
   3291         des_FILE_ptr(n_out, out, 0);
   3292         des_xmlDocPtr(n_doc, doc, 1);
   3293         des_xmlNodePtr(n_cur, cur, 2);
   3294         xmlResetLastError();
   3295         if (mem_base != xmlMemBlocks()) {
   3296             printf("Leak of %d blocks found in htmlNodeDumpFile",
   3297 	           xmlMemBlocks() - mem_base);
   3298 	    test_ret++;
   3299             printf(" %d", n_out);
   3300             printf(" %d", n_doc);
   3301             printf(" %d", n_cur);
   3302             printf("\n");
   3303         }
   3304     }
   3305     }
   3306     }
   3307     function_tests++;
   3308 #endif
   3309 
   3310     return(test_ret);
   3311 }
   3312 
   3313 
   3314 static int
   3315 test_htmlNodeDumpFileFormat(void) {
   3316     int test_ret = 0;
   3317 
   3318 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3319     int mem_base;
   3320     int ret_val;
   3321     FILE * out; /* the FILE pointer */
   3322     int n_out;
   3323     xmlDocPtr doc; /* the document */
   3324     int n_doc;
   3325     xmlNodePtr cur; /* the current node */
   3326     int n_cur;
   3327     char * encoding; /* the document encoding */
   3328     int n_encoding;
   3329     int format; /* should formatting spaces been added */
   3330     int n_format;
   3331 
   3332     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
   3333     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   3334     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   3335     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   3336     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   3337         mem_base = xmlMemBlocks();
   3338         out = gen_FILE_ptr(n_out, 0);
   3339         doc = gen_xmlDocPtr(n_doc, 1);
   3340         cur = gen_xmlNodePtr(n_cur, 2);
   3341         encoding = gen_const_char_ptr(n_encoding, 3);
   3342         format = gen_int(n_format, 4);
   3343 
   3344         ret_val = htmlNodeDumpFileFormat(out, doc, cur, (const char *)encoding, format);
   3345         desret_int(ret_val);
   3346         call_tests++;
   3347         des_FILE_ptr(n_out, out, 0);
   3348         des_xmlDocPtr(n_doc, doc, 1);
   3349         des_xmlNodePtr(n_cur, cur, 2);
   3350         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   3351         des_int(n_format, format, 4);
   3352         xmlResetLastError();
   3353         if (mem_base != xmlMemBlocks()) {
   3354             printf("Leak of %d blocks found in htmlNodeDumpFileFormat",
   3355 	           xmlMemBlocks() - mem_base);
   3356 	    test_ret++;
   3357             printf(" %d", n_out);
   3358             printf(" %d", n_doc);
   3359             printf(" %d", n_cur);
   3360             printf(" %d", n_encoding);
   3361             printf(" %d", n_format);
   3362             printf("\n");
   3363         }
   3364     }
   3365     }
   3366     }
   3367     }
   3368     }
   3369     function_tests++;
   3370 #endif
   3371 
   3372     return(test_ret);
   3373 }
   3374 
   3375 
   3376 static int
   3377 test_htmlNodeDumpFormatOutput(void) {
   3378     int test_ret = 0;
   3379 
   3380 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3381     int mem_base;
   3382     xmlOutputBufferPtr buf; /* the HTML buffer output */
   3383     int n_buf;
   3384     xmlDocPtr doc; /* the document */
   3385     int n_doc;
   3386     xmlNodePtr cur; /* the current node */
   3387     int n_cur;
   3388     char * encoding; /* the encoding string */
   3389     int n_encoding;
   3390     int format; /* should formatting spaces been added */
   3391     int n_format;
   3392 
   3393     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   3394     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   3395     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   3396     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   3397     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   3398         mem_base = xmlMemBlocks();
   3399         buf = gen_xmlOutputBufferPtr(n_buf, 0);
   3400         doc = gen_xmlDocPtr(n_doc, 1);
   3401         cur = gen_xmlNodePtr(n_cur, 2);
   3402         encoding = gen_const_char_ptr(n_encoding, 3);
   3403         format = gen_int(n_format, 4);
   3404 
   3405         htmlNodeDumpFormatOutput(buf, doc, cur, (const char *)encoding, format);
   3406         call_tests++;
   3407         des_xmlOutputBufferPtr(n_buf, buf, 0);
   3408         des_xmlDocPtr(n_doc, doc, 1);
   3409         des_xmlNodePtr(n_cur, cur, 2);
   3410         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   3411         des_int(n_format, format, 4);
   3412         xmlResetLastError();
   3413         if (mem_base != xmlMemBlocks()) {
   3414             printf("Leak of %d blocks found in htmlNodeDumpFormatOutput",
   3415 	           xmlMemBlocks() - mem_base);
   3416 	    test_ret++;
   3417             printf(" %d", n_buf);
   3418             printf(" %d", n_doc);
   3419             printf(" %d", n_cur);
   3420             printf(" %d", n_encoding);
   3421             printf(" %d", n_format);
   3422             printf("\n");
   3423         }
   3424     }
   3425     }
   3426     }
   3427     }
   3428     }
   3429     function_tests++;
   3430 #endif
   3431 
   3432     return(test_ret);
   3433 }
   3434 
   3435 
   3436 static int
   3437 test_htmlNodeDumpOutput(void) {
   3438     int test_ret = 0;
   3439 
   3440 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3441     int mem_base;
   3442     xmlOutputBufferPtr buf; /* the HTML buffer output */
   3443     int n_buf;
   3444     xmlDocPtr doc; /* the document */
   3445     int n_doc;
   3446     xmlNodePtr cur; /* the current node */
   3447     int n_cur;
   3448     char * encoding; /* the encoding string */
   3449     int n_encoding;
   3450 
   3451     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   3452     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   3453     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   3454     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   3455         mem_base = xmlMemBlocks();
   3456         buf = gen_xmlOutputBufferPtr(n_buf, 0);
   3457         doc = gen_xmlDocPtr(n_doc, 1);
   3458         cur = gen_xmlNodePtr(n_cur, 2);
   3459         encoding = gen_const_char_ptr(n_encoding, 3);
   3460 
   3461         htmlNodeDumpOutput(buf, doc, cur, (const char *)encoding);
   3462         call_tests++;
   3463         des_xmlOutputBufferPtr(n_buf, buf, 0);
   3464         des_xmlDocPtr(n_doc, doc, 1);
   3465         des_xmlNodePtr(n_cur, cur, 2);
   3466         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   3467         xmlResetLastError();
   3468         if (mem_base != xmlMemBlocks()) {
   3469             printf("Leak of %d blocks found in htmlNodeDumpOutput",
   3470 	           xmlMemBlocks() - mem_base);
   3471 	    test_ret++;
   3472             printf(" %d", n_buf);
   3473             printf(" %d", n_doc);
   3474             printf(" %d", n_cur);
   3475             printf(" %d", n_encoding);
   3476             printf("\n");
   3477         }
   3478     }
   3479     }
   3480     }
   3481     }
   3482     function_tests++;
   3483 #endif
   3484 
   3485     return(test_ret);
   3486 }
   3487 
   3488 
   3489 static int
   3490 test_htmlSaveFile(void) {
   3491     int test_ret = 0;
   3492 
   3493 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3494     int mem_base;
   3495     int ret_val;
   3496     const char * filename; /* the filename (or URL) */
   3497     int n_filename;
   3498     xmlDocPtr cur; /* the document */
   3499     int n_cur;
   3500 
   3501     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   3502     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   3503         mem_base = xmlMemBlocks();
   3504         filename = gen_fileoutput(n_filename, 0);
   3505         cur = gen_xmlDocPtr(n_cur, 1);
   3506 
   3507         ret_val = htmlSaveFile(filename, cur);
   3508         desret_int(ret_val);
   3509         call_tests++;
   3510         des_fileoutput(n_filename, filename, 0);
   3511         des_xmlDocPtr(n_cur, cur, 1);
   3512         xmlResetLastError();
   3513         if (mem_base != xmlMemBlocks()) {
   3514             printf("Leak of %d blocks found in htmlSaveFile",
   3515 	           xmlMemBlocks() - mem_base);
   3516 	    test_ret++;
   3517             printf(" %d", n_filename);
   3518             printf(" %d", n_cur);
   3519             printf("\n");
   3520         }
   3521     }
   3522     }
   3523     function_tests++;
   3524 #endif
   3525 
   3526     return(test_ret);
   3527 }
   3528 
   3529 
   3530 static int
   3531 test_htmlSaveFileEnc(void) {
   3532     int test_ret = 0;
   3533 
   3534 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3535     int mem_base;
   3536     int ret_val;
   3537     const char * filename; /* the filename */
   3538     int n_filename;
   3539     xmlDocPtr cur; /* the document */
   3540     int n_cur;
   3541     char * encoding; /* the document encoding */
   3542     int n_encoding;
   3543 
   3544     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   3545     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   3546     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   3547         mem_base = xmlMemBlocks();
   3548         filename = gen_fileoutput(n_filename, 0);
   3549         cur = gen_xmlDocPtr(n_cur, 1);
   3550         encoding = gen_const_char_ptr(n_encoding, 2);
   3551 
   3552         ret_val = htmlSaveFileEnc(filename, cur, (const char *)encoding);
   3553         desret_int(ret_val);
   3554         call_tests++;
   3555         des_fileoutput(n_filename, filename, 0);
   3556         des_xmlDocPtr(n_cur, cur, 1);
   3557         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   3558         xmlResetLastError();
   3559         if (mem_base != xmlMemBlocks()) {
   3560             printf("Leak of %d blocks found in htmlSaveFileEnc",
   3561 	           xmlMemBlocks() - mem_base);
   3562 	    test_ret++;
   3563             printf(" %d", n_filename);
   3564             printf(" %d", n_cur);
   3565             printf(" %d", n_encoding);
   3566             printf("\n");
   3567         }
   3568     }
   3569     }
   3570     }
   3571     function_tests++;
   3572 #endif
   3573 
   3574     return(test_ret);
   3575 }
   3576 
   3577 
   3578 static int
   3579 test_htmlSaveFileFormat(void) {
   3580     int test_ret = 0;
   3581 
   3582 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   3583     int mem_base;
   3584     int ret_val;
   3585     const char * filename; /* the filename */
   3586     int n_filename;
   3587     xmlDocPtr cur; /* the document */
   3588     int n_cur;
   3589     char * encoding; /* the document encoding */
   3590     int n_encoding;
   3591     int format; /* should formatting spaces been added */
   3592     int n_format;
   3593 
   3594     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   3595     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   3596     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   3597     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   3598         mem_base = xmlMemBlocks();
   3599         filename = gen_fileoutput(n_filename, 0);
   3600         cur = gen_xmlDocPtr(n_cur, 1);
   3601         encoding = gen_const_char_ptr(n_encoding, 2);
   3602         format = gen_int(n_format, 3);
   3603 
   3604         ret_val = htmlSaveFileFormat(filename, cur, (const char *)encoding, format);
   3605         desret_int(ret_val);
   3606         call_tests++;
   3607         des_fileoutput(n_filename, filename, 0);
   3608         des_xmlDocPtr(n_cur, cur, 1);
   3609         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   3610         des_int(n_format, format, 3);
   3611         xmlResetLastError();
   3612         if (mem_base != xmlMemBlocks()) {
   3613             printf("Leak of %d blocks found in htmlSaveFileFormat",
   3614 	           xmlMemBlocks() - mem_base);
   3615 	    test_ret++;
   3616             printf(" %d", n_filename);
   3617             printf(" %d", n_cur);
   3618             printf(" %d", n_encoding);
   3619             printf(" %d", n_format);
   3620             printf("\n");
   3621         }
   3622     }
   3623     }
   3624     }
   3625     }
   3626     function_tests++;
   3627 #endif
   3628 
   3629     return(test_ret);
   3630 }
   3631 
   3632 
   3633 static int
   3634 test_htmlSetMetaEncoding(void) {
   3635     int test_ret = 0;
   3636 
   3637 #if defined(LIBXML_HTML_ENABLED)
   3638     int mem_base;
   3639     int ret_val;
   3640     htmlDocPtr doc; /* the document */
   3641     int n_doc;
   3642     xmlChar * encoding; /* the encoding string */
   3643     int n_encoding;
   3644 
   3645     for (n_doc = 0;n_doc < gen_nb_htmlDocPtr;n_doc++) {
   3646     for (n_encoding = 0;n_encoding < gen_nb_const_xmlChar_ptr;n_encoding++) {
   3647         mem_base = xmlMemBlocks();
   3648         doc = gen_htmlDocPtr(n_doc, 0);
   3649         encoding = gen_const_xmlChar_ptr(n_encoding, 1);
   3650 
   3651         ret_val = htmlSetMetaEncoding(doc, (const xmlChar *)encoding);
   3652         desret_int(ret_val);
   3653         call_tests++;
   3654         des_htmlDocPtr(n_doc, doc, 0);
   3655         des_const_xmlChar_ptr(n_encoding, (const xmlChar *)encoding, 1);
   3656         xmlResetLastError();
   3657         if (mem_base != xmlMemBlocks()) {
   3658             printf("Leak of %d blocks found in htmlSetMetaEncoding",
   3659 	           xmlMemBlocks() - mem_base);
   3660 	    test_ret++;
   3661             printf(" %d", n_doc);
   3662             printf(" %d", n_encoding);
   3663             printf("\n");
   3664         }
   3665     }
   3666     }
   3667     function_tests++;
   3668 #endif
   3669 
   3670     return(test_ret);
   3671 }
   3672 
   3673 static int
   3674 test_HTMLtree(void) {
   3675     int test_ret = 0;
   3676 
   3677     if (quiet == 0) printf("Testing HTMLtree : 18 of 18 functions ...\n");
   3678     test_ret += test_htmlDocContentDumpFormatOutput();
   3679     test_ret += test_htmlDocContentDumpOutput();
   3680     test_ret += test_htmlDocDump();
   3681     test_ret += test_htmlDocDumpMemory();
   3682     test_ret += test_htmlDocDumpMemoryFormat();
   3683     test_ret += test_htmlGetMetaEncoding();
   3684     test_ret += test_htmlIsBooleanAttr();
   3685     test_ret += test_htmlNewDoc();
   3686     test_ret += test_htmlNewDocNoDtD();
   3687     test_ret += test_htmlNodeDump();
   3688     test_ret += test_htmlNodeDumpFile();
   3689     test_ret += test_htmlNodeDumpFileFormat();
   3690     test_ret += test_htmlNodeDumpFormatOutput();
   3691     test_ret += test_htmlNodeDumpOutput();
   3692     test_ret += test_htmlSaveFile();
   3693     test_ret += test_htmlSaveFileEnc();
   3694     test_ret += test_htmlSaveFileFormat();
   3695     test_ret += test_htmlSetMetaEncoding();
   3696 
   3697     if (test_ret != 0)
   3698 	printf("Module HTMLtree: %d errors\n", test_ret);
   3699     return(test_ret);
   3700 }
   3701 
   3702 static int
   3703 test_docbDefaultSAXHandlerInit(void) {
   3704     int test_ret = 0;
   3705 
   3706 #if defined(LIBXML_DOCB_ENABLED)
   3707 #ifdef LIBXML_DOCB_ENABLED
   3708     int mem_base;
   3709 
   3710         mem_base = xmlMemBlocks();
   3711 
   3712         docbDefaultSAXHandlerInit();
   3713         call_tests++;
   3714         xmlResetLastError();
   3715         if (mem_base != xmlMemBlocks()) {
   3716             printf("Leak of %d blocks found in docbDefaultSAXHandlerInit",
   3717 	           xmlMemBlocks() - mem_base);
   3718 	    test_ret++;
   3719             printf("\n");
   3720         }
   3721     function_tests++;
   3722 #endif
   3723 #endif
   3724 
   3725     return(test_ret);
   3726 }
   3727 
   3728 
   3729 static int
   3730 test_htmlDefaultSAXHandlerInit(void) {
   3731     int test_ret = 0;
   3732 
   3733 #if defined(LIBXML_HTML_ENABLED)
   3734 #ifdef LIBXML_HTML_ENABLED
   3735     int mem_base;
   3736 
   3737         mem_base = xmlMemBlocks();
   3738 
   3739         htmlDefaultSAXHandlerInit();
   3740         call_tests++;
   3741         xmlResetLastError();
   3742         if (mem_base != xmlMemBlocks()) {
   3743             printf("Leak of %d blocks found in htmlDefaultSAXHandlerInit",
   3744 	           xmlMemBlocks() - mem_base);
   3745 	    test_ret++;
   3746             printf("\n");
   3747         }
   3748     function_tests++;
   3749 #endif
   3750 #endif
   3751 
   3752     return(test_ret);
   3753 }
   3754 
   3755 
   3756 static int
   3757 test_xmlDefaultSAXHandlerInit(void) {
   3758     int test_ret = 0;
   3759 
   3760     int mem_base;
   3761 
   3762         mem_base = xmlMemBlocks();
   3763 
   3764         xmlDefaultSAXHandlerInit();
   3765         call_tests++;
   3766         xmlResetLastError();
   3767         if (mem_base != xmlMemBlocks()) {
   3768             printf("Leak of %d blocks found in xmlDefaultSAXHandlerInit",
   3769 	           xmlMemBlocks() - mem_base);
   3770 	    test_ret++;
   3771             printf("\n");
   3772         }
   3773     function_tests++;
   3774 
   3775     return(test_ret);
   3776 }
   3777 
   3778 
   3779 #define gen_nb_xmlEnumerationPtr 1
   3780 static xmlEnumerationPtr gen_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   3781     return(NULL);
   3782 }
   3783 static void des_xmlEnumerationPtr(int no ATTRIBUTE_UNUSED, xmlEnumerationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   3784 }
   3785 
   3786 static int
   3787 test_xmlSAX2AttributeDecl(void) {
   3788     int test_ret = 0;
   3789 
   3790     int mem_base;
   3791     void * ctx; /* the user data (XML parser context) */
   3792     int n_ctx;
   3793     xmlChar * elem; /* the name of the element */
   3794     int n_elem;
   3795     xmlChar * fullname; /* the attribute name */
   3796     int n_fullname;
   3797     int type; /* the attribute type */
   3798     int n_type;
   3799     int def; /* the type of default value */
   3800     int n_def;
   3801     xmlChar * defaultValue; /* the attribute default value */
   3802     int n_defaultValue;
   3803     xmlEnumerationPtr tree; /* the tree of enumerated value set */
   3804     int n_tree;
   3805 
   3806     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   3807     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
   3808     for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
   3809     for (n_type = 0;n_type < gen_nb_int;n_type++) {
   3810     for (n_def = 0;n_def < gen_nb_int;n_def++) {
   3811     for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
   3812     for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
   3813         mem_base = xmlMemBlocks();
   3814         ctx = gen_void_ptr(n_ctx, 0);
   3815         elem = gen_const_xmlChar_ptr(n_elem, 1);
   3816         fullname = gen_const_xmlChar_ptr(n_fullname, 2);
   3817         type = gen_int(n_type, 3);
   3818         def = gen_int(n_def, 4);
   3819         defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 5);
   3820         tree = gen_xmlEnumerationPtr(n_tree, 6);
   3821 
   3822         xmlSAX2AttributeDecl(ctx, (const xmlChar *)elem, (const xmlChar *)fullname, type, def, (const xmlChar *)defaultValue, tree);
   3823         call_tests++;
   3824         des_void_ptr(n_ctx, ctx, 0);
   3825         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
   3826         des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 2);
   3827         des_int(n_type, type, 3);
   3828         des_int(n_def, def, 4);
   3829         des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 5);
   3830         des_xmlEnumerationPtr(n_tree, tree, 6);
   3831         xmlResetLastError();
   3832         if (mem_base != xmlMemBlocks()) {
   3833             printf("Leak of %d blocks found in xmlSAX2AttributeDecl",
   3834 	           xmlMemBlocks() - mem_base);
   3835 	    test_ret++;
   3836             printf(" %d", n_ctx);
   3837             printf(" %d", n_elem);
   3838             printf(" %d", n_fullname);
   3839             printf(" %d", n_type);
   3840             printf(" %d", n_def);
   3841             printf(" %d", n_defaultValue);
   3842             printf(" %d", n_tree);
   3843             printf("\n");
   3844         }
   3845     }
   3846     }
   3847     }
   3848     }
   3849     }
   3850     }
   3851     }
   3852     function_tests++;
   3853 
   3854     return(test_ret);
   3855 }
   3856 
   3857 
   3858 static int
   3859 test_xmlSAX2CDataBlock(void) {
   3860     int test_ret = 0;
   3861 
   3862     int mem_base;
   3863     void * ctx; /* the user data (XML parser context) */
   3864     int n_ctx;
   3865     xmlChar * value; /* The pcdata content */
   3866     int n_value;
   3867     int len; /* the block length */
   3868     int n_len;
   3869 
   3870     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   3871     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   3872     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   3873         mem_base = xmlMemBlocks();
   3874         ctx = gen_void_ptr(n_ctx, 0);
   3875         value = gen_const_xmlChar_ptr(n_value, 1);
   3876         len = gen_int(n_len, 2);
   3877 
   3878         xmlSAX2CDataBlock(ctx, (const xmlChar *)value, len);
   3879         call_tests++;
   3880         des_void_ptr(n_ctx, ctx, 0);
   3881         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   3882         des_int(n_len, len, 2);
   3883         xmlResetLastError();
   3884         if (mem_base != xmlMemBlocks()) {
   3885             printf("Leak of %d blocks found in xmlSAX2CDataBlock",
   3886 	           xmlMemBlocks() - mem_base);
   3887 	    test_ret++;
   3888             printf(" %d", n_ctx);
   3889             printf(" %d", n_value);
   3890             printf(" %d", n_len);
   3891             printf("\n");
   3892         }
   3893     }
   3894     }
   3895     }
   3896     function_tests++;
   3897 
   3898     return(test_ret);
   3899 }
   3900 
   3901 
   3902 static int
   3903 test_xmlSAX2Characters(void) {
   3904     int test_ret = 0;
   3905 
   3906     int mem_base;
   3907     void * ctx; /* the user data (XML parser context) */
   3908     int n_ctx;
   3909     xmlChar * ch; /* a xmlChar string */
   3910     int n_ch;
   3911     int len; /* the number of xmlChar */
   3912     int n_len;
   3913 
   3914     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   3915     for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
   3916     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   3917         mem_base = xmlMemBlocks();
   3918         ctx = gen_void_ptr(n_ctx, 0);
   3919         ch = gen_const_xmlChar_ptr(n_ch, 1);
   3920         len = gen_int(n_len, 2);
   3921 
   3922         xmlSAX2Characters(ctx, (const xmlChar *)ch, len);
   3923         call_tests++;
   3924         des_void_ptr(n_ctx, ctx, 0);
   3925         des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
   3926         des_int(n_len, len, 2);
   3927         xmlResetLastError();
   3928         if (mem_base != xmlMemBlocks()) {
   3929             printf("Leak of %d blocks found in xmlSAX2Characters",
   3930 	           xmlMemBlocks() - mem_base);
   3931 	    test_ret++;
   3932             printf(" %d", n_ctx);
   3933             printf(" %d", n_ch);
   3934             printf(" %d", n_len);
   3935             printf("\n");
   3936         }
   3937     }
   3938     }
   3939     }
   3940     function_tests++;
   3941 
   3942     return(test_ret);
   3943 }
   3944 
   3945 
   3946 static int
   3947 test_xmlSAX2Comment(void) {
   3948     int test_ret = 0;
   3949 
   3950     int mem_base;
   3951     void * ctx; /* the user data (XML parser context) */
   3952     int n_ctx;
   3953     xmlChar * value; /* the xmlSAX2Comment content */
   3954     int n_value;
   3955 
   3956     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   3957     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   3958         mem_base = xmlMemBlocks();
   3959         ctx = gen_void_ptr(n_ctx, 0);
   3960         value = gen_const_xmlChar_ptr(n_value, 1);
   3961 
   3962         xmlSAX2Comment(ctx, (const xmlChar *)value);
   3963         call_tests++;
   3964         des_void_ptr(n_ctx, ctx, 0);
   3965         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   3966         xmlResetLastError();
   3967         if (mem_base != xmlMemBlocks()) {
   3968             printf("Leak of %d blocks found in xmlSAX2Comment",
   3969 	           xmlMemBlocks() - mem_base);
   3970 	    test_ret++;
   3971             printf(" %d", n_ctx);
   3972             printf(" %d", n_value);
   3973             printf("\n");
   3974         }
   3975     }
   3976     }
   3977     function_tests++;
   3978 
   3979     return(test_ret);
   3980 }
   3981 
   3982 
   3983 static int
   3984 test_xmlSAX2ElementDecl(void) {
   3985     int test_ret = 0;
   3986 
   3987     int mem_base;
   3988     void * ctx; /* the user data (XML parser context) */
   3989     int n_ctx;
   3990     xmlChar * name; /* the element name */
   3991     int n_name;
   3992     int type; /* the element type */
   3993     int n_type;
   3994     xmlElementContentPtr content; /* the element value tree */
   3995     int n_content;
   3996 
   3997     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   3998     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   3999     for (n_type = 0;n_type < gen_nb_int;n_type++) {
   4000     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
   4001         mem_base = xmlMemBlocks();
   4002         ctx = gen_void_ptr(n_ctx, 0);
   4003         name = gen_const_xmlChar_ptr(n_name, 1);
   4004         type = gen_int(n_type, 2);
   4005         content = gen_xmlElementContentPtr(n_content, 3);
   4006 
   4007         xmlSAX2ElementDecl(ctx, (const xmlChar *)name, type, content);
   4008         call_tests++;
   4009         des_void_ptr(n_ctx, ctx, 0);
   4010         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4011         des_int(n_type, type, 2);
   4012         des_xmlElementContentPtr(n_content, content, 3);
   4013         xmlResetLastError();
   4014         if (mem_base != xmlMemBlocks()) {
   4015             printf("Leak of %d blocks found in xmlSAX2ElementDecl",
   4016 	           xmlMemBlocks() - mem_base);
   4017 	    test_ret++;
   4018             printf(" %d", n_ctx);
   4019             printf(" %d", n_name);
   4020             printf(" %d", n_type);
   4021             printf(" %d", n_content);
   4022             printf("\n");
   4023         }
   4024     }
   4025     }
   4026     }
   4027     }
   4028     function_tests++;
   4029 
   4030     return(test_ret);
   4031 }
   4032 
   4033 
   4034 static int
   4035 test_xmlSAX2EndDocument(void) {
   4036     int test_ret = 0;
   4037 
   4038     int mem_base;
   4039     void * ctx; /* the user data (XML parser context) */
   4040     int n_ctx;
   4041 
   4042     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4043         mem_base = xmlMemBlocks();
   4044         ctx = gen_void_ptr(n_ctx, 0);
   4045 
   4046         xmlSAX2EndDocument(ctx);
   4047         call_tests++;
   4048         des_void_ptr(n_ctx, ctx, 0);
   4049         xmlResetLastError();
   4050         if (mem_base != xmlMemBlocks()) {
   4051             printf("Leak of %d blocks found in xmlSAX2EndDocument",
   4052 	           xmlMemBlocks() - mem_base);
   4053 	    test_ret++;
   4054             printf(" %d", n_ctx);
   4055             printf("\n");
   4056         }
   4057     }
   4058     function_tests++;
   4059 
   4060     return(test_ret);
   4061 }
   4062 
   4063 
   4064 static int
   4065 test_xmlSAX2EndElement(void) {
   4066     int test_ret = 0;
   4067 
   4068 #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
   4069 #ifdef LIBXML_SAX1_ENABLED
   4070     int mem_base;
   4071     void * ctx; /* the user data (XML parser context) */
   4072     int n_ctx;
   4073     xmlChar * name; /* The element name */
   4074     int n_name;
   4075 
   4076     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4077     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4078         mem_base = xmlMemBlocks();
   4079         ctx = gen_void_ptr(n_ctx, 0);
   4080         name = gen_const_xmlChar_ptr(n_name, 1);
   4081 
   4082         xmlSAX2EndElement(ctx, (const xmlChar *)name);
   4083         call_tests++;
   4084         des_void_ptr(n_ctx, ctx, 0);
   4085         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4086         xmlResetLastError();
   4087         if (mem_base != xmlMemBlocks()) {
   4088             printf("Leak of %d blocks found in xmlSAX2EndElement",
   4089 	           xmlMemBlocks() - mem_base);
   4090 	    test_ret++;
   4091             printf(" %d", n_ctx);
   4092             printf(" %d", n_name);
   4093             printf("\n");
   4094         }
   4095     }
   4096     }
   4097     function_tests++;
   4098 #endif
   4099 #endif
   4100 
   4101     return(test_ret);
   4102 }
   4103 
   4104 
   4105 static int
   4106 test_xmlSAX2EndElementNs(void) {
   4107     int test_ret = 0;
   4108 
   4109     int mem_base;
   4110     void * ctx; /* the user data (XML parser context) */
   4111     int n_ctx;
   4112     xmlChar * localname; /* the local name of the element */
   4113     int n_localname;
   4114     xmlChar * prefix; /* the element namespace prefix if available */
   4115     int n_prefix;
   4116     xmlChar * URI; /* the element namespace name if available */
   4117     int n_URI;
   4118 
   4119     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4120     for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
   4121     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   4122     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   4123         mem_base = xmlMemBlocks();
   4124         ctx = gen_void_ptr(n_ctx, 0);
   4125         localname = gen_const_xmlChar_ptr(n_localname, 1);
   4126         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
   4127         URI = gen_const_xmlChar_ptr(n_URI, 3);
   4128 
   4129         xmlSAX2EndElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI);
   4130         call_tests++;
   4131         des_void_ptr(n_ctx, ctx, 0);
   4132         des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
   4133         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
   4134         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
   4135         xmlResetLastError();
   4136         if (mem_base != xmlMemBlocks()) {
   4137             printf("Leak of %d blocks found in xmlSAX2EndElementNs",
   4138 	           xmlMemBlocks() - mem_base);
   4139 	    test_ret++;
   4140             printf(" %d", n_ctx);
   4141             printf(" %d", n_localname);
   4142             printf(" %d", n_prefix);
   4143             printf(" %d", n_URI);
   4144             printf("\n");
   4145         }
   4146     }
   4147     }
   4148     }
   4149     }
   4150     function_tests++;
   4151 
   4152     return(test_ret);
   4153 }
   4154 
   4155 
   4156 static int
   4157 test_xmlSAX2EntityDecl(void) {
   4158     int test_ret = 0;
   4159 
   4160     int mem_base;
   4161     void * ctx; /* the user data (XML parser context) */
   4162     int n_ctx;
   4163     xmlChar * name; /* the entity name */
   4164     int n_name;
   4165     int type; /* the entity type */
   4166     int n_type;
   4167     xmlChar * publicId; /* The public ID of the entity */
   4168     int n_publicId;
   4169     xmlChar * systemId; /* The system ID of the entity */
   4170     int n_systemId;
   4171     xmlChar * content; /* the entity value (without processing). */
   4172     int n_content;
   4173 
   4174     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4175     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4176     for (n_type = 0;n_type < gen_nb_int;n_type++) {
   4177     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
   4178     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
   4179     for (n_content = 0;n_content < gen_nb_xmlChar_ptr;n_content++) {
   4180         mem_base = xmlMemBlocks();
   4181         ctx = gen_void_ptr(n_ctx, 0);
   4182         name = gen_const_xmlChar_ptr(n_name, 1);
   4183         type = gen_int(n_type, 2);
   4184         publicId = gen_const_xmlChar_ptr(n_publicId, 3);
   4185         systemId = gen_const_xmlChar_ptr(n_systemId, 4);
   4186         content = gen_xmlChar_ptr(n_content, 5);
   4187 
   4188         xmlSAX2EntityDecl(ctx, (const xmlChar *)name, type, (const xmlChar *)publicId, (const xmlChar *)systemId, content);
   4189         call_tests++;
   4190         des_void_ptr(n_ctx, ctx, 0);
   4191         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4192         des_int(n_type, type, 2);
   4193         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 3);
   4194         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 4);
   4195         des_xmlChar_ptr(n_content, content, 5);
   4196         xmlResetLastError();
   4197         if (mem_base != xmlMemBlocks()) {
   4198             printf("Leak of %d blocks found in xmlSAX2EntityDecl",
   4199 	           xmlMemBlocks() - mem_base);
   4200 	    test_ret++;
   4201             printf(" %d", n_ctx);
   4202             printf(" %d", n_name);
   4203             printf(" %d", n_type);
   4204             printf(" %d", n_publicId);
   4205             printf(" %d", n_systemId);
   4206             printf(" %d", n_content);
   4207             printf("\n");
   4208         }
   4209     }
   4210     }
   4211     }
   4212     }
   4213     }
   4214     }
   4215     function_tests++;
   4216 
   4217     return(test_ret);
   4218 }
   4219 
   4220 
   4221 static int
   4222 test_xmlSAX2ExternalSubset(void) {
   4223     int test_ret = 0;
   4224 
   4225     int mem_base;
   4226     void * ctx; /* the user data (XML parser context) */
   4227     int n_ctx;
   4228     xmlChar * name; /* the root element name */
   4229     int n_name;
   4230     xmlChar * ExternalID; /* the external ID */
   4231     int n_ExternalID;
   4232     xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
   4233     int n_SystemID;
   4234 
   4235     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4236     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4237     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   4238     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   4239         mem_base = xmlMemBlocks();
   4240         ctx = gen_void_ptr(n_ctx, 0);
   4241         name = gen_const_xmlChar_ptr(n_name, 1);
   4242         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
   4243         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
   4244 
   4245         xmlSAX2ExternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
   4246         call_tests++;
   4247         des_void_ptr(n_ctx, ctx, 0);
   4248         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4249         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
   4250         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
   4251         xmlResetLastError();
   4252         if (mem_base != xmlMemBlocks()) {
   4253             printf("Leak of %d blocks found in xmlSAX2ExternalSubset",
   4254 	           xmlMemBlocks() - mem_base);
   4255 	    test_ret++;
   4256             printf(" %d", n_ctx);
   4257             printf(" %d", n_name);
   4258             printf(" %d", n_ExternalID);
   4259             printf(" %d", n_SystemID);
   4260             printf("\n");
   4261         }
   4262     }
   4263     }
   4264     }
   4265     }
   4266     function_tests++;
   4267 
   4268     return(test_ret);
   4269 }
   4270 
   4271 
   4272 static int
   4273 test_xmlSAX2GetColumnNumber(void) {
   4274     int test_ret = 0;
   4275 
   4276     int mem_base;
   4277     int ret_val;
   4278     void * ctx; /* the user data (XML parser context) */
   4279     int n_ctx;
   4280 
   4281     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4282         mem_base = xmlMemBlocks();
   4283         ctx = gen_void_ptr(n_ctx, 0);
   4284 
   4285         ret_val = xmlSAX2GetColumnNumber(ctx);
   4286         desret_int(ret_val);
   4287         call_tests++;
   4288         des_void_ptr(n_ctx, ctx, 0);
   4289         xmlResetLastError();
   4290         if (mem_base != xmlMemBlocks()) {
   4291             printf("Leak of %d blocks found in xmlSAX2GetColumnNumber",
   4292 	           xmlMemBlocks() - mem_base);
   4293 	    test_ret++;
   4294             printf(" %d", n_ctx);
   4295             printf("\n");
   4296         }
   4297     }
   4298     function_tests++;
   4299 
   4300     return(test_ret);
   4301 }
   4302 
   4303 
   4304 static int
   4305 test_xmlSAX2GetEntity(void) {
   4306     int test_ret = 0;
   4307 
   4308     int mem_base;
   4309     xmlEntityPtr ret_val;
   4310     void * ctx; /* the user data (XML parser context) */
   4311     int n_ctx;
   4312     xmlChar * name; /* The entity name */
   4313     int n_name;
   4314 
   4315     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4316     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4317         mem_base = xmlMemBlocks();
   4318         ctx = gen_void_ptr(n_ctx, 0);
   4319         name = gen_const_xmlChar_ptr(n_name, 1);
   4320 
   4321         ret_val = xmlSAX2GetEntity(ctx, (const xmlChar *)name);
   4322         desret_xmlEntityPtr(ret_val);
   4323         call_tests++;
   4324         des_void_ptr(n_ctx, ctx, 0);
   4325         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4326         xmlResetLastError();
   4327         if (mem_base != xmlMemBlocks()) {
   4328             printf("Leak of %d blocks found in xmlSAX2GetEntity",
   4329 	           xmlMemBlocks() - mem_base);
   4330 	    test_ret++;
   4331             printf(" %d", n_ctx);
   4332             printf(" %d", n_name);
   4333             printf("\n");
   4334         }
   4335     }
   4336     }
   4337     function_tests++;
   4338 
   4339     return(test_ret);
   4340 }
   4341 
   4342 
   4343 static int
   4344 test_xmlSAX2GetLineNumber(void) {
   4345     int test_ret = 0;
   4346 
   4347     int mem_base;
   4348     int ret_val;
   4349     void * ctx; /* the user data (XML parser context) */
   4350     int n_ctx;
   4351 
   4352     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4353         mem_base = xmlMemBlocks();
   4354         ctx = gen_void_ptr(n_ctx, 0);
   4355 
   4356         ret_val = xmlSAX2GetLineNumber(ctx);
   4357         desret_int(ret_val);
   4358         call_tests++;
   4359         des_void_ptr(n_ctx, ctx, 0);
   4360         xmlResetLastError();
   4361         if (mem_base != xmlMemBlocks()) {
   4362             printf("Leak of %d blocks found in xmlSAX2GetLineNumber",
   4363 	           xmlMemBlocks() - mem_base);
   4364 	    test_ret++;
   4365             printf(" %d", n_ctx);
   4366             printf("\n");
   4367         }
   4368     }
   4369     function_tests++;
   4370 
   4371     return(test_ret);
   4372 }
   4373 
   4374 
   4375 static int
   4376 test_xmlSAX2GetParameterEntity(void) {
   4377     int test_ret = 0;
   4378 
   4379     int mem_base;
   4380     xmlEntityPtr ret_val;
   4381     void * ctx; /* the user data (XML parser context) */
   4382     int n_ctx;
   4383     xmlChar * name; /* The entity name */
   4384     int n_name;
   4385 
   4386     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4387     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4388         mem_base = xmlMemBlocks();
   4389         ctx = gen_void_ptr(n_ctx, 0);
   4390         name = gen_const_xmlChar_ptr(n_name, 1);
   4391 
   4392         ret_val = xmlSAX2GetParameterEntity(ctx, (const xmlChar *)name);
   4393         desret_xmlEntityPtr(ret_val);
   4394         call_tests++;
   4395         des_void_ptr(n_ctx, ctx, 0);
   4396         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4397         xmlResetLastError();
   4398         if (mem_base != xmlMemBlocks()) {
   4399             printf("Leak of %d blocks found in xmlSAX2GetParameterEntity",
   4400 	           xmlMemBlocks() - mem_base);
   4401 	    test_ret++;
   4402             printf(" %d", n_ctx);
   4403             printf(" %d", n_name);
   4404             printf("\n");
   4405         }
   4406     }
   4407     }
   4408     function_tests++;
   4409 
   4410     return(test_ret);
   4411 }
   4412 
   4413 
   4414 static int
   4415 test_xmlSAX2GetPublicId(void) {
   4416     int test_ret = 0;
   4417 
   4418     int mem_base;
   4419     const xmlChar * ret_val;
   4420     void * ctx; /* the user data (XML parser context) */
   4421     int n_ctx;
   4422 
   4423     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4424         mem_base = xmlMemBlocks();
   4425         ctx = gen_void_ptr(n_ctx, 0);
   4426 
   4427         ret_val = xmlSAX2GetPublicId(ctx);
   4428         desret_const_xmlChar_ptr(ret_val);
   4429         call_tests++;
   4430         des_void_ptr(n_ctx, ctx, 0);
   4431         xmlResetLastError();
   4432         if (mem_base != xmlMemBlocks()) {
   4433             printf("Leak of %d blocks found in xmlSAX2GetPublicId",
   4434 	           xmlMemBlocks() - mem_base);
   4435 	    test_ret++;
   4436             printf(" %d", n_ctx);
   4437             printf("\n");
   4438         }
   4439     }
   4440     function_tests++;
   4441 
   4442     return(test_ret);
   4443 }
   4444 
   4445 
   4446 static int
   4447 test_xmlSAX2GetSystemId(void) {
   4448     int test_ret = 0;
   4449 
   4450     int mem_base;
   4451     const xmlChar * ret_val;
   4452     void * ctx; /* the user data (XML parser context) */
   4453     int n_ctx;
   4454 
   4455     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4456         mem_base = xmlMemBlocks();
   4457         ctx = gen_void_ptr(n_ctx, 0);
   4458 
   4459         ret_val = xmlSAX2GetSystemId(ctx);
   4460         desret_const_xmlChar_ptr(ret_val);
   4461         call_tests++;
   4462         des_void_ptr(n_ctx, ctx, 0);
   4463         xmlResetLastError();
   4464         if (mem_base != xmlMemBlocks()) {
   4465             printf("Leak of %d blocks found in xmlSAX2GetSystemId",
   4466 	           xmlMemBlocks() - mem_base);
   4467 	    test_ret++;
   4468             printf(" %d", n_ctx);
   4469             printf("\n");
   4470         }
   4471     }
   4472     function_tests++;
   4473 
   4474     return(test_ret);
   4475 }
   4476 
   4477 
   4478 static int
   4479 test_xmlSAX2HasExternalSubset(void) {
   4480     int test_ret = 0;
   4481 
   4482     int mem_base;
   4483     int ret_val;
   4484     void * ctx; /* the user data (XML parser context) */
   4485     int n_ctx;
   4486 
   4487     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4488         mem_base = xmlMemBlocks();
   4489         ctx = gen_void_ptr(n_ctx, 0);
   4490 
   4491         ret_val = xmlSAX2HasExternalSubset(ctx);
   4492         desret_int(ret_val);
   4493         call_tests++;
   4494         des_void_ptr(n_ctx, ctx, 0);
   4495         xmlResetLastError();
   4496         if (mem_base != xmlMemBlocks()) {
   4497             printf("Leak of %d blocks found in xmlSAX2HasExternalSubset",
   4498 	           xmlMemBlocks() - mem_base);
   4499 	    test_ret++;
   4500             printf(" %d", n_ctx);
   4501             printf("\n");
   4502         }
   4503     }
   4504     function_tests++;
   4505 
   4506     return(test_ret);
   4507 }
   4508 
   4509 
   4510 static int
   4511 test_xmlSAX2HasInternalSubset(void) {
   4512     int test_ret = 0;
   4513 
   4514     int mem_base;
   4515     int ret_val;
   4516     void * ctx; /* the user data (XML parser context) */
   4517     int n_ctx;
   4518 
   4519     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4520         mem_base = xmlMemBlocks();
   4521         ctx = gen_void_ptr(n_ctx, 0);
   4522 
   4523         ret_val = xmlSAX2HasInternalSubset(ctx);
   4524         desret_int(ret_val);
   4525         call_tests++;
   4526         des_void_ptr(n_ctx, ctx, 0);
   4527         xmlResetLastError();
   4528         if (mem_base != xmlMemBlocks()) {
   4529             printf("Leak of %d blocks found in xmlSAX2HasInternalSubset",
   4530 	           xmlMemBlocks() - mem_base);
   4531 	    test_ret++;
   4532             printf(" %d", n_ctx);
   4533             printf("\n");
   4534         }
   4535     }
   4536     function_tests++;
   4537 
   4538     return(test_ret);
   4539 }
   4540 
   4541 
   4542 static int
   4543 test_xmlSAX2IgnorableWhitespace(void) {
   4544     int test_ret = 0;
   4545 
   4546     int mem_base;
   4547     void * ctx; /* the user data (XML parser context) */
   4548     int n_ctx;
   4549     xmlChar * ch; /* a xmlChar string */
   4550     int n_ch;
   4551     int len; /* the number of xmlChar */
   4552     int n_len;
   4553 
   4554     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4555     for (n_ch = 0;n_ch < gen_nb_const_xmlChar_ptr;n_ch++) {
   4556     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   4557         mem_base = xmlMemBlocks();
   4558         ctx = gen_void_ptr(n_ctx, 0);
   4559         ch = gen_const_xmlChar_ptr(n_ch, 1);
   4560         len = gen_int(n_len, 2);
   4561 
   4562         xmlSAX2IgnorableWhitespace(ctx, (const xmlChar *)ch, len);
   4563         call_tests++;
   4564         des_void_ptr(n_ctx, ctx, 0);
   4565         des_const_xmlChar_ptr(n_ch, (const xmlChar *)ch, 1);
   4566         des_int(n_len, len, 2);
   4567         xmlResetLastError();
   4568         if (mem_base != xmlMemBlocks()) {
   4569             printf("Leak of %d blocks found in xmlSAX2IgnorableWhitespace",
   4570 	           xmlMemBlocks() - mem_base);
   4571 	    test_ret++;
   4572             printf(" %d", n_ctx);
   4573             printf(" %d", n_ch);
   4574             printf(" %d", n_len);
   4575             printf("\n");
   4576         }
   4577     }
   4578     }
   4579     }
   4580     function_tests++;
   4581 
   4582     return(test_ret);
   4583 }
   4584 
   4585 
   4586 #define gen_nb_xmlSAXHandler_ptr 1
   4587 static xmlSAXHandler * gen_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   4588     return(NULL);
   4589 }
   4590 static void des_xmlSAXHandler_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   4591 }
   4592 
   4593 static int
   4594 test_xmlSAX2InitDefaultSAXHandler(void) {
   4595     int test_ret = 0;
   4596 
   4597     int mem_base;
   4598     xmlSAXHandler * hdlr; /* the SAX handler */
   4599     int n_hdlr;
   4600     int warning; /* flag if non-zero sets the handler warning procedure */
   4601     int n_warning;
   4602 
   4603     for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
   4604     for (n_warning = 0;n_warning < gen_nb_int;n_warning++) {
   4605         mem_base = xmlMemBlocks();
   4606         hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
   4607         warning = gen_int(n_warning, 1);
   4608 
   4609         xmlSAX2InitDefaultSAXHandler(hdlr, warning);
   4610         call_tests++;
   4611         des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
   4612         des_int(n_warning, warning, 1);
   4613         xmlResetLastError();
   4614         if (mem_base != xmlMemBlocks()) {
   4615             printf("Leak of %d blocks found in xmlSAX2InitDefaultSAXHandler",
   4616 	           xmlMemBlocks() - mem_base);
   4617 	    test_ret++;
   4618             printf(" %d", n_hdlr);
   4619             printf(" %d", n_warning);
   4620             printf("\n");
   4621         }
   4622     }
   4623     }
   4624     function_tests++;
   4625 
   4626     return(test_ret);
   4627 }
   4628 
   4629 
   4630 static int
   4631 test_xmlSAX2InitDocbDefaultSAXHandler(void) {
   4632     int test_ret = 0;
   4633 
   4634 #if defined(LIBXML_DOCB_ENABLED)
   4635     int mem_base;
   4636     xmlSAXHandler * hdlr; /* the SAX handler */
   4637     int n_hdlr;
   4638 
   4639     for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
   4640         mem_base = xmlMemBlocks();
   4641         hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
   4642 
   4643         xmlSAX2InitDocbDefaultSAXHandler(hdlr);
   4644         call_tests++;
   4645         des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
   4646         xmlResetLastError();
   4647         if (mem_base != xmlMemBlocks()) {
   4648             printf("Leak of %d blocks found in xmlSAX2InitDocbDefaultSAXHandler",
   4649 	           xmlMemBlocks() - mem_base);
   4650 	    test_ret++;
   4651             printf(" %d", n_hdlr);
   4652             printf("\n");
   4653         }
   4654     }
   4655     function_tests++;
   4656 #endif
   4657 
   4658     return(test_ret);
   4659 }
   4660 
   4661 
   4662 static int
   4663 test_xmlSAX2InitHtmlDefaultSAXHandler(void) {
   4664     int test_ret = 0;
   4665 
   4666 #if defined(LIBXML_HTML_ENABLED)
   4667     int mem_base;
   4668     xmlSAXHandler * hdlr; /* the SAX handler */
   4669     int n_hdlr;
   4670 
   4671     for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
   4672         mem_base = xmlMemBlocks();
   4673         hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
   4674 
   4675         xmlSAX2InitHtmlDefaultSAXHandler(hdlr);
   4676         call_tests++;
   4677         des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
   4678         xmlResetLastError();
   4679         if (mem_base != xmlMemBlocks()) {
   4680             printf("Leak of %d blocks found in xmlSAX2InitHtmlDefaultSAXHandler",
   4681 	           xmlMemBlocks() - mem_base);
   4682 	    test_ret++;
   4683             printf(" %d", n_hdlr);
   4684             printf("\n");
   4685         }
   4686     }
   4687     function_tests++;
   4688 #endif
   4689 
   4690     return(test_ret);
   4691 }
   4692 
   4693 
   4694 static int
   4695 test_xmlSAX2InternalSubset(void) {
   4696     int test_ret = 0;
   4697 
   4698     int mem_base;
   4699     void * ctx; /* the user data (XML parser context) */
   4700     int n_ctx;
   4701     xmlChar * name; /* the root element name */
   4702     int n_name;
   4703     xmlChar * ExternalID; /* the external ID */
   4704     int n_ExternalID;
   4705     xmlChar * SystemID; /* the SYSTEM ID (e.g. filename or URL) */
   4706     int n_SystemID;
   4707 
   4708     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4709     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4710     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   4711     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   4712         mem_base = xmlMemBlocks();
   4713         ctx = gen_void_ptr(n_ctx, 0);
   4714         name = gen_const_xmlChar_ptr(n_name, 1);
   4715         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
   4716         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
   4717 
   4718         xmlSAX2InternalSubset(ctx, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
   4719         call_tests++;
   4720         des_void_ptr(n_ctx, ctx, 0);
   4721         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4722         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
   4723         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
   4724         xmlResetLastError();
   4725         if (mem_base != xmlMemBlocks()) {
   4726             printf("Leak of %d blocks found in xmlSAX2InternalSubset",
   4727 	           xmlMemBlocks() - mem_base);
   4728 	    test_ret++;
   4729             printf(" %d", n_ctx);
   4730             printf(" %d", n_name);
   4731             printf(" %d", n_ExternalID);
   4732             printf(" %d", n_SystemID);
   4733             printf("\n");
   4734         }
   4735     }
   4736     }
   4737     }
   4738     }
   4739     function_tests++;
   4740 
   4741     return(test_ret);
   4742 }
   4743 
   4744 
   4745 static int
   4746 test_xmlSAX2IsStandalone(void) {
   4747     int test_ret = 0;
   4748 
   4749     int mem_base;
   4750     int ret_val;
   4751     void * ctx; /* the user data (XML parser context) */
   4752     int n_ctx;
   4753 
   4754     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4755         mem_base = xmlMemBlocks();
   4756         ctx = gen_void_ptr(n_ctx, 0);
   4757 
   4758         ret_val = xmlSAX2IsStandalone(ctx);
   4759         desret_int(ret_val);
   4760         call_tests++;
   4761         des_void_ptr(n_ctx, ctx, 0);
   4762         xmlResetLastError();
   4763         if (mem_base != xmlMemBlocks()) {
   4764             printf("Leak of %d blocks found in xmlSAX2IsStandalone",
   4765 	           xmlMemBlocks() - mem_base);
   4766 	    test_ret++;
   4767             printf(" %d", n_ctx);
   4768             printf("\n");
   4769         }
   4770     }
   4771     function_tests++;
   4772 
   4773     return(test_ret);
   4774 }
   4775 
   4776 
   4777 static int
   4778 test_xmlSAX2NotationDecl(void) {
   4779     int test_ret = 0;
   4780 
   4781     int mem_base;
   4782     void * ctx; /* the user data (XML parser context) */
   4783     int n_ctx;
   4784     xmlChar * name; /* The name of the notation */
   4785     int n_name;
   4786     xmlChar * publicId; /* The public ID of the entity */
   4787     int n_publicId;
   4788     xmlChar * systemId; /* The system ID of the entity */
   4789     int n_systemId;
   4790 
   4791     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4792     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4793     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
   4794     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
   4795         mem_base = xmlMemBlocks();
   4796         ctx = gen_void_ptr(n_ctx, 0);
   4797         name = gen_const_xmlChar_ptr(n_name, 1);
   4798         publicId = gen_const_xmlChar_ptr(n_publicId, 2);
   4799         systemId = gen_const_xmlChar_ptr(n_systemId, 3);
   4800 
   4801         xmlSAX2NotationDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId);
   4802         call_tests++;
   4803         des_void_ptr(n_ctx, ctx, 0);
   4804         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4805         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
   4806         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
   4807         xmlResetLastError();
   4808         if (mem_base != xmlMemBlocks()) {
   4809             printf("Leak of %d blocks found in xmlSAX2NotationDecl",
   4810 	           xmlMemBlocks() - mem_base);
   4811 	    test_ret++;
   4812             printf(" %d", n_ctx);
   4813             printf(" %d", n_name);
   4814             printf(" %d", n_publicId);
   4815             printf(" %d", n_systemId);
   4816             printf("\n");
   4817         }
   4818     }
   4819     }
   4820     }
   4821     }
   4822     function_tests++;
   4823 
   4824     return(test_ret);
   4825 }
   4826 
   4827 
   4828 static int
   4829 test_xmlSAX2ProcessingInstruction(void) {
   4830     int test_ret = 0;
   4831 
   4832     int mem_base;
   4833     void * ctx; /* the user data (XML parser context) */
   4834     int n_ctx;
   4835     xmlChar * target; /* the target name */
   4836     int n_target;
   4837     xmlChar * data; /* the PI data's */
   4838     int n_data;
   4839 
   4840     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4841     for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
   4842     for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
   4843         mem_base = xmlMemBlocks();
   4844         ctx = gen_void_ptr(n_ctx, 0);
   4845         target = gen_const_xmlChar_ptr(n_target, 1);
   4846         data = gen_const_xmlChar_ptr(n_data, 2);
   4847 
   4848         xmlSAX2ProcessingInstruction(ctx, (const xmlChar *)target, (const xmlChar *)data);
   4849         call_tests++;
   4850         des_void_ptr(n_ctx, ctx, 0);
   4851         des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
   4852         des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 2);
   4853         xmlResetLastError();
   4854         if (mem_base != xmlMemBlocks()) {
   4855             printf("Leak of %d blocks found in xmlSAX2ProcessingInstruction",
   4856 	           xmlMemBlocks() - mem_base);
   4857 	    test_ret++;
   4858             printf(" %d", n_ctx);
   4859             printf(" %d", n_target);
   4860             printf(" %d", n_data);
   4861             printf("\n");
   4862         }
   4863     }
   4864     }
   4865     }
   4866     function_tests++;
   4867 
   4868     return(test_ret);
   4869 }
   4870 
   4871 
   4872 static int
   4873 test_xmlSAX2Reference(void) {
   4874     int test_ret = 0;
   4875 
   4876     int mem_base;
   4877     void * ctx; /* the user data (XML parser context) */
   4878     int n_ctx;
   4879     xmlChar * name; /* The entity name */
   4880     int n_name;
   4881 
   4882     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4883     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   4884         mem_base = xmlMemBlocks();
   4885         ctx = gen_void_ptr(n_ctx, 0);
   4886         name = gen_const_xmlChar_ptr(n_name, 1);
   4887 
   4888         xmlSAX2Reference(ctx, (const xmlChar *)name);
   4889         call_tests++;
   4890         des_void_ptr(n_ctx, ctx, 0);
   4891         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   4892         xmlResetLastError();
   4893         if (mem_base != xmlMemBlocks()) {
   4894             printf("Leak of %d blocks found in xmlSAX2Reference",
   4895 	           xmlMemBlocks() - mem_base);
   4896 	    test_ret++;
   4897             printf(" %d", n_ctx);
   4898             printf(" %d", n_name);
   4899             printf("\n");
   4900         }
   4901     }
   4902     }
   4903     function_tests++;
   4904 
   4905     return(test_ret);
   4906 }
   4907 
   4908 
   4909 static int
   4910 test_xmlSAX2ResolveEntity(void) {
   4911     int test_ret = 0;
   4912 
   4913     int mem_base;
   4914     xmlParserInputPtr ret_val;
   4915     void * ctx; /* the user data (XML parser context) */
   4916     int n_ctx;
   4917     xmlChar * publicId; /* The public ID of the entity */
   4918     int n_publicId;
   4919     xmlChar * systemId; /* The system ID of the entity */
   4920     int n_systemId;
   4921 
   4922     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4923     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
   4924     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
   4925         mem_base = xmlMemBlocks();
   4926         ctx = gen_void_ptr(n_ctx, 0);
   4927         publicId = gen_const_xmlChar_ptr(n_publicId, 1);
   4928         systemId = gen_const_xmlChar_ptr(n_systemId, 2);
   4929 
   4930         ret_val = xmlSAX2ResolveEntity(ctx, (const xmlChar *)publicId, (const xmlChar *)systemId);
   4931         desret_xmlParserInputPtr(ret_val);
   4932         call_tests++;
   4933         des_void_ptr(n_ctx, ctx, 0);
   4934         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 1);
   4935         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 2);
   4936         xmlResetLastError();
   4937         if (mem_base != xmlMemBlocks()) {
   4938             printf("Leak of %d blocks found in xmlSAX2ResolveEntity",
   4939 	           xmlMemBlocks() - mem_base);
   4940 	    test_ret++;
   4941             printf(" %d", n_ctx);
   4942             printf(" %d", n_publicId);
   4943             printf(" %d", n_systemId);
   4944             printf("\n");
   4945         }
   4946     }
   4947     }
   4948     }
   4949     function_tests++;
   4950 
   4951     return(test_ret);
   4952 }
   4953 
   4954 
   4955 #define gen_nb_xmlSAXLocatorPtr 1
   4956 static xmlSAXLocatorPtr gen_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   4957     return(NULL);
   4958 }
   4959 static void des_xmlSAXLocatorPtr(int no ATTRIBUTE_UNUSED, xmlSAXLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   4960 }
   4961 
   4962 static int
   4963 test_xmlSAX2SetDocumentLocator(void) {
   4964     int test_ret = 0;
   4965 
   4966     int mem_base;
   4967     void * ctx; /* the user data (XML parser context) */
   4968     int n_ctx;
   4969     xmlSAXLocatorPtr loc; /* A SAX Locator */
   4970     int n_loc;
   4971 
   4972     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   4973     for (n_loc = 0;n_loc < gen_nb_xmlSAXLocatorPtr;n_loc++) {
   4974         mem_base = xmlMemBlocks();
   4975         ctx = gen_void_ptr(n_ctx, 0);
   4976         loc = gen_xmlSAXLocatorPtr(n_loc, 1);
   4977 
   4978         xmlSAX2SetDocumentLocator(ctx, loc);
   4979         call_tests++;
   4980         des_void_ptr(n_ctx, ctx, 0);
   4981         des_xmlSAXLocatorPtr(n_loc, loc, 1);
   4982         xmlResetLastError();
   4983         if (mem_base != xmlMemBlocks()) {
   4984             printf("Leak of %d blocks found in xmlSAX2SetDocumentLocator",
   4985 	           xmlMemBlocks() - mem_base);
   4986 	    test_ret++;
   4987             printf(" %d", n_ctx);
   4988             printf(" %d", n_loc);
   4989             printf("\n");
   4990         }
   4991     }
   4992     }
   4993     function_tests++;
   4994 
   4995     return(test_ret);
   4996 }
   4997 
   4998 
   4999 static int
   5000 test_xmlSAX2StartDocument(void) {
   5001     int test_ret = 0;
   5002 
   5003     int mem_base;
   5004     void * ctx; /* the user data (XML parser context) */
   5005     int n_ctx;
   5006 
   5007     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   5008         mem_base = xmlMemBlocks();
   5009         ctx = gen_void_ptr(n_ctx, 0);
   5010 
   5011         xmlSAX2StartDocument(ctx);
   5012         call_tests++;
   5013         des_void_ptr(n_ctx, ctx, 0);
   5014         xmlResetLastError();
   5015         if (mem_base != xmlMemBlocks()) {
   5016             printf("Leak of %d blocks found in xmlSAX2StartDocument",
   5017 	           xmlMemBlocks() - mem_base);
   5018 	    test_ret++;
   5019             printf(" %d", n_ctx);
   5020             printf("\n");
   5021         }
   5022     }
   5023     function_tests++;
   5024 
   5025     return(test_ret);
   5026 }
   5027 
   5028 
   5029 static int
   5030 test_xmlSAX2StartElement(void) {
   5031     int test_ret = 0;
   5032 
   5033 #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
   5034 #ifdef LIBXML_SAX1_ENABLED
   5035     int mem_base;
   5036     void * ctx; /* the user data (XML parser context) */
   5037     int n_ctx;
   5038     xmlChar * fullname; /* The element name, including namespace prefix */
   5039     int n_fullname;
   5040     xmlChar ** atts; /* An array of name/value attributes pairs, NULL terminated */
   5041     int n_atts;
   5042 
   5043     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   5044     for (n_fullname = 0;n_fullname < gen_nb_const_xmlChar_ptr;n_fullname++) {
   5045     for (n_atts = 0;n_atts < gen_nb_const_xmlChar_ptr_ptr;n_atts++) {
   5046         mem_base = xmlMemBlocks();
   5047         ctx = gen_void_ptr(n_ctx, 0);
   5048         fullname = gen_const_xmlChar_ptr(n_fullname, 1);
   5049         atts = gen_const_xmlChar_ptr_ptr(n_atts, 2);
   5050 
   5051         xmlSAX2StartElement(ctx, (const xmlChar *)fullname, (const xmlChar **)atts);
   5052         call_tests++;
   5053         des_void_ptr(n_ctx, ctx, 0);
   5054         des_const_xmlChar_ptr(n_fullname, (const xmlChar *)fullname, 1);
   5055         des_const_xmlChar_ptr_ptr(n_atts, (const xmlChar **)atts, 2);
   5056         xmlResetLastError();
   5057         if (mem_base != xmlMemBlocks()) {
   5058             printf("Leak of %d blocks found in xmlSAX2StartElement",
   5059 	           xmlMemBlocks() - mem_base);
   5060 	    test_ret++;
   5061             printf(" %d", n_ctx);
   5062             printf(" %d", n_fullname);
   5063             printf(" %d", n_atts);
   5064             printf("\n");
   5065         }
   5066     }
   5067     }
   5068     }
   5069     function_tests++;
   5070 #endif
   5071 #endif
   5072 
   5073     return(test_ret);
   5074 }
   5075 
   5076 
   5077 static int
   5078 test_xmlSAX2StartElementNs(void) {
   5079     int test_ret = 0;
   5080 
   5081     int mem_base;
   5082     void * ctx; /* the user data (XML parser context) */
   5083     int n_ctx;
   5084     xmlChar * localname; /* the local name of the element */
   5085     int n_localname;
   5086     xmlChar * prefix; /* the element namespace prefix if available */
   5087     int n_prefix;
   5088     xmlChar * URI; /* the element namespace name if available */
   5089     int n_URI;
   5090     int nb_namespaces; /* number of namespace definitions on that node */
   5091     int n_nb_namespaces;
   5092     xmlChar ** namespaces; /* pointer to the array of prefix/URI pairs namespace definitions */
   5093     int n_namespaces;
   5094     int nb_attributes; /* the number of attributes on that node */
   5095     int n_nb_attributes;
   5096     int nb_defaulted; /* the number of defaulted attributes. */
   5097     int n_nb_defaulted;
   5098     xmlChar ** attributes; /* pointer to the array of (localname/prefix/URI/value/end) attribute values. */
   5099     int n_attributes;
   5100 
   5101     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   5102     for (n_localname = 0;n_localname < gen_nb_const_xmlChar_ptr;n_localname++) {
   5103     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   5104     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   5105     for (n_nb_namespaces = 0;n_nb_namespaces < gen_nb_int;n_nb_namespaces++) {
   5106     for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
   5107     for (n_nb_attributes = 0;n_nb_attributes < gen_nb_int;n_nb_attributes++) {
   5108     for (n_nb_defaulted = 0;n_nb_defaulted < gen_nb_int;n_nb_defaulted++) {
   5109     for (n_attributes = 0;n_attributes < gen_nb_const_xmlChar_ptr_ptr;n_attributes++) {
   5110         mem_base = xmlMemBlocks();
   5111         ctx = gen_void_ptr(n_ctx, 0);
   5112         localname = gen_const_xmlChar_ptr(n_localname, 1);
   5113         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
   5114         URI = gen_const_xmlChar_ptr(n_URI, 3);
   5115         nb_namespaces = gen_int(n_nb_namespaces, 4);
   5116         namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 5);
   5117         nb_attributes = gen_int(n_nb_attributes, 6);
   5118         nb_defaulted = gen_int(n_nb_defaulted, 7);
   5119         attributes = gen_const_xmlChar_ptr_ptr(n_attributes, 8);
   5120 
   5121         xmlSAX2StartElementNs(ctx, (const xmlChar *)localname, (const xmlChar *)prefix, (const xmlChar *)URI, nb_namespaces, (const xmlChar **)namespaces, nb_attributes, nb_defaulted, (const xmlChar **)attributes);
   5122         call_tests++;
   5123         des_void_ptr(n_ctx, ctx, 0);
   5124         des_const_xmlChar_ptr(n_localname, (const xmlChar *)localname, 1);
   5125         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
   5126         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 3);
   5127         des_int(n_nb_namespaces, nb_namespaces, 4);
   5128         des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 5);
   5129         des_int(n_nb_attributes, nb_attributes, 6);
   5130         des_int(n_nb_defaulted, nb_defaulted, 7);
   5131         des_const_xmlChar_ptr_ptr(n_attributes, (const xmlChar **)attributes, 8);
   5132         xmlResetLastError();
   5133         if (mem_base != xmlMemBlocks()) {
   5134             printf("Leak of %d blocks found in xmlSAX2StartElementNs",
   5135 	           xmlMemBlocks() - mem_base);
   5136 	    test_ret++;
   5137             printf(" %d", n_ctx);
   5138             printf(" %d", n_localname);
   5139             printf(" %d", n_prefix);
   5140             printf(" %d", n_URI);
   5141             printf(" %d", n_nb_namespaces);
   5142             printf(" %d", n_namespaces);
   5143             printf(" %d", n_nb_attributes);
   5144             printf(" %d", n_nb_defaulted);
   5145             printf(" %d", n_attributes);
   5146             printf("\n");
   5147         }
   5148     }
   5149     }
   5150     }
   5151     }
   5152     }
   5153     }
   5154     }
   5155     }
   5156     }
   5157     function_tests++;
   5158 
   5159     return(test_ret);
   5160 }
   5161 
   5162 
   5163 static int
   5164 test_xmlSAX2UnparsedEntityDecl(void) {
   5165     int test_ret = 0;
   5166 
   5167     int mem_base;
   5168     void * ctx; /* the user data (XML parser context) */
   5169     int n_ctx;
   5170     xmlChar * name; /* The name of the entity */
   5171     int n_name;
   5172     xmlChar * publicId; /* The public ID of the entity */
   5173     int n_publicId;
   5174     xmlChar * systemId; /* The system ID of the entity */
   5175     int n_systemId;
   5176     xmlChar * notationName; /* the name of the notation */
   5177     int n_notationName;
   5178 
   5179     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   5180     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   5181     for (n_publicId = 0;n_publicId < gen_nb_const_xmlChar_ptr;n_publicId++) {
   5182     for (n_systemId = 0;n_systemId < gen_nb_const_xmlChar_ptr;n_systemId++) {
   5183     for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
   5184         mem_base = xmlMemBlocks();
   5185         ctx = gen_void_ptr(n_ctx, 0);
   5186         name = gen_const_xmlChar_ptr(n_name, 1);
   5187         publicId = gen_const_xmlChar_ptr(n_publicId, 2);
   5188         systemId = gen_const_xmlChar_ptr(n_systemId, 3);
   5189         notationName = gen_const_xmlChar_ptr(n_notationName, 4);
   5190 
   5191         xmlSAX2UnparsedEntityDecl(ctx, (const xmlChar *)name, (const xmlChar *)publicId, (const xmlChar *)systemId, (const xmlChar *)notationName);
   5192         call_tests++;
   5193         des_void_ptr(n_ctx, ctx, 0);
   5194         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   5195         des_const_xmlChar_ptr(n_publicId, (const xmlChar *)publicId, 2);
   5196         des_const_xmlChar_ptr(n_systemId, (const xmlChar *)systemId, 3);
   5197         des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 4);
   5198         xmlResetLastError();
   5199         if (mem_base != xmlMemBlocks()) {
   5200             printf("Leak of %d blocks found in xmlSAX2UnparsedEntityDecl",
   5201 	           xmlMemBlocks() - mem_base);
   5202 	    test_ret++;
   5203             printf(" %d", n_ctx);
   5204             printf(" %d", n_name);
   5205             printf(" %d", n_publicId);
   5206             printf(" %d", n_systemId);
   5207             printf(" %d", n_notationName);
   5208             printf("\n");
   5209         }
   5210     }
   5211     }
   5212     }
   5213     }
   5214     }
   5215     function_tests++;
   5216 
   5217     return(test_ret);
   5218 }
   5219 
   5220 
   5221 static int
   5222 test_xmlSAXDefaultVersion(void) {
   5223     int test_ret = 0;
   5224 
   5225 #if defined(LIBXML_SAX1_ENABLED)
   5226 #ifdef LIBXML_SAX1_ENABLED
   5227     int mem_base;
   5228     int ret_val;
   5229     int version; /* the version, 1 or 2 */
   5230     int n_version;
   5231 
   5232     for (n_version = 0;n_version < gen_nb_int;n_version++) {
   5233         mem_base = xmlMemBlocks();
   5234         version = gen_int(n_version, 0);
   5235 
   5236         ret_val = xmlSAXDefaultVersion(version);
   5237         desret_int(ret_val);
   5238         call_tests++;
   5239         des_int(n_version, version, 0);
   5240         xmlResetLastError();
   5241         if (mem_base != xmlMemBlocks()) {
   5242             printf("Leak of %d blocks found in xmlSAXDefaultVersion",
   5243 	           xmlMemBlocks() - mem_base);
   5244 	    test_ret++;
   5245             printf(" %d", n_version);
   5246             printf("\n");
   5247         }
   5248     }
   5249     function_tests++;
   5250 #endif
   5251 #endif
   5252 
   5253     return(test_ret);
   5254 }
   5255 
   5256 
   5257 static int
   5258 test_xmlSAXVersion(void) {
   5259     int test_ret = 0;
   5260 
   5261     int mem_base;
   5262     int ret_val;
   5263     xmlSAXHandler * hdlr; /* the SAX handler */
   5264     int n_hdlr;
   5265     int version; /* the version, 1 or 2 */
   5266     int n_version;
   5267 
   5268     for (n_hdlr = 0;n_hdlr < gen_nb_xmlSAXHandler_ptr;n_hdlr++) {
   5269     for (n_version = 0;n_version < gen_nb_int;n_version++) {
   5270         mem_base = xmlMemBlocks();
   5271         hdlr = gen_xmlSAXHandler_ptr(n_hdlr, 0);
   5272         version = gen_int(n_version, 1);
   5273 
   5274         ret_val = xmlSAXVersion(hdlr, version);
   5275         desret_int(ret_val);
   5276         call_tests++;
   5277         des_xmlSAXHandler_ptr(n_hdlr, hdlr, 0);
   5278         des_int(n_version, version, 1);
   5279         xmlResetLastError();
   5280         if (mem_base != xmlMemBlocks()) {
   5281             printf("Leak of %d blocks found in xmlSAXVersion",
   5282 	           xmlMemBlocks() - mem_base);
   5283 	    test_ret++;
   5284             printf(" %d", n_hdlr);
   5285             printf(" %d", n_version);
   5286             printf("\n");
   5287         }
   5288     }
   5289     }
   5290     function_tests++;
   5291 
   5292     return(test_ret);
   5293 }
   5294 
   5295 static int
   5296 test_SAX2(void) {
   5297     int test_ret = 0;
   5298 
   5299     if (quiet == 0) printf("Testing SAX2 : 38 of 38 functions ...\n");
   5300     test_ret += test_docbDefaultSAXHandlerInit();
   5301     test_ret += test_htmlDefaultSAXHandlerInit();
   5302     test_ret += test_xmlDefaultSAXHandlerInit();
   5303     test_ret += test_xmlSAX2AttributeDecl();
   5304     test_ret += test_xmlSAX2CDataBlock();
   5305     test_ret += test_xmlSAX2Characters();
   5306     test_ret += test_xmlSAX2Comment();
   5307     test_ret += test_xmlSAX2ElementDecl();
   5308     test_ret += test_xmlSAX2EndDocument();
   5309     test_ret += test_xmlSAX2EndElement();
   5310     test_ret += test_xmlSAX2EndElementNs();
   5311     test_ret += test_xmlSAX2EntityDecl();
   5312     test_ret += test_xmlSAX2ExternalSubset();
   5313     test_ret += test_xmlSAX2GetColumnNumber();
   5314     test_ret += test_xmlSAX2GetEntity();
   5315     test_ret += test_xmlSAX2GetLineNumber();
   5316     test_ret += test_xmlSAX2GetParameterEntity();
   5317     test_ret += test_xmlSAX2GetPublicId();
   5318     test_ret += test_xmlSAX2GetSystemId();
   5319     test_ret += test_xmlSAX2HasExternalSubset();
   5320     test_ret += test_xmlSAX2HasInternalSubset();
   5321     test_ret += test_xmlSAX2IgnorableWhitespace();
   5322     test_ret += test_xmlSAX2InitDefaultSAXHandler();
   5323     test_ret += test_xmlSAX2InitDocbDefaultSAXHandler();
   5324     test_ret += test_xmlSAX2InitHtmlDefaultSAXHandler();
   5325     test_ret += test_xmlSAX2InternalSubset();
   5326     test_ret += test_xmlSAX2IsStandalone();
   5327     test_ret += test_xmlSAX2NotationDecl();
   5328     test_ret += test_xmlSAX2ProcessingInstruction();
   5329     test_ret += test_xmlSAX2Reference();
   5330     test_ret += test_xmlSAX2ResolveEntity();
   5331     test_ret += test_xmlSAX2SetDocumentLocator();
   5332     test_ret += test_xmlSAX2StartDocument();
   5333     test_ret += test_xmlSAX2StartElement();
   5334     test_ret += test_xmlSAX2StartElementNs();
   5335     test_ret += test_xmlSAX2UnparsedEntityDecl();
   5336     test_ret += test_xmlSAXDefaultVersion();
   5337     test_ret += test_xmlSAXVersion();
   5338 
   5339     if (test_ret != 0)
   5340 	printf("Module SAX2: %d errors\n", test_ret);
   5341     return(test_ret);
   5342 }
   5343 
   5344 static int
   5345 test_xmlC14NDocDumpMemory(void) {
   5346     int test_ret = 0;
   5347 
   5348 #if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   5349     int mem_base;
   5350     int ret_val;
   5351     xmlDocPtr doc; /* the XML document for canonization */
   5352     int n_doc;
   5353     xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
   5354     int n_nodes;
   5355     int mode; /* the c14n mode (see @xmlC14NMode) */
   5356     int n_mode;
   5357     xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
   5358     int n_inclusive_ns_prefixes;
   5359     int with_comments; /* include comments in the result (!=0) or not (==0) */
   5360     int n_with_comments;
   5361     xmlChar ** doc_txt_ptr; /* the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory */
   5362     int n_doc_txt_ptr;
   5363 
   5364     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   5365     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   5366     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
   5367     for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
   5368     for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
   5369     for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
   5370         mem_base = xmlMemBlocks();
   5371         doc = gen_xmlDocPtr(n_doc, 0);
   5372         nodes = gen_xmlNodeSetPtr(n_nodes, 1);
   5373         mode = gen_int(n_mode, 2);
   5374         inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
   5375         with_comments = gen_int(n_with_comments, 4);
   5376         doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 5);
   5377 
   5378         ret_val = xmlC14NDocDumpMemory(doc, nodes, mode, inclusive_ns_prefixes, with_comments, doc_txt_ptr);
   5379         desret_int(ret_val);
   5380         call_tests++;
   5381         des_xmlDocPtr(n_doc, doc, 0);
   5382         des_xmlNodeSetPtr(n_nodes, nodes, 1);
   5383         des_int(n_mode, mode, 2);
   5384         des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
   5385         des_int(n_with_comments, with_comments, 4);
   5386         des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 5);
   5387         xmlResetLastError();
   5388         if (mem_base != xmlMemBlocks()) {
   5389             printf("Leak of %d blocks found in xmlC14NDocDumpMemory",
   5390 	           xmlMemBlocks() - mem_base);
   5391 	    test_ret++;
   5392             printf(" %d", n_doc);
   5393             printf(" %d", n_nodes);
   5394             printf(" %d", n_mode);
   5395             printf(" %d", n_inclusive_ns_prefixes);
   5396             printf(" %d", n_with_comments);
   5397             printf(" %d", n_doc_txt_ptr);
   5398             printf("\n");
   5399         }
   5400     }
   5401     }
   5402     }
   5403     }
   5404     }
   5405     }
   5406     function_tests++;
   5407 #endif
   5408 
   5409     return(test_ret);
   5410 }
   5411 
   5412 
   5413 static int
   5414 test_xmlC14NDocSave(void) {
   5415     int test_ret = 0;
   5416 
   5417 #if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   5418     int mem_base;
   5419     int ret_val;
   5420     xmlDocPtr doc; /* the XML document for canonization */
   5421     int n_doc;
   5422     xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
   5423     int n_nodes;
   5424     int mode; /* the c14n mode (see @xmlC14NMode) */
   5425     int n_mode;
   5426     xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
   5427     int n_inclusive_ns_prefixes;
   5428     int with_comments; /* include comments in the result (!=0) or not (==0) */
   5429     int n_with_comments;
   5430     const char * filename; /* the filename to store canonical XML image */
   5431     int n_filename;
   5432     int compression; /* the compression level (zlib requred): -1 - libxml default, 0 - uncompressed, >0 - compression level */
   5433     int n_compression;
   5434 
   5435     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   5436     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   5437     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
   5438     for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
   5439     for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
   5440     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   5441     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
   5442         mem_base = xmlMemBlocks();
   5443         doc = gen_xmlDocPtr(n_doc, 0);
   5444         nodes = gen_xmlNodeSetPtr(n_nodes, 1);
   5445         mode = gen_int(n_mode, 2);
   5446         inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
   5447         with_comments = gen_int(n_with_comments, 4);
   5448         filename = gen_fileoutput(n_filename, 5);
   5449         compression = gen_int(n_compression, 6);
   5450 
   5451         ret_val = xmlC14NDocSave(doc, nodes, mode, inclusive_ns_prefixes, with_comments, filename, compression);
   5452         desret_int(ret_val);
   5453         call_tests++;
   5454         des_xmlDocPtr(n_doc, doc, 0);
   5455         des_xmlNodeSetPtr(n_nodes, nodes, 1);
   5456         des_int(n_mode, mode, 2);
   5457         des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
   5458         des_int(n_with_comments, with_comments, 4);
   5459         des_fileoutput(n_filename, filename, 5);
   5460         des_int(n_compression, compression, 6);
   5461         xmlResetLastError();
   5462         if (mem_base != xmlMemBlocks()) {
   5463             printf("Leak of %d blocks found in xmlC14NDocSave",
   5464 	           xmlMemBlocks() - mem_base);
   5465 	    test_ret++;
   5466             printf(" %d", n_doc);
   5467             printf(" %d", n_nodes);
   5468             printf(" %d", n_mode);
   5469             printf(" %d", n_inclusive_ns_prefixes);
   5470             printf(" %d", n_with_comments);
   5471             printf(" %d", n_filename);
   5472             printf(" %d", n_compression);
   5473             printf("\n");
   5474         }
   5475     }
   5476     }
   5477     }
   5478     }
   5479     }
   5480     }
   5481     }
   5482     function_tests++;
   5483 #endif
   5484 
   5485     return(test_ret);
   5486 }
   5487 
   5488 
   5489 static int
   5490 test_xmlC14NDocSaveTo(void) {
   5491     int test_ret = 0;
   5492 
   5493 #if defined(LIBXML_C14N_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   5494     int mem_base;
   5495     int ret_val;
   5496     xmlDocPtr doc; /* the XML document for canonization */
   5497     int n_doc;
   5498     xmlNodeSetPtr nodes; /* the nodes set to be included in the canonized image or NULL if all document nodes should be included */
   5499     int n_nodes;
   5500     int mode; /* the c14n mode (see @xmlC14NMode) */
   5501     int n_mode;
   5502     xmlChar ** inclusive_ns_prefixes; /* the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise) */
   5503     int n_inclusive_ns_prefixes;
   5504     int with_comments; /* include comments in the result (!=0) or not (==0) */
   5505     int n_with_comments;
   5506     xmlOutputBufferPtr buf; /* the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output */
   5507     int n_buf;
   5508 
   5509     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   5510     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   5511     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
   5512     for (n_inclusive_ns_prefixes = 0;n_inclusive_ns_prefixes < gen_nb_xmlChar_ptr_ptr;n_inclusive_ns_prefixes++) {
   5513     for (n_with_comments = 0;n_with_comments < gen_nb_int;n_with_comments++) {
   5514     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   5515         mem_base = xmlMemBlocks();
   5516         doc = gen_xmlDocPtr(n_doc, 0);
   5517         nodes = gen_xmlNodeSetPtr(n_nodes, 1);
   5518         mode = gen_int(n_mode, 2);
   5519         inclusive_ns_prefixes = gen_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, 3);
   5520         with_comments = gen_int(n_with_comments, 4);
   5521         buf = gen_xmlOutputBufferPtr(n_buf, 5);
   5522 
   5523         ret_val = xmlC14NDocSaveTo(doc, nodes, mode, inclusive_ns_prefixes, with_comments, buf);
   5524         desret_int(ret_val);
   5525         call_tests++;
   5526         des_xmlDocPtr(n_doc, doc, 0);
   5527         des_xmlNodeSetPtr(n_nodes, nodes, 1);
   5528         des_int(n_mode, mode, 2);
   5529         des_xmlChar_ptr_ptr(n_inclusive_ns_prefixes, inclusive_ns_prefixes, 3);
   5530         des_int(n_with_comments, with_comments, 4);
   5531         des_xmlOutputBufferPtr(n_buf, buf, 5);
   5532         xmlResetLastError();
   5533         if (mem_base != xmlMemBlocks()) {
   5534             printf("Leak of %d blocks found in xmlC14NDocSaveTo",
   5535 	           xmlMemBlocks() - mem_base);
   5536 	    test_ret++;
   5537             printf(" %d", n_doc);
   5538             printf(" %d", n_nodes);
   5539             printf(" %d", n_mode);
   5540             printf(" %d", n_inclusive_ns_prefixes);
   5541             printf(" %d", n_with_comments);
   5542             printf(" %d", n_buf);
   5543             printf("\n");
   5544         }
   5545     }
   5546     }
   5547     }
   5548     }
   5549     }
   5550     }
   5551     function_tests++;
   5552 #endif
   5553 
   5554     return(test_ret);
   5555 }
   5556 
   5557 
   5558 static int
   5559 test_xmlC14NExecute(void) {
   5560     int test_ret = 0;
   5561 
   5562 
   5563     /* missing type support */
   5564     return(test_ret);
   5565 }
   5566 
   5567 static int
   5568 test_c14n(void) {
   5569     int test_ret = 0;
   5570 
   5571     if (quiet == 0) printf("Testing c14n : 3 of 4 functions ...\n");
   5572     test_ret += test_xmlC14NDocDumpMemory();
   5573     test_ret += test_xmlC14NDocSave();
   5574     test_ret += test_xmlC14NDocSaveTo();
   5575     test_ret += test_xmlC14NExecute();
   5576 
   5577     if (test_ret != 0)
   5578 	printf("Module c14n: %d errors\n", test_ret);
   5579     return(test_ret);
   5580 }
   5581 #ifdef LIBXML_CATALOG_ENABLED
   5582 
   5583 #define gen_nb_xmlCatalogPtr 1
   5584 static xmlCatalogPtr gen_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   5585     return(NULL);
   5586 }
   5587 static void des_xmlCatalogPtr(int no ATTRIBUTE_UNUSED, xmlCatalogPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   5588 }
   5589 #endif
   5590 
   5591 
   5592 static int
   5593 test_xmlACatalogAdd(void) {
   5594     int test_ret = 0;
   5595 
   5596 #if defined(LIBXML_CATALOG_ENABLED)
   5597     int mem_base;
   5598     int ret_val;
   5599     xmlCatalogPtr catal; /* a Catalog */
   5600     int n_catal;
   5601     xmlChar * type; /* the type of record to add to the catalog */
   5602     int n_type;
   5603     xmlChar * orig; /* the system, public or prefix to match */
   5604     int n_orig;
   5605     xmlChar * replace; /* the replacement value for the match */
   5606     int n_replace;
   5607 
   5608     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   5609     for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
   5610     for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
   5611     for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
   5612         mem_base = xmlMemBlocks();
   5613         catal = gen_xmlCatalogPtr(n_catal, 0);
   5614         type = gen_const_xmlChar_ptr(n_type, 1);
   5615         orig = gen_const_xmlChar_ptr(n_orig, 2);
   5616         replace = gen_const_xmlChar_ptr(n_replace, 3);
   5617 
   5618         ret_val = xmlACatalogAdd(catal, (const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
   5619         desret_int(ret_val);
   5620         call_tests++;
   5621         des_xmlCatalogPtr(n_catal, catal, 0);
   5622         des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 1);
   5623         des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 2);
   5624         des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 3);
   5625         xmlResetLastError();
   5626         if (mem_base != xmlMemBlocks()) {
   5627             printf("Leak of %d blocks found in xmlACatalogAdd",
   5628 	           xmlMemBlocks() - mem_base);
   5629 	    test_ret++;
   5630             printf(" %d", n_catal);
   5631             printf(" %d", n_type);
   5632             printf(" %d", n_orig);
   5633             printf(" %d", n_replace);
   5634             printf("\n");
   5635         }
   5636     }
   5637     }
   5638     }
   5639     }
   5640     function_tests++;
   5641 #endif
   5642 
   5643     return(test_ret);
   5644 }
   5645 
   5646 
   5647 static int
   5648 test_xmlACatalogDump(void) {
   5649     int test_ret = 0;
   5650 
   5651 #if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   5652     int mem_base;
   5653     xmlCatalogPtr catal; /* a Catalog */
   5654     int n_catal;
   5655     FILE * out; /* the file. */
   5656     int n_out;
   5657 
   5658     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   5659     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
   5660         mem_base = xmlMemBlocks();
   5661         catal = gen_xmlCatalogPtr(n_catal, 0);
   5662         out = gen_FILE_ptr(n_out, 1);
   5663 
   5664         xmlACatalogDump(catal, out);
   5665         call_tests++;
   5666         des_xmlCatalogPtr(n_catal, catal, 0);
   5667         des_FILE_ptr(n_out, out, 1);
   5668         xmlResetLastError();
   5669         if (mem_base != xmlMemBlocks()) {
   5670             printf("Leak of %d blocks found in xmlACatalogDump",
   5671 	           xmlMemBlocks() - mem_base);
   5672 	    test_ret++;
   5673             printf(" %d", n_catal);
   5674             printf(" %d", n_out);
   5675             printf("\n");
   5676         }
   5677     }
   5678     }
   5679     function_tests++;
   5680 #endif
   5681 
   5682     return(test_ret);
   5683 }
   5684 
   5685 
   5686 static int
   5687 test_xmlACatalogRemove(void) {
   5688     int test_ret = 0;
   5689 
   5690 #if defined(LIBXML_CATALOG_ENABLED)
   5691     int mem_base;
   5692     int ret_val;
   5693     xmlCatalogPtr catal; /* a Catalog */
   5694     int n_catal;
   5695     xmlChar * value; /* the value to remove */
   5696     int n_value;
   5697 
   5698     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   5699     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   5700         mem_base = xmlMemBlocks();
   5701         catal = gen_xmlCatalogPtr(n_catal, 0);
   5702         value = gen_const_xmlChar_ptr(n_value, 1);
   5703 
   5704         ret_val = xmlACatalogRemove(catal, (const xmlChar *)value);
   5705         desret_int(ret_val);
   5706         call_tests++;
   5707         des_xmlCatalogPtr(n_catal, catal, 0);
   5708         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   5709         xmlResetLastError();
   5710         if (mem_base != xmlMemBlocks()) {
   5711             printf("Leak of %d blocks found in xmlACatalogRemove",
   5712 	           xmlMemBlocks() - mem_base);
   5713 	    test_ret++;
   5714             printf(" %d", n_catal);
   5715             printf(" %d", n_value);
   5716             printf("\n");
   5717         }
   5718     }
   5719     }
   5720     function_tests++;
   5721 #endif
   5722 
   5723     return(test_ret);
   5724 }
   5725 
   5726 
   5727 static int
   5728 test_xmlACatalogResolve(void) {
   5729     int test_ret = 0;
   5730 
   5731 #if defined(LIBXML_CATALOG_ENABLED)
   5732     int mem_base;
   5733     xmlChar * ret_val;
   5734     xmlCatalogPtr catal; /* a Catalog */
   5735     int n_catal;
   5736     xmlChar * pubID; /* the public ID string */
   5737     int n_pubID;
   5738     xmlChar * sysID; /* the system ID string */
   5739     int n_sysID;
   5740 
   5741     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   5742     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
   5743     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
   5744         mem_base = xmlMemBlocks();
   5745         catal = gen_xmlCatalogPtr(n_catal, 0);
   5746         pubID = gen_const_xmlChar_ptr(n_pubID, 1);
   5747         sysID = gen_const_xmlChar_ptr(n_sysID, 2);
   5748 
   5749         ret_val = xmlACatalogResolve(catal, (const xmlChar *)pubID, (const xmlChar *)sysID);
   5750         desret_xmlChar_ptr(ret_val);
   5751         call_tests++;
   5752         des_xmlCatalogPtr(n_catal, catal, 0);
   5753         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
   5754         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
   5755         xmlResetLastError();
   5756         if (mem_base != xmlMemBlocks()) {
   5757             printf("Leak of %d blocks found in xmlACatalogResolve",
   5758 	           xmlMemBlocks() - mem_base);
   5759 	    test_ret++;
   5760             printf(" %d", n_catal);
   5761             printf(" %d", n_pubID);
   5762             printf(" %d", n_sysID);
   5763             printf("\n");
   5764         }
   5765     }
   5766     }
   5767     }
   5768     function_tests++;
   5769 #endif
   5770 
   5771     return(test_ret);
   5772 }
   5773 
   5774 
   5775 static int
   5776 test_xmlACatalogResolvePublic(void) {
   5777     int test_ret = 0;
   5778 
   5779 #if defined(LIBXML_CATALOG_ENABLED)
   5780     int mem_base;
   5781     xmlChar * ret_val;
   5782     xmlCatalogPtr catal; /* a Catalog */
   5783     int n_catal;
   5784     xmlChar * pubID; /* the public ID string */
   5785     int n_pubID;
   5786 
   5787     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   5788     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
   5789         mem_base = xmlMemBlocks();
   5790         catal = gen_xmlCatalogPtr(n_catal, 0);
   5791         pubID = gen_const_xmlChar_ptr(n_pubID, 1);
   5792 
   5793         ret_val = xmlACatalogResolvePublic(catal, (const xmlChar *)pubID);
   5794         desret_xmlChar_ptr(ret_val);
   5795         call_tests++;
   5796         des_xmlCatalogPtr(n_catal, catal, 0);
   5797         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
   5798         xmlResetLastError();
   5799         if (mem_base != xmlMemBlocks()) {
   5800             printf("Leak of %d blocks found in xmlACatalogResolvePublic",
   5801 	           xmlMemBlocks() - mem_base);
   5802 	    test_ret++;
   5803             printf(" %d", n_catal);
   5804             printf(" %d", n_pubID);
   5805             printf("\n");
   5806         }
   5807     }
   5808     }
   5809     function_tests++;
   5810 #endif
   5811 
   5812     return(test_ret);
   5813 }
   5814 
   5815 
   5816 static int
   5817 test_xmlACatalogResolveSystem(void) {
   5818     int test_ret = 0;
   5819 
   5820 #if defined(LIBXML_CATALOG_ENABLED)
   5821     int mem_base;
   5822     xmlChar * ret_val;
   5823     xmlCatalogPtr catal; /* a Catalog */
   5824     int n_catal;
   5825     xmlChar * sysID; /* the system ID string */
   5826     int n_sysID;
   5827 
   5828     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   5829     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
   5830         mem_base = xmlMemBlocks();
   5831         catal = gen_xmlCatalogPtr(n_catal, 0);
   5832         sysID = gen_const_xmlChar_ptr(n_sysID, 1);
   5833 
   5834         ret_val = xmlACatalogResolveSystem(catal, (const xmlChar *)sysID);
   5835         desret_xmlChar_ptr(ret_val);
   5836         call_tests++;
   5837         des_xmlCatalogPtr(n_catal, catal, 0);
   5838         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
   5839         xmlResetLastError();
   5840         if (mem_base != xmlMemBlocks()) {
   5841             printf("Leak of %d blocks found in xmlACatalogResolveSystem",
   5842 	           xmlMemBlocks() - mem_base);
   5843 	    test_ret++;
   5844             printf(" %d", n_catal);
   5845             printf(" %d", n_sysID);
   5846             printf("\n");
   5847         }
   5848     }
   5849     }
   5850     function_tests++;
   5851 #endif
   5852 
   5853     return(test_ret);
   5854 }
   5855 
   5856 
   5857 static int
   5858 test_xmlACatalogResolveURI(void) {
   5859     int test_ret = 0;
   5860 
   5861 #if defined(LIBXML_CATALOG_ENABLED)
   5862     int mem_base;
   5863     xmlChar * ret_val;
   5864     xmlCatalogPtr catal; /* a Catalog */
   5865     int n_catal;
   5866     xmlChar * URI; /* the URI */
   5867     int n_URI;
   5868 
   5869     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   5870     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   5871         mem_base = xmlMemBlocks();
   5872         catal = gen_xmlCatalogPtr(n_catal, 0);
   5873         URI = gen_const_xmlChar_ptr(n_URI, 1);
   5874 
   5875         ret_val = xmlACatalogResolveURI(catal, (const xmlChar *)URI);
   5876         desret_xmlChar_ptr(ret_val);
   5877         call_tests++;
   5878         des_xmlCatalogPtr(n_catal, catal, 0);
   5879         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
   5880         xmlResetLastError();
   5881         if (mem_base != xmlMemBlocks()) {
   5882             printf("Leak of %d blocks found in xmlACatalogResolveURI",
   5883 	           xmlMemBlocks() - mem_base);
   5884 	    test_ret++;
   5885             printf(" %d", n_catal);
   5886             printf(" %d", n_URI);
   5887             printf("\n");
   5888         }
   5889     }
   5890     }
   5891     function_tests++;
   5892 #endif
   5893 
   5894     return(test_ret);
   5895 }
   5896 
   5897 
   5898 static int
   5899 test_xmlCatalogAdd(void) {
   5900     int test_ret = 0;
   5901 
   5902 #if defined(LIBXML_CATALOG_ENABLED)
   5903     int mem_base;
   5904     int ret_val;
   5905     xmlChar * type; /* the type of record to add to the catalog */
   5906     int n_type;
   5907     xmlChar * orig; /* the system, public or prefix to match */
   5908     int n_orig;
   5909     xmlChar * replace; /* the replacement value for the match */
   5910     int n_replace;
   5911 
   5912     for (n_type = 0;n_type < gen_nb_const_xmlChar_ptr;n_type++) {
   5913     for (n_orig = 0;n_orig < gen_nb_const_xmlChar_ptr;n_orig++) {
   5914     for (n_replace = 0;n_replace < gen_nb_const_xmlChar_ptr;n_replace++) {
   5915         mem_base = xmlMemBlocks();
   5916         type = gen_const_xmlChar_ptr(n_type, 0);
   5917         orig = gen_const_xmlChar_ptr(n_orig, 1);
   5918         replace = gen_const_xmlChar_ptr(n_replace, 2);
   5919 
   5920         ret_val = xmlCatalogAdd((const xmlChar *)type, (const xmlChar *)orig, (const xmlChar *)replace);
   5921         desret_int(ret_val);
   5922         call_tests++;
   5923         des_const_xmlChar_ptr(n_type, (const xmlChar *)type, 0);
   5924         des_const_xmlChar_ptr(n_orig, (const xmlChar *)orig, 1);
   5925         des_const_xmlChar_ptr(n_replace, (const xmlChar *)replace, 2);
   5926         xmlResetLastError();
   5927         if (mem_base != xmlMemBlocks()) {
   5928             printf("Leak of %d blocks found in xmlCatalogAdd",
   5929 	           xmlMemBlocks() - mem_base);
   5930 	    test_ret++;
   5931             printf(" %d", n_type);
   5932             printf(" %d", n_orig);
   5933             printf(" %d", n_replace);
   5934             printf("\n");
   5935         }
   5936     }
   5937     }
   5938     }
   5939     function_tests++;
   5940 #endif
   5941 
   5942     return(test_ret);
   5943 }
   5944 
   5945 
   5946 static int
   5947 test_xmlCatalogCleanup(void) {
   5948     int test_ret = 0;
   5949 
   5950 #if defined(LIBXML_CATALOG_ENABLED)
   5951 
   5952 
   5953         xmlCatalogCleanup();
   5954         call_tests++;
   5955         xmlResetLastError();
   5956     function_tests++;
   5957 #endif
   5958 
   5959     return(test_ret);
   5960 }
   5961 
   5962 
   5963 static int
   5964 test_xmlCatalogConvert(void) {
   5965     int test_ret = 0;
   5966 
   5967 #if defined(LIBXML_CATALOG_ENABLED)
   5968     int ret_val;
   5969 
   5970 
   5971         ret_val = xmlCatalogConvert();
   5972         desret_int(ret_val);
   5973         call_tests++;
   5974         xmlResetLastError();
   5975     function_tests++;
   5976 #endif
   5977 
   5978     return(test_ret);
   5979 }
   5980 
   5981 
   5982 static int
   5983 test_xmlCatalogDump(void) {
   5984     int test_ret = 0;
   5985 
   5986 #if defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   5987     int mem_base;
   5988     FILE * out; /* the file. */
   5989     int n_out;
   5990 
   5991     for (n_out = 0;n_out < gen_nb_FILE_ptr;n_out++) {
   5992         mem_base = xmlMemBlocks();
   5993         out = gen_FILE_ptr(n_out, 0);
   5994 
   5995         xmlCatalogDump(out);
   5996         call_tests++;
   5997         des_FILE_ptr(n_out, out, 0);
   5998         xmlResetLastError();
   5999         if (mem_base != xmlMemBlocks()) {
   6000             printf("Leak of %d blocks found in xmlCatalogDump",
   6001 	           xmlMemBlocks() - mem_base);
   6002 	    test_ret++;
   6003             printf(" %d", n_out);
   6004             printf("\n");
   6005         }
   6006     }
   6007     function_tests++;
   6008 #endif
   6009 
   6010     return(test_ret);
   6011 }
   6012 
   6013 
   6014 static int
   6015 test_xmlCatalogGetDefaults(void) {
   6016     int test_ret = 0;
   6017 
   6018 #if defined(LIBXML_CATALOG_ENABLED)
   6019     int mem_base;
   6020     xmlCatalogAllow ret_val;
   6021 
   6022         mem_base = xmlMemBlocks();
   6023 
   6024         ret_val = xmlCatalogGetDefaults();
   6025         desret_xmlCatalogAllow(ret_val);
   6026         call_tests++;
   6027         xmlResetLastError();
   6028         if (mem_base != xmlMemBlocks()) {
   6029             printf("Leak of %d blocks found in xmlCatalogGetDefaults",
   6030 	           xmlMemBlocks() - mem_base);
   6031 	    test_ret++;
   6032             printf("\n");
   6033         }
   6034     function_tests++;
   6035 #endif
   6036 
   6037     return(test_ret);
   6038 }
   6039 
   6040 
   6041 static int
   6042 test_xmlCatalogIsEmpty(void) {
   6043     int test_ret = 0;
   6044 
   6045 #if defined(LIBXML_CATALOG_ENABLED)
   6046     int mem_base;
   6047     int ret_val;
   6048     xmlCatalogPtr catal; /* should this create an SGML catalog */
   6049     int n_catal;
   6050 
   6051     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   6052         mem_base = xmlMemBlocks();
   6053         catal = gen_xmlCatalogPtr(n_catal, 0);
   6054 
   6055         ret_val = xmlCatalogIsEmpty(catal);
   6056         desret_int(ret_val);
   6057         call_tests++;
   6058         des_xmlCatalogPtr(n_catal, catal, 0);
   6059         xmlResetLastError();
   6060         if (mem_base != xmlMemBlocks()) {
   6061             printf("Leak of %d blocks found in xmlCatalogIsEmpty",
   6062 	           xmlMemBlocks() - mem_base);
   6063 	    test_ret++;
   6064             printf(" %d", n_catal);
   6065             printf("\n");
   6066         }
   6067     }
   6068     function_tests++;
   6069 #endif
   6070 
   6071     return(test_ret);
   6072 }
   6073 
   6074 
   6075 static int
   6076 test_xmlCatalogLocalResolve(void) {
   6077     int test_ret = 0;
   6078 
   6079 #if defined(LIBXML_CATALOG_ENABLED)
   6080     int mem_base;
   6081     xmlChar * ret_val;
   6082     void * catalogs; /* a document's list of catalogs */
   6083     int n_catalogs;
   6084     xmlChar * pubID; /* the public ID string */
   6085     int n_pubID;
   6086     xmlChar * sysID; /* the system ID string */
   6087     int n_sysID;
   6088 
   6089     for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
   6090     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
   6091     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
   6092         mem_base = xmlMemBlocks();
   6093         catalogs = gen_void_ptr(n_catalogs, 0);
   6094         pubID = gen_const_xmlChar_ptr(n_pubID, 1);
   6095         sysID = gen_const_xmlChar_ptr(n_sysID, 2);
   6096 
   6097         ret_val = xmlCatalogLocalResolve(catalogs, (const xmlChar *)pubID, (const xmlChar *)sysID);
   6098         desret_xmlChar_ptr(ret_val);
   6099         call_tests++;
   6100         des_void_ptr(n_catalogs, catalogs, 0);
   6101         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 1);
   6102         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 2);
   6103         xmlResetLastError();
   6104         if (mem_base != xmlMemBlocks()) {
   6105             printf("Leak of %d blocks found in xmlCatalogLocalResolve",
   6106 	           xmlMemBlocks() - mem_base);
   6107 	    test_ret++;
   6108             printf(" %d", n_catalogs);
   6109             printf(" %d", n_pubID);
   6110             printf(" %d", n_sysID);
   6111             printf("\n");
   6112         }
   6113     }
   6114     }
   6115     }
   6116     function_tests++;
   6117 #endif
   6118 
   6119     return(test_ret);
   6120 }
   6121 
   6122 
   6123 static int
   6124 test_xmlCatalogLocalResolveURI(void) {
   6125     int test_ret = 0;
   6126 
   6127 #if defined(LIBXML_CATALOG_ENABLED)
   6128     int mem_base;
   6129     xmlChar * ret_val;
   6130     void * catalogs; /* a document's list of catalogs */
   6131     int n_catalogs;
   6132     xmlChar * URI; /* the URI */
   6133     int n_URI;
   6134 
   6135     for (n_catalogs = 0;n_catalogs < gen_nb_void_ptr;n_catalogs++) {
   6136     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   6137         mem_base = xmlMemBlocks();
   6138         catalogs = gen_void_ptr(n_catalogs, 0);
   6139         URI = gen_const_xmlChar_ptr(n_URI, 1);
   6140 
   6141         ret_val = xmlCatalogLocalResolveURI(catalogs, (const xmlChar *)URI);
   6142         desret_xmlChar_ptr(ret_val);
   6143         call_tests++;
   6144         des_void_ptr(n_catalogs, catalogs, 0);
   6145         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 1);
   6146         xmlResetLastError();
   6147         if (mem_base != xmlMemBlocks()) {
   6148             printf("Leak of %d blocks found in xmlCatalogLocalResolveURI",
   6149 	           xmlMemBlocks() - mem_base);
   6150 	    test_ret++;
   6151             printf(" %d", n_catalogs);
   6152             printf(" %d", n_URI);
   6153             printf("\n");
   6154         }
   6155     }
   6156     }
   6157     function_tests++;
   6158 #endif
   6159 
   6160     return(test_ret);
   6161 }
   6162 
   6163 
   6164 static int
   6165 test_xmlCatalogRemove(void) {
   6166     int test_ret = 0;
   6167 
   6168 #if defined(LIBXML_CATALOG_ENABLED)
   6169     int ret_val;
   6170     xmlChar * value; /* the value to remove */
   6171     int n_value;
   6172 
   6173     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   6174         value = gen_const_xmlChar_ptr(n_value, 0);
   6175 
   6176         ret_val = xmlCatalogRemove((const xmlChar *)value);
   6177         desret_int(ret_val);
   6178         call_tests++;
   6179         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   6180         xmlResetLastError();
   6181     }
   6182     function_tests++;
   6183 #endif
   6184 
   6185     return(test_ret);
   6186 }
   6187 
   6188 
   6189 static int
   6190 test_xmlCatalogResolve(void) {
   6191     int test_ret = 0;
   6192 
   6193 #if defined(LIBXML_CATALOG_ENABLED)
   6194     xmlChar * ret_val;
   6195     xmlChar * pubID; /* the public ID string */
   6196     int n_pubID;
   6197     xmlChar * sysID; /* the system ID string */
   6198     int n_sysID;
   6199 
   6200     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
   6201     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
   6202         pubID = gen_const_xmlChar_ptr(n_pubID, 0);
   6203         sysID = gen_const_xmlChar_ptr(n_sysID, 1);
   6204 
   6205         ret_val = xmlCatalogResolve((const xmlChar *)pubID, (const xmlChar *)sysID);
   6206         desret_xmlChar_ptr(ret_val);
   6207         call_tests++;
   6208         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
   6209         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 1);
   6210         xmlResetLastError();
   6211     }
   6212     }
   6213     function_tests++;
   6214 #endif
   6215 
   6216     return(test_ret);
   6217 }
   6218 
   6219 
   6220 static int
   6221 test_xmlCatalogResolvePublic(void) {
   6222     int test_ret = 0;
   6223 
   6224 #if defined(LIBXML_CATALOG_ENABLED)
   6225     int mem_base;
   6226     xmlChar * ret_val;
   6227     xmlChar * pubID; /* the public ID string */
   6228     int n_pubID;
   6229 
   6230     for (n_pubID = 0;n_pubID < gen_nb_const_xmlChar_ptr;n_pubID++) {
   6231         mem_base = xmlMemBlocks();
   6232         pubID = gen_const_xmlChar_ptr(n_pubID, 0);
   6233 
   6234         ret_val = xmlCatalogResolvePublic((const xmlChar *)pubID);
   6235         desret_xmlChar_ptr(ret_val);
   6236         call_tests++;
   6237         des_const_xmlChar_ptr(n_pubID, (const xmlChar *)pubID, 0);
   6238         xmlResetLastError();
   6239         if (mem_base != xmlMemBlocks()) {
   6240             printf("Leak of %d blocks found in xmlCatalogResolvePublic",
   6241 	           xmlMemBlocks() - mem_base);
   6242 	    test_ret++;
   6243             printf(" %d", n_pubID);
   6244             printf("\n");
   6245         }
   6246     }
   6247     function_tests++;
   6248 #endif
   6249 
   6250     return(test_ret);
   6251 }
   6252 
   6253 
   6254 static int
   6255 test_xmlCatalogResolveSystem(void) {
   6256     int test_ret = 0;
   6257 
   6258 #if defined(LIBXML_CATALOG_ENABLED)
   6259     int mem_base;
   6260     xmlChar * ret_val;
   6261     xmlChar * sysID; /* the system ID string */
   6262     int n_sysID;
   6263 
   6264     for (n_sysID = 0;n_sysID < gen_nb_const_xmlChar_ptr;n_sysID++) {
   6265         mem_base = xmlMemBlocks();
   6266         sysID = gen_const_xmlChar_ptr(n_sysID, 0);
   6267 
   6268         ret_val = xmlCatalogResolveSystem((const xmlChar *)sysID);
   6269         desret_xmlChar_ptr(ret_val);
   6270         call_tests++;
   6271         des_const_xmlChar_ptr(n_sysID, (const xmlChar *)sysID, 0);
   6272         xmlResetLastError();
   6273         if (mem_base != xmlMemBlocks()) {
   6274             printf("Leak of %d blocks found in xmlCatalogResolveSystem",
   6275 	           xmlMemBlocks() - mem_base);
   6276 	    test_ret++;
   6277             printf(" %d", n_sysID);
   6278             printf("\n");
   6279         }
   6280     }
   6281     function_tests++;
   6282 #endif
   6283 
   6284     return(test_ret);
   6285 }
   6286 
   6287 
   6288 static int
   6289 test_xmlCatalogResolveURI(void) {
   6290     int test_ret = 0;
   6291 
   6292 #if defined(LIBXML_CATALOG_ENABLED)
   6293     int mem_base;
   6294     xmlChar * ret_val;
   6295     xmlChar * URI; /* the URI */
   6296     int n_URI;
   6297 
   6298     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   6299         mem_base = xmlMemBlocks();
   6300         URI = gen_const_xmlChar_ptr(n_URI, 0);
   6301 
   6302         ret_val = xmlCatalogResolveURI((const xmlChar *)URI);
   6303         desret_xmlChar_ptr(ret_val);
   6304         call_tests++;
   6305         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
   6306         xmlResetLastError();
   6307         if (mem_base != xmlMemBlocks()) {
   6308             printf("Leak of %d blocks found in xmlCatalogResolveURI",
   6309 	           xmlMemBlocks() - mem_base);
   6310 	    test_ret++;
   6311             printf(" %d", n_URI);
   6312             printf("\n");
   6313         }
   6314     }
   6315     function_tests++;
   6316 #endif
   6317 
   6318     return(test_ret);
   6319 }
   6320 
   6321 
   6322 static int
   6323 test_xmlCatalogSetDefaultPrefer(void) {
   6324     int test_ret = 0;
   6325 
   6326 #if defined(LIBXML_CATALOG_ENABLED)
   6327     int mem_base;
   6328     xmlCatalogPrefer ret_val;
   6329     xmlCatalogPrefer prefer; /* the default preference for delegation */
   6330     int n_prefer;
   6331 
   6332     for (n_prefer = 0;n_prefer < gen_nb_xmlCatalogPrefer;n_prefer++) {
   6333         mem_base = xmlMemBlocks();
   6334         prefer = gen_xmlCatalogPrefer(n_prefer, 0);
   6335 
   6336         ret_val = xmlCatalogSetDefaultPrefer(prefer);
   6337         desret_xmlCatalogPrefer(ret_val);
   6338         call_tests++;
   6339         des_xmlCatalogPrefer(n_prefer, prefer, 0);
   6340         xmlResetLastError();
   6341         if (mem_base != xmlMemBlocks()) {
   6342             printf("Leak of %d blocks found in xmlCatalogSetDefaultPrefer",
   6343 	           xmlMemBlocks() - mem_base);
   6344 	    test_ret++;
   6345             printf(" %d", n_prefer);
   6346             printf("\n");
   6347         }
   6348     }
   6349     function_tests++;
   6350 #endif
   6351 
   6352     return(test_ret);
   6353 }
   6354 
   6355 
   6356 static int
   6357 test_xmlCatalogSetDefaults(void) {
   6358     int test_ret = 0;
   6359 
   6360 #if defined(LIBXML_CATALOG_ENABLED)
   6361     int mem_base;
   6362     xmlCatalogAllow allow; /* what catalogs should be accepted */
   6363     int n_allow;
   6364 
   6365     for (n_allow = 0;n_allow < gen_nb_xmlCatalogAllow;n_allow++) {
   6366         mem_base = xmlMemBlocks();
   6367         allow = gen_xmlCatalogAllow(n_allow, 0);
   6368 
   6369         xmlCatalogSetDefaults(allow);
   6370         call_tests++;
   6371         des_xmlCatalogAllow(n_allow, allow, 0);
   6372         xmlResetLastError();
   6373         if (mem_base != xmlMemBlocks()) {
   6374             printf("Leak of %d blocks found in xmlCatalogSetDefaults",
   6375 	           xmlMemBlocks() - mem_base);
   6376 	    test_ret++;
   6377             printf(" %d", n_allow);
   6378             printf("\n");
   6379         }
   6380     }
   6381     function_tests++;
   6382 #endif
   6383 
   6384     return(test_ret);
   6385 }
   6386 
   6387 
   6388 static int
   6389 test_xmlConvertSGMLCatalog(void) {
   6390     int test_ret = 0;
   6391 
   6392 #if defined(LIBXML_CATALOG_ENABLED)
   6393     int mem_base;
   6394     int ret_val;
   6395     xmlCatalogPtr catal; /* the catalog */
   6396     int n_catal;
   6397 
   6398     for (n_catal = 0;n_catal < gen_nb_xmlCatalogPtr;n_catal++) {
   6399         mem_base = xmlMemBlocks();
   6400         catal = gen_xmlCatalogPtr(n_catal, 0);
   6401 
   6402         ret_val = xmlConvertSGMLCatalog(catal);
   6403         desret_int(ret_val);
   6404         call_tests++;
   6405         des_xmlCatalogPtr(n_catal, catal, 0);
   6406         xmlResetLastError();
   6407         if (mem_base != xmlMemBlocks()) {
   6408             printf("Leak of %d blocks found in xmlConvertSGMLCatalog",
   6409 	           xmlMemBlocks() - mem_base);
   6410 	    test_ret++;
   6411             printf(" %d", n_catal);
   6412             printf("\n");
   6413         }
   6414     }
   6415     function_tests++;
   6416 #endif
   6417 
   6418     return(test_ret);
   6419 }
   6420 
   6421 
   6422 static int
   6423 test_xmlInitializeCatalog(void) {
   6424     int test_ret = 0;
   6425 
   6426 #if defined(LIBXML_CATALOG_ENABLED)
   6427     int mem_base;
   6428 
   6429         mem_base = xmlMemBlocks();
   6430 
   6431         xmlInitializeCatalog();
   6432         call_tests++;
   6433         xmlResetLastError();
   6434         if (mem_base != xmlMemBlocks()) {
   6435             printf("Leak of %d blocks found in xmlInitializeCatalog",
   6436 	           xmlMemBlocks() - mem_base);
   6437 	    test_ret++;
   6438             printf("\n");
   6439         }
   6440     function_tests++;
   6441 #endif
   6442 
   6443     return(test_ret);
   6444 }
   6445 
   6446 
   6447 static int
   6448 test_xmlLoadACatalog(void) {
   6449     int test_ret = 0;
   6450 
   6451 
   6452     /* missing type support */
   6453     return(test_ret);
   6454 }
   6455 
   6456 
   6457 static int
   6458 test_xmlLoadCatalog(void) {
   6459     int test_ret = 0;
   6460 
   6461 #if defined(LIBXML_CATALOG_ENABLED)
   6462     int ret_val;
   6463     const char * filename; /* a file path */
   6464     int n_filename;
   6465 
   6466     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   6467         filename = gen_filepath(n_filename, 0);
   6468 
   6469         ret_val = xmlLoadCatalog(filename);
   6470         desret_int(ret_val);
   6471         call_tests++;
   6472         des_filepath(n_filename, filename, 0);
   6473         xmlResetLastError();
   6474     }
   6475     function_tests++;
   6476 #endif
   6477 
   6478     return(test_ret);
   6479 }
   6480 
   6481 
   6482 static int
   6483 test_xmlLoadCatalogs(void) {
   6484     int test_ret = 0;
   6485 
   6486 #if defined(LIBXML_CATALOG_ENABLED)
   6487     char * pathss; /* a list of directories separated by a colon or a space. */
   6488     int n_pathss;
   6489 
   6490     for (n_pathss = 0;n_pathss < gen_nb_const_char_ptr;n_pathss++) {
   6491         pathss = gen_const_char_ptr(n_pathss, 0);
   6492 
   6493         xmlLoadCatalogs((const char *)pathss);
   6494         call_tests++;
   6495         des_const_char_ptr(n_pathss, (const char *)pathss, 0);
   6496         xmlResetLastError();
   6497     }
   6498     function_tests++;
   6499 #endif
   6500 
   6501     return(test_ret);
   6502 }
   6503 
   6504 
   6505 static int
   6506 test_xmlLoadSGMLSuperCatalog(void) {
   6507     int test_ret = 0;
   6508 
   6509 
   6510     /* missing type support */
   6511     return(test_ret);
   6512 }
   6513 
   6514 
   6515 static int
   6516 test_xmlNewCatalog(void) {
   6517     int test_ret = 0;
   6518 
   6519 
   6520     /* missing type support */
   6521     return(test_ret);
   6522 }
   6523 
   6524 
   6525 static int
   6526 test_xmlParseCatalogFile(void) {
   6527     int test_ret = 0;
   6528 
   6529 #if defined(LIBXML_CATALOG_ENABLED)
   6530     int mem_base;
   6531     xmlDocPtr ret_val;
   6532     const char * filename; /* the filename */
   6533     int n_filename;
   6534 
   6535     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   6536         mem_base = xmlMemBlocks();
   6537         filename = gen_filepath(n_filename, 0);
   6538 
   6539         ret_val = xmlParseCatalogFile(filename);
   6540         desret_xmlDocPtr(ret_val);
   6541         call_tests++;
   6542         des_filepath(n_filename, filename, 0);
   6543         xmlResetLastError();
   6544         if (mem_base != xmlMemBlocks()) {
   6545             printf("Leak of %d blocks found in xmlParseCatalogFile",
   6546 	           xmlMemBlocks() - mem_base);
   6547 	    test_ret++;
   6548             printf(" %d", n_filename);
   6549             printf("\n");
   6550         }
   6551     }
   6552     function_tests++;
   6553 #endif
   6554 
   6555     return(test_ret);
   6556 }
   6557 
   6558 static int
   6559 test_catalog(void) {
   6560     int test_ret = 0;
   6561 
   6562     if (quiet == 0) printf("Testing catalog : 27 of 36 functions ...\n");
   6563     test_ret += test_xmlACatalogAdd();
   6564     test_ret += test_xmlACatalogDump();
   6565     test_ret += test_xmlACatalogRemove();
   6566     test_ret += test_xmlACatalogResolve();
   6567     test_ret += test_xmlACatalogResolvePublic();
   6568     test_ret += test_xmlACatalogResolveSystem();
   6569     test_ret += test_xmlACatalogResolveURI();
   6570     test_ret += test_xmlCatalogAdd();
   6571     test_ret += test_xmlCatalogCleanup();
   6572     test_ret += test_xmlCatalogConvert();
   6573     test_ret += test_xmlCatalogDump();
   6574     test_ret += test_xmlCatalogGetDefaults();
   6575     test_ret += test_xmlCatalogIsEmpty();
   6576     test_ret += test_xmlCatalogLocalResolve();
   6577     test_ret += test_xmlCatalogLocalResolveURI();
   6578     test_ret += test_xmlCatalogRemove();
   6579     test_ret += test_xmlCatalogResolve();
   6580     test_ret += test_xmlCatalogResolvePublic();
   6581     test_ret += test_xmlCatalogResolveSystem();
   6582     test_ret += test_xmlCatalogResolveURI();
   6583     test_ret += test_xmlCatalogSetDefaultPrefer();
   6584     test_ret += test_xmlCatalogSetDefaults();
   6585     test_ret += test_xmlConvertSGMLCatalog();
   6586     test_ret += test_xmlInitializeCatalog();
   6587     test_ret += test_xmlLoadACatalog();
   6588     test_ret += test_xmlLoadCatalog();
   6589     test_ret += test_xmlLoadCatalogs();
   6590     test_ret += test_xmlLoadSGMLSuperCatalog();
   6591     test_ret += test_xmlNewCatalog();
   6592     test_ret += test_xmlParseCatalogFile();
   6593 
   6594     if (test_ret != 0)
   6595 	printf("Module catalog: %d errors\n", test_ret);
   6596     return(test_ret);
   6597 }
   6598 
   6599 #define gen_nb_const_xmlChRangeGroup_ptr 1
   6600 static xmlChRangeGroup * gen_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   6601     return(NULL);
   6602 }
   6603 static void des_const_xmlChRangeGroup_ptr(int no ATTRIBUTE_UNUSED, const xmlChRangeGroup * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   6604 }
   6605 
   6606 static int
   6607 test_xmlCharInRange(void) {
   6608     int test_ret = 0;
   6609 
   6610     int mem_base;
   6611     int ret_val;
   6612     unsigned int val; /* character to be validated */
   6613     int n_val;
   6614     xmlChRangeGroup * rptr; /* pointer to range to be used to validate */
   6615     int n_rptr;
   6616 
   6617     for (n_val = 0;n_val < gen_nb_unsigned_int;n_val++) {
   6618     for (n_rptr = 0;n_rptr < gen_nb_const_xmlChRangeGroup_ptr;n_rptr++) {
   6619         mem_base = xmlMemBlocks();
   6620         val = gen_unsigned_int(n_val, 0);
   6621         rptr = gen_const_xmlChRangeGroup_ptr(n_rptr, 1);
   6622 
   6623         ret_val = xmlCharInRange(val, (const xmlChRangeGroup *)rptr);
   6624         desret_int(ret_val);
   6625         call_tests++;
   6626         des_unsigned_int(n_val, val, 0);
   6627         des_const_xmlChRangeGroup_ptr(n_rptr, (const xmlChRangeGroup *)rptr, 1);
   6628         xmlResetLastError();
   6629         if (mem_base != xmlMemBlocks()) {
   6630             printf("Leak of %d blocks found in xmlCharInRange",
   6631 	           xmlMemBlocks() - mem_base);
   6632 	    test_ret++;
   6633             printf(" %d", n_val);
   6634             printf(" %d", n_rptr);
   6635             printf("\n");
   6636         }
   6637     }
   6638     }
   6639     function_tests++;
   6640 
   6641     return(test_ret);
   6642 }
   6643 
   6644 
   6645 static int
   6646 test_xmlIsBaseChar(void) {
   6647     int test_ret = 0;
   6648 
   6649     int mem_base;
   6650     int ret_val;
   6651     unsigned int ch; /* character to validate */
   6652     int n_ch;
   6653 
   6654     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6655         mem_base = xmlMemBlocks();
   6656         ch = gen_unsigned_int(n_ch, 0);
   6657 
   6658         ret_val = xmlIsBaseChar(ch);
   6659         desret_int(ret_val);
   6660         call_tests++;
   6661         des_unsigned_int(n_ch, ch, 0);
   6662         xmlResetLastError();
   6663         if (mem_base != xmlMemBlocks()) {
   6664             printf("Leak of %d blocks found in xmlIsBaseChar",
   6665 	           xmlMemBlocks() - mem_base);
   6666 	    test_ret++;
   6667             printf(" %d", n_ch);
   6668             printf("\n");
   6669         }
   6670     }
   6671     function_tests++;
   6672 
   6673     return(test_ret);
   6674 }
   6675 
   6676 
   6677 static int
   6678 test_xmlIsBlank(void) {
   6679     int test_ret = 0;
   6680 
   6681     int mem_base;
   6682     int ret_val;
   6683     unsigned int ch; /* character to validate */
   6684     int n_ch;
   6685 
   6686     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6687         mem_base = xmlMemBlocks();
   6688         ch = gen_unsigned_int(n_ch, 0);
   6689 
   6690         ret_val = xmlIsBlank(ch);
   6691         desret_int(ret_val);
   6692         call_tests++;
   6693         des_unsigned_int(n_ch, ch, 0);
   6694         xmlResetLastError();
   6695         if (mem_base != xmlMemBlocks()) {
   6696             printf("Leak of %d blocks found in xmlIsBlank",
   6697 	           xmlMemBlocks() - mem_base);
   6698 	    test_ret++;
   6699             printf(" %d", n_ch);
   6700             printf("\n");
   6701         }
   6702     }
   6703     function_tests++;
   6704 
   6705     return(test_ret);
   6706 }
   6707 
   6708 
   6709 static int
   6710 test_xmlIsChar(void) {
   6711     int test_ret = 0;
   6712 
   6713     int mem_base;
   6714     int ret_val;
   6715     unsigned int ch; /* character to validate */
   6716     int n_ch;
   6717 
   6718     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6719         mem_base = xmlMemBlocks();
   6720         ch = gen_unsigned_int(n_ch, 0);
   6721 
   6722         ret_val = xmlIsChar(ch);
   6723         desret_int(ret_val);
   6724         call_tests++;
   6725         des_unsigned_int(n_ch, ch, 0);
   6726         xmlResetLastError();
   6727         if (mem_base != xmlMemBlocks()) {
   6728             printf("Leak of %d blocks found in xmlIsChar",
   6729 	           xmlMemBlocks() - mem_base);
   6730 	    test_ret++;
   6731             printf(" %d", n_ch);
   6732             printf("\n");
   6733         }
   6734     }
   6735     function_tests++;
   6736 
   6737     return(test_ret);
   6738 }
   6739 
   6740 
   6741 static int
   6742 test_xmlIsCombining(void) {
   6743     int test_ret = 0;
   6744 
   6745     int mem_base;
   6746     int ret_val;
   6747     unsigned int ch; /* character to validate */
   6748     int n_ch;
   6749 
   6750     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6751         mem_base = xmlMemBlocks();
   6752         ch = gen_unsigned_int(n_ch, 0);
   6753 
   6754         ret_val = xmlIsCombining(ch);
   6755         desret_int(ret_val);
   6756         call_tests++;
   6757         des_unsigned_int(n_ch, ch, 0);
   6758         xmlResetLastError();
   6759         if (mem_base != xmlMemBlocks()) {
   6760             printf("Leak of %d blocks found in xmlIsCombining",
   6761 	           xmlMemBlocks() - mem_base);
   6762 	    test_ret++;
   6763             printf(" %d", n_ch);
   6764             printf("\n");
   6765         }
   6766     }
   6767     function_tests++;
   6768 
   6769     return(test_ret);
   6770 }
   6771 
   6772 
   6773 static int
   6774 test_xmlIsDigit(void) {
   6775     int test_ret = 0;
   6776 
   6777     int mem_base;
   6778     int ret_val;
   6779     unsigned int ch; /* character to validate */
   6780     int n_ch;
   6781 
   6782     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6783         mem_base = xmlMemBlocks();
   6784         ch = gen_unsigned_int(n_ch, 0);
   6785 
   6786         ret_val = xmlIsDigit(ch);
   6787         desret_int(ret_val);
   6788         call_tests++;
   6789         des_unsigned_int(n_ch, ch, 0);
   6790         xmlResetLastError();
   6791         if (mem_base != xmlMemBlocks()) {
   6792             printf("Leak of %d blocks found in xmlIsDigit",
   6793 	           xmlMemBlocks() - mem_base);
   6794 	    test_ret++;
   6795             printf(" %d", n_ch);
   6796             printf("\n");
   6797         }
   6798     }
   6799     function_tests++;
   6800 
   6801     return(test_ret);
   6802 }
   6803 
   6804 
   6805 static int
   6806 test_xmlIsExtender(void) {
   6807     int test_ret = 0;
   6808 
   6809     int mem_base;
   6810     int ret_val;
   6811     unsigned int ch; /* character to validate */
   6812     int n_ch;
   6813 
   6814     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6815         mem_base = xmlMemBlocks();
   6816         ch = gen_unsigned_int(n_ch, 0);
   6817 
   6818         ret_val = xmlIsExtender(ch);
   6819         desret_int(ret_val);
   6820         call_tests++;
   6821         des_unsigned_int(n_ch, ch, 0);
   6822         xmlResetLastError();
   6823         if (mem_base != xmlMemBlocks()) {
   6824             printf("Leak of %d blocks found in xmlIsExtender",
   6825 	           xmlMemBlocks() - mem_base);
   6826 	    test_ret++;
   6827             printf(" %d", n_ch);
   6828             printf("\n");
   6829         }
   6830     }
   6831     function_tests++;
   6832 
   6833     return(test_ret);
   6834 }
   6835 
   6836 
   6837 static int
   6838 test_xmlIsIdeographic(void) {
   6839     int test_ret = 0;
   6840 
   6841     int mem_base;
   6842     int ret_val;
   6843     unsigned int ch; /* character to validate */
   6844     int n_ch;
   6845 
   6846     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6847         mem_base = xmlMemBlocks();
   6848         ch = gen_unsigned_int(n_ch, 0);
   6849 
   6850         ret_val = xmlIsIdeographic(ch);
   6851         desret_int(ret_val);
   6852         call_tests++;
   6853         des_unsigned_int(n_ch, ch, 0);
   6854         xmlResetLastError();
   6855         if (mem_base != xmlMemBlocks()) {
   6856             printf("Leak of %d blocks found in xmlIsIdeographic",
   6857 	           xmlMemBlocks() - mem_base);
   6858 	    test_ret++;
   6859             printf(" %d", n_ch);
   6860             printf("\n");
   6861         }
   6862     }
   6863     function_tests++;
   6864 
   6865     return(test_ret);
   6866 }
   6867 
   6868 
   6869 static int
   6870 test_xmlIsPubidChar(void) {
   6871     int test_ret = 0;
   6872 
   6873     int mem_base;
   6874     int ret_val;
   6875     unsigned int ch; /* character to validate */
   6876     int n_ch;
   6877 
   6878     for (n_ch = 0;n_ch < gen_nb_unsigned_int;n_ch++) {
   6879         mem_base = xmlMemBlocks();
   6880         ch = gen_unsigned_int(n_ch, 0);
   6881 
   6882         ret_val = xmlIsPubidChar(ch);
   6883         desret_int(ret_val);
   6884         call_tests++;
   6885         des_unsigned_int(n_ch, ch, 0);
   6886         xmlResetLastError();
   6887         if (mem_base != xmlMemBlocks()) {
   6888             printf("Leak of %d blocks found in xmlIsPubidChar",
   6889 	           xmlMemBlocks() - mem_base);
   6890 	    test_ret++;
   6891             printf(" %d", n_ch);
   6892             printf("\n");
   6893         }
   6894     }
   6895     function_tests++;
   6896 
   6897     return(test_ret);
   6898 }
   6899 
   6900 static int
   6901 test_chvalid(void) {
   6902     int test_ret = 0;
   6903 
   6904     if (quiet == 0) printf("Testing chvalid : 9 of 9 functions ...\n");
   6905     test_ret += test_xmlCharInRange();
   6906     test_ret += test_xmlIsBaseChar();
   6907     test_ret += test_xmlIsBlank();
   6908     test_ret += test_xmlIsChar();
   6909     test_ret += test_xmlIsCombining();
   6910     test_ret += test_xmlIsDigit();
   6911     test_ret += test_xmlIsExtender();
   6912     test_ret += test_xmlIsIdeographic();
   6913     test_ret += test_xmlIsPubidChar();
   6914 
   6915     if (test_ret != 0)
   6916 	printf("Module chvalid: %d errors\n", test_ret);
   6917     return(test_ret);
   6918 }
   6919 
   6920 static int
   6921 test_xmlBoolToText(void) {
   6922     int test_ret = 0;
   6923 
   6924 #if defined(LIBXML_DEBUG_ENABLED)
   6925     int mem_base;
   6926     const char * ret_val;
   6927     int boolval; /* a bool to turn into text */
   6928     int n_boolval;
   6929 
   6930     for (n_boolval = 0;n_boolval < gen_nb_int;n_boolval++) {
   6931         mem_base = xmlMemBlocks();
   6932         boolval = gen_int(n_boolval, 0);
   6933 
   6934         ret_val = xmlBoolToText(boolval);
   6935         desret_const_char_ptr(ret_val);
   6936         call_tests++;
   6937         des_int(n_boolval, boolval, 0);
   6938         xmlResetLastError();
   6939         if (mem_base != xmlMemBlocks()) {
   6940             printf("Leak of %d blocks found in xmlBoolToText",
   6941 	           xmlMemBlocks() - mem_base);
   6942 	    test_ret++;
   6943             printf(" %d", n_boolval);
   6944             printf("\n");
   6945         }
   6946     }
   6947     function_tests++;
   6948 #endif
   6949 
   6950     return(test_ret);
   6951 }
   6952 
   6953 
   6954 static int
   6955 test_xmlDebugCheckDocument(void) {
   6956     int test_ret = 0;
   6957 
   6958 #if defined(LIBXML_DEBUG_ENABLED)
   6959     int mem_base;
   6960     int ret_val;
   6961     FILE * output; /* the FILE * for the output */
   6962     int n_output;
   6963     xmlDocPtr doc; /* the document */
   6964     int n_doc;
   6965 
   6966     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   6967     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   6968         mem_base = xmlMemBlocks();
   6969         output = gen_debug_FILE_ptr(n_output, 0);
   6970         doc = gen_xmlDocPtr(n_doc, 1);
   6971 
   6972         ret_val = xmlDebugCheckDocument(output, doc);
   6973         desret_int(ret_val);
   6974         call_tests++;
   6975         des_debug_FILE_ptr(n_output, output, 0);
   6976         des_xmlDocPtr(n_doc, doc, 1);
   6977         xmlResetLastError();
   6978         if (mem_base != xmlMemBlocks()) {
   6979             printf("Leak of %d blocks found in xmlDebugCheckDocument",
   6980 	           xmlMemBlocks() - mem_base);
   6981 	    test_ret++;
   6982             printf(" %d", n_output);
   6983             printf(" %d", n_doc);
   6984             printf("\n");
   6985         }
   6986     }
   6987     }
   6988     function_tests++;
   6989 #endif
   6990 
   6991     return(test_ret);
   6992 }
   6993 
   6994 
   6995 static int
   6996 test_xmlDebugDumpAttr(void) {
   6997     int test_ret = 0;
   6998 
   6999 #if defined(LIBXML_DEBUG_ENABLED)
   7000     int mem_base;
   7001     FILE * output; /* the FILE * for the output */
   7002     int n_output;
   7003     xmlAttrPtr attr; /* the attribute */
   7004     int n_attr;
   7005     int depth; /* the indentation level. */
   7006     int n_depth;
   7007 
   7008     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7009     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   7010     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   7011         mem_base = xmlMemBlocks();
   7012         output = gen_debug_FILE_ptr(n_output, 0);
   7013         attr = gen_xmlAttrPtr(n_attr, 1);
   7014         depth = gen_int(n_depth, 2);
   7015 
   7016         xmlDebugDumpAttr(output, attr, depth);
   7017         call_tests++;
   7018         des_debug_FILE_ptr(n_output, output, 0);
   7019         des_xmlAttrPtr(n_attr, attr, 1);
   7020         des_int(n_depth, depth, 2);
   7021         xmlResetLastError();
   7022         if (mem_base != xmlMemBlocks()) {
   7023             printf("Leak of %d blocks found in xmlDebugDumpAttr",
   7024 	           xmlMemBlocks() - mem_base);
   7025 	    test_ret++;
   7026             printf(" %d", n_output);
   7027             printf(" %d", n_attr);
   7028             printf(" %d", n_depth);
   7029             printf("\n");
   7030         }
   7031     }
   7032     }
   7033     }
   7034     function_tests++;
   7035 #endif
   7036 
   7037     return(test_ret);
   7038 }
   7039 
   7040 
   7041 static int
   7042 test_xmlDebugDumpAttrList(void) {
   7043     int test_ret = 0;
   7044 
   7045 #if defined(LIBXML_DEBUG_ENABLED)
   7046     int mem_base;
   7047     FILE * output; /* the FILE * for the output */
   7048     int n_output;
   7049     xmlAttrPtr attr; /* the attribute list */
   7050     int n_attr;
   7051     int depth; /* the indentation level. */
   7052     int n_depth;
   7053 
   7054     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7055     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   7056     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   7057         mem_base = xmlMemBlocks();
   7058         output = gen_debug_FILE_ptr(n_output, 0);
   7059         attr = gen_xmlAttrPtr(n_attr, 1);
   7060         depth = gen_int(n_depth, 2);
   7061 
   7062         xmlDebugDumpAttrList(output, attr, depth);
   7063         call_tests++;
   7064         des_debug_FILE_ptr(n_output, output, 0);
   7065         des_xmlAttrPtr(n_attr, attr, 1);
   7066         des_int(n_depth, depth, 2);
   7067         xmlResetLastError();
   7068         if (mem_base != xmlMemBlocks()) {
   7069             printf("Leak of %d blocks found in xmlDebugDumpAttrList",
   7070 	           xmlMemBlocks() - mem_base);
   7071 	    test_ret++;
   7072             printf(" %d", n_output);
   7073             printf(" %d", n_attr);
   7074             printf(" %d", n_depth);
   7075             printf("\n");
   7076         }
   7077     }
   7078     }
   7079     }
   7080     function_tests++;
   7081 #endif
   7082 
   7083     return(test_ret);
   7084 }
   7085 
   7086 
   7087 static int
   7088 test_xmlDebugDumpDTD(void) {
   7089     int test_ret = 0;
   7090 
   7091 #if defined(LIBXML_DEBUG_ENABLED)
   7092     int mem_base;
   7093     FILE * output; /* the FILE * for the output */
   7094     int n_output;
   7095     xmlDtdPtr dtd; /* the DTD */
   7096     int n_dtd;
   7097 
   7098     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7099     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   7100         mem_base = xmlMemBlocks();
   7101         output = gen_debug_FILE_ptr(n_output, 0);
   7102         dtd = gen_xmlDtdPtr(n_dtd, 1);
   7103 
   7104         xmlDebugDumpDTD(output, dtd);
   7105         call_tests++;
   7106         des_debug_FILE_ptr(n_output, output, 0);
   7107         des_xmlDtdPtr(n_dtd, dtd, 1);
   7108         xmlResetLastError();
   7109         if (mem_base != xmlMemBlocks()) {
   7110             printf("Leak of %d blocks found in xmlDebugDumpDTD",
   7111 	           xmlMemBlocks() - mem_base);
   7112 	    test_ret++;
   7113             printf(" %d", n_output);
   7114             printf(" %d", n_dtd);
   7115             printf("\n");
   7116         }
   7117     }
   7118     }
   7119     function_tests++;
   7120 #endif
   7121 
   7122     return(test_ret);
   7123 }
   7124 
   7125 
   7126 static int
   7127 test_xmlDebugDumpDocument(void) {
   7128     int test_ret = 0;
   7129 
   7130 #if defined(LIBXML_DEBUG_ENABLED)
   7131     int mem_base;
   7132     FILE * output; /* the FILE * for the output */
   7133     int n_output;
   7134     xmlDocPtr doc; /* the document */
   7135     int n_doc;
   7136 
   7137     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7138     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   7139         mem_base = xmlMemBlocks();
   7140         output = gen_debug_FILE_ptr(n_output, 0);
   7141         doc = gen_xmlDocPtr(n_doc, 1);
   7142 
   7143         xmlDebugDumpDocument(output, doc);
   7144         call_tests++;
   7145         des_debug_FILE_ptr(n_output, output, 0);
   7146         des_xmlDocPtr(n_doc, doc, 1);
   7147         xmlResetLastError();
   7148         if (mem_base != xmlMemBlocks()) {
   7149             printf("Leak of %d blocks found in xmlDebugDumpDocument",
   7150 	           xmlMemBlocks() - mem_base);
   7151 	    test_ret++;
   7152             printf(" %d", n_output);
   7153             printf(" %d", n_doc);
   7154             printf("\n");
   7155         }
   7156     }
   7157     }
   7158     function_tests++;
   7159 #endif
   7160 
   7161     return(test_ret);
   7162 }
   7163 
   7164 
   7165 static int
   7166 test_xmlDebugDumpDocumentHead(void) {
   7167     int test_ret = 0;
   7168 
   7169 #if defined(LIBXML_DEBUG_ENABLED)
   7170     int mem_base;
   7171     FILE * output; /* the FILE * for the output */
   7172     int n_output;
   7173     xmlDocPtr doc; /* the document */
   7174     int n_doc;
   7175 
   7176     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7177     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   7178         mem_base = xmlMemBlocks();
   7179         output = gen_debug_FILE_ptr(n_output, 0);
   7180         doc = gen_xmlDocPtr(n_doc, 1);
   7181 
   7182         xmlDebugDumpDocumentHead(output, doc);
   7183         call_tests++;
   7184         des_debug_FILE_ptr(n_output, output, 0);
   7185         des_xmlDocPtr(n_doc, doc, 1);
   7186         xmlResetLastError();
   7187         if (mem_base != xmlMemBlocks()) {
   7188             printf("Leak of %d blocks found in xmlDebugDumpDocumentHead",
   7189 	           xmlMemBlocks() - mem_base);
   7190 	    test_ret++;
   7191             printf(" %d", n_output);
   7192             printf(" %d", n_doc);
   7193             printf("\n");
   7194         }
   7195     }
   7196     }
   7197     function_tests++;
   7198 #endif
   7199 
   7200     return(test_ret);
   7201 }
   7202 
   7203 
   7204 static int
   7205 test_xmlDebugDumpEntities(void) {
   7206     int test_ret = 0;
   7207 
   7208 #if defined(LIBXML_DEBUG_ENABLED)
   7209     int mem_base;
   7210     FILE * output; /* the FILE * for the output */
   7211     int n_output;
   7212     xmlDocPtr doc; /* the document */
   7213     int n_doc;
   7214 
   7215     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7216     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   7217         mem_base = xmlMemBlocks();
   7218         output = gen_debug_FILE_ptr(n_output, 0);
   7219         doc = gen_xmlDocPtr(n_doc, 1);
   7220 
   7221         xmlDebugDumpEntities(output, doc);
   7222         call_tests++;
   7223         des_debug_FILE_ptr(n_output, output, 0);
   7224         des_xmlDocPtr(n_doc, doc, 1);
   7225         xmlResetLastError();
   7226         if (mem_base != xmlMemBlocks()) {
   7227             printf("Leak of %d blocks found in xmlDebugDumpEntities",
   7228 	           xmlMemBlocks() - mem_base);
   7229 	    test_ret++;
   7230             printf(" %d", n_output);
   7231             printf(" %d", n_doc);
   7232             printf("\n");
   7233         }
   7234     }
   7235     }
   7236     function_tests++;
   7237 #endif
   7238 
   7239     return(test_ret);
   7240 }
   7241 
   7242 
   7243 static int
   7244 test_xmlDebugDumpNode(void) {
   7245     int test_ret = 0;
   7246 
   7247 #if defined(LIBXML_DEBUG_ENABLED)
   7248     int mem_base;
   7249     FILE * output; /* the FILE * for the output */
   7250     int n_output;
   7251     xmlNodePtr node; /* the node */
   7252     int n_node;
   7253     int depth; /* the indentation level. */
   7254     int n_depth;
   7255 
   7256     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7257     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7258     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   7259         mem_base = xmlMemBlocks();
   7260         output = gen_debug_FILE_ptr(n_output, 0);
   7261         node = gen_xmlNodePtr(n_node, 1);
   7262         depth = gen_int(n_depth, 2);
   7263 
   7264         xmlDebugDumpNode(output, node, depth);
   7265         call_tests++;
   7266         des_debug_FILE_ptr(n_output, output, 0);
   7267         des_xmlNodePtr(n_node, node, 1);
   7268         des_int(n_depth, depth, 2);
   7269         xmlResetLastError();
   7270         if (mem_base != xmlMemBlocks()) {
   7271             printf("Leak of %d blocks found in xmlDebugDumpNode",
   7272 	           xmlMemBlocks() - mem_base);
   7273 	    test_ret++;
   7274             printf(" %d", n_output);
   7275             printf(" %d", n_node);
   7276             printf(" %d", n_depth);
   7277             printf("\n");
   7278         }
   7279     }
   7280     }
   7281     }
   7282     function_tests++;
   7283 #endif
   7284 
   7285     return(test_ret);
   7286 }
   7287 
   7288 
   7289 static int
   7290 test_xmlDebugDumpNodeList(void) {
   7291     int test_ret = 0;
   7292 
   7293 #if defined(LIBXML_DEBUG_ENABLED)
   7294     int mem_base;
   7295     FILE * output; /* the FILE * for the output */
   7296     int n_output;
   7297     xmlNodePtr node; /* the node list */
   7298     int n_node;
   7299     int depth; /* the indentation level. */
   7300     int n_depth;
   7301 
   7302     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7303     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7304     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   7305         mem_base = xmlMemBlocks();
   7306         output = gen_debug_FILE_ptr(n_output, 0);
   7307         node = gen_xmlNodePtr(n_node, 1);
   7308         depth = gen_int(n_depth, 2);
   7309 
   7310         xmlDebugDumpNodeList(output, node, depth);
   7311         call_tests++;
   7312         des_debug_FILE_ptr(n_output, output, 0);
   7313         des_xmlNodePtr(n_node, node, 1);
   7314         des_int(n_depth, depth, 2);
   7315         xmlResetLastError();
   7316         if (mem_base != xmlMemBlocks()) {
   7317             printf("Leak of %d blocks found in xmlDebugDumpNodeList",
   7318 	           xmlMemBlocks() - mem_base);
   7319 	    test_ret++;
   7320             printf(" %d", n_output);
   7321             printf(" %d", n_node);
   7322             printf(" %d", n_depth);
   7323             printf("\n");
   7324         }
   7325     }
   7326     }
   7327     }
   7328     function_tests++;
   7329 #endif
   7330 
   7331     return(test_ret);
   7332 }
   7333 
   7334 
   7335 static int
   7336 test_xmlDebugDumpOneNode(void) {
   7337     int test_ret = 0;
   7338 
   7339 #if defined(LIBXML_DEBUG_ENABLED)
   7340     int mem_base;
   7341     FILE * output; /* the FILE * for the output */
   7342     int n_output;
   7343     xmlNodePtr node; /* the node */
   7344     int n_node;
   7345     int depth; /* the indentation level. */
   7346     int n_depth;
   7347 
   7348     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7349     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7350     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   7351         mem_base = xmlMemBlocks();
   7352         output = gen_debug_FILE_ptr(n_output, 0);
   7353         node = gen_xmlNodePtr(n_node, 1);
   7354         depth = gen_int(n_depth, 2);
   7355 
   7356         xmlDebugDumpOneNode(output, node, depth);
   7357         call_tests++;
   7358         des_debug_FILE_ptr(n_output, output, 0);
   7359         des_xmlNodePtr(n_node, node, 1);
   7360         des_int(n_depth, depth, 2);
   7361         xmlResetLastError();
   7362         if (mem_base != xmlMemBlocks()) {
   7363             printf("Leak of %d blocks found in xmlDebugDumpOneNode",
   7364 	           xmlMemBlocks() - mem_base);
   7365 	    test_ret++;
   7366             printf(" %d", n_output);
   7367             printf(" %d", n_node);
   7368             printf(" %d", n_depth);
   7369             printf("\n");
   7370         }
   7371     }
   7372     }
   7373     }
   7374     function_tests++;
   7375 #endif
   7376 
   7377     return(test_ret);
   7378 }
   7379 
   7380 
   7381 static int
   7382 test_xmlDebugDumpString(void) {
   7383     int test_ret = 0;
   7384 
   7385 #if defined(LIBXML_DEBUG_ENABLED)
   7386     int mem_base;
   7387     FILE * output; /* the FILE * for the output */
   7388     int n_output;
   7389     xmlChar * str; /* the string */
   7390     int n_str;
   7391 
   7392     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7393     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   7394         mem_base = xmlMemBlocks();
   7395         output = gen_debug_FILE_ptr(n_output, 0);
   7396         str = gen_const_xmlChar_ptr(n_str, 1);
   7397 
   7398         xmlDebugDumpString(output, (const xmlChar *)str);
   7399         call_tests++;
   7400         des_debug_FILE_ptr(n_output, output, 0);
   7401         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   7402         xmlResetLastError();
   7403         if (mem_base != xmlMemBlocks()) {
   7404             printf("Leak of %d blocks found in xmlDebugDumpString",
   7405 	           xmlMemBlocks() - mem_base);
   7406 	    test_ret++;
   7407             printf(" %d", n_output);
   7408             printf(" %d", n_str);
   7409             printf("\n");
   7410         }
   7411     }
   7412     }
   7413     function_tests++;
   7414 #endif
   7415 
   7416     return(test_ret);
   7417 }
   7418 
   7419 
   7420 static int
   7421 test_xmlLsCountNode(void) {
   7422     int test_ret = 0;
   7423 
   7424 #if defined(LIBXML_DEBUG_ENABLED)
   7425     int mem_base;
   7426     int ret_val;
   7427     xmlNodePtr node; /* the node to count */
   7428     int n_node;
   7429 
   7430     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7431         mem_base = xmlMemBlocks();
   7432         node = gen_xmlNodePtr(n_node, 0);
   7433 
   7434         ret_val = xmlLsCountNode(node);
   7435         desret_int(ret_val);
   7436         call_tests++;
   7437         des_xmlNodePtr(n_node, node, 0);
   7438         xmlResetLastError();
   7439         if (mem_base != xmlMemBlocks()) {
   7440             printf("Leak of %d blocks found in xmlLsCountNode",
   7441 	           xmlMemBlocks() - mem_base);
   7442 	    test_ret++;
   7443             printf(" %d", n_node);
   7444             printf("\n");
   7445         }
   7446     }
   7447     function_tests++;
   7448 #endif
   7449 
   7450     return(test_ret);
   7451 }
   7452 
   7453 
   7454 static int
   7455 test_xmlLsOneNode(void) {
   7456     int test_ret = 0;
   7457 
   7458 #if defined(LIBXML_DEBUG_ENABLED)
   7459     int mem_base;
   7460     FILE * output; /* the FILE * for the output */
   7461     int n_output;
   7462     xmlNodePtr node; /* the node to dump */
   7463     int n_node;
   7464 
   7465     for (n_output = 0;n_output < gen_nb_debug_FILE_ptr;n_output++) {
   7466     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7467         mem_base = xmlMemBlocks();
   7468         output = gen_debug_FILE_ptr(n_output, 0);
   7469         node = gen_xmlNodePtr(n_node, 1);
   7470 
   7471         xmlLsOneNode(output, node);
   7472         call_tests++;
   7473         des_debug_FILE_ptr(n_output, output, 0);
   7474         des_xmlNodePtr(n_node, node, 1);
   7475         xmlResetLastError();
   7476         if (mem_base != xmlMemBlocks()) {
   7477             printf("Leak of %d blocks found in xmlLsOneNode",
   7478 	           xmlMemBlocks() - mem_base);
   7479 	    test_ret++;
   7480             printf(" %d", n_output);
   7481             printf(" %d", n_node);
   7482             printf("\n");
   7483         }
   7484     }
   7485     }
   7486     function_tests++;
   7487 #endif
   7488 
   7489     return(test_ret);
   7490 }
   7491 
   7492 
   7493 #define gen_nb_char_ptr 1
   7494 static char * gen_char_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   7495     return(NULL);
   7496 }
   7497 static void des_char_ptr(int no ATTRIBUTE_UNUSED, char * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   7498 }
   7499 
   7500 static int
   7501 test_xmlShell(void) {
   7502     int test_ret = 0;
   7503 
   7504 
   7505     /* missing type support */
   7506     return(test_ret);
   7507 }
   7508 
   7509 
   7510 static int
   7511 test_xmlShellBase(void) {
   7512     int test_ret = 0;
   7513 
   7514 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
   7515     int mem_base;
   7516     int ret_val;
   7517     xmlShellCtxtPtr ctxt; /* the shell context */
   7518     int n_ctxt;
   7519     char * arg; /* unused */
   7520     int n_arg;
   7521     xmlNodePtr node; /* a node */
   7522     int n_node;
   7523     xmlNodePtr node2; /* unused */
   7524     int n_node2;
   7525 
   7526     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7527     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
   7528     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7529     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7530         mem_base = xmlMemBlocks();
   7531         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7532         arg = gen_char_ptr(n_arg, 1);
   7533         node = gen_xmlNodePtr(n_node, 2);
   7534         node2 = gen_xmlNodePtr(n_node2, 3);
   7535 
   7536         ret_val = xmlShellBase(ctxt, arg, node, node2);
   7537         desret_int(ret_val);
   7538         call_tests++;
   7539         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7540         des_char_ptr(n_arg, arg, 1);
   7541         des_xmlNodePtr(n_node, node, 2);
   7542         des_xmlNodePtr(n_node2, node2, 3);
   7543         xmlResetLastError();
   7544         if (mem_base != xmlMemBlocks()) {
   7545             printf("Leak of %d blocks found in xmlShellBase",
   7546 	           xmlMemBlocks() - mem_base);
   7547 	    test_ret++;
   7548             printf(" %d", n_ctxt);
   7549             printf(" %d", n_arg);
   7550             printf(" %d", n_node);
   7551             printf(" %d", n_node2);
   7552             printf("\n");
   7553         }
   7554     }
   7555     }
   7556     }
   7557     }
   7558     function_tests++;
   7559 #endif
   7560 
   7561     return(test_ret);
   7562 }
   7563 
   7564 
   7565 static int
   7566 test_xmlShellCat(void) {
   7567     int test_ret = 0;
   7568 
   7569 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   7570     int mem_base;
   7571     int ret_val;
   7572     xmlShellCtxtPtr ctxt; /* the shell context */
   7573     int n_ctxt;
   7574     char * arg; /* unused */
   7575     int n_arg;
   7576     xmlNodePtr node; /* a node */
   7577     int n_node;
   7578     xmlNodePtr node2; /* unused */
   7579     int n_node2;
   7580 
   7581     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7582     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
   7583     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7584     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7585         mem_base = xmlMemBlocks();
   7586         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7587         arg = gen_char_ptr(n_arg, 1);
   7588         node = gen_xmlNodePtr(n_node, 2);
   7589         node2 = gen_xmlNodePtr(n_node2, 3);
   7590 
   7591         ret_val = xmlShellCat(ctxt, arg, node, node2);
   7592         desret_int(ret_val);
   7593         call_tests++;
   7594         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7595         des_char_ptr(n_arg, arg, 1);
   7596         des_xmlNodePtr(n_node, node, 2);
   7597         des_xmlNodePtr(n_node2, node2, 3);
   7598         xmlResetLastError();
   7599         if (mem_base != xmlMemBlocks()) {
   7600             printf("Leak of %d blocks found in xmlShellCat",
   7601 	           xmlMemBlocks() - mem_base);
   7602 	    test_ret++;
   7603             printf(" %d", n_ctxt);
   7604             printf(" %d", n_arg);
   7605             printf(" %d", n_node);
   7606             printf(" %d", n_node2);
   7607             printf("\n");
   7608         }
   7609     }
   7610     }
   7611     }
   7612     }
   7613     function_tests++;
   7614 #endif
   7615 
   7616     return(test_ret);
   7617 }
   7618 
   7619 
   7620 static int
   7621 test_xmlShellDir(void) {
   7622     int test_ret = 0;
   7623 
   7624 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
   7625     int mem_base;
   7626     int ret_val;
   7627     xmlShellCtxtPtr ctxt; /* the shell context */
   7628     int n_ctxt;
   7629     char * arg; /* unused */
   7630     int n_arg;
   7631     xmlNodePtr node; /* a node */
   7632     int n_node;
   7633     xmlNodePtr node2; /* unused */
   7634     int n_node2;
   7635 
   7636     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7637     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
   7638     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7639     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7640         mem_base = xmlMemBlocks();
   7641         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7642         arg = gen_char_ptr(n_arg, 1);
   7643         node = gen_xmlNodePtr(n_node, 2);
   7644         node2 = gen_xmlNodePtr(n_node2, 3);
   7645 
   7646         ret_val = xmlShellDir(ctxt, arg, node, node2);
   7647         desret_int(ret_val);
   7648         call_tests++;
   7649         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7650         des_char_ptr(n_arg, arg, 1);
   7651         des_xmlNodePtr(n_node, node, 2);
   7652         des_xmlNodePtr(n_node2, node2, 3);
   7653         xmlResetLastError();
   7654         if (mem_base != xmlMemBlocks()) {
   7655             printf("Leak of %d blocks found in xmlShellDir",
   7656 	           xmlMemBlocks() - mem_base);
   7657 	    test_ret++;
   7658             printf(" %d", n_ctxt);
   7659             printf(" %d", n_arg);
   7660             printf(" %d", n_node);
   7661             printf(" %d", n_node2);
   7662             printf("\n");
   7663         }
   7664     }
   7665     }
   7666     }
   7667     }
   7668     function_tests++;
   7669 #endif
   7670 
   7671     return(test_ret);
   7672 }
   7673 
   7674 
   7675 static int
   7676 test_xmlShellDu(void) {
   7677     int test_ret = 0;
   7678 
   7679 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
   7680     int mem_base;
   7681     int ret_val;
   7682     xmlShellCtxtPtr ctxt; /* the shell context */
   7683     int n_ctxt;
   7684     char * arg; /* unused */
   7685     int n_arg;
   7686     xmlNodePtr tree; /* a node defining a subtree */
   7687     int n_tree;
   7688     xmlNodePtr node2; /* unused */
   7689     int n_node2;
   7690 
   7691     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7692     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
   7693     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
   7694     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7695         mem_base = xmlMemBlocks();
   7696         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7697         arg = gen_char_ptr(n_arg, 1);
   7698         tree = gen_xmlNodePtr(n_tree, 2);
   7699         node2 = gen_xmlNodePtr(n_node2, 3);
   7700 
   7701         ret_val = xmlShellDu(ctxt, arg, tree, node2);
   7702         desret_int(ret_val);
   7703         call_tests++;
   7704         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7705         des_char_ptr(n_arg, arg, 1);
   7706         des_xmlNodePtr(n_tree, tree, 2);
   7707         des_xmlNodePtr(n_node2, node2, 3);
   7708         xmlResetLastError();
   7709         if (mem_base != xmlMemBlocks()) {
   7710             printf("Leak of %d blocks found in xmlShellDu",
   7711 	           xmlMemBlocks() - mem_base);
   7712 	    test_ret++;
   7713             printf(" %d", n_ctxt);
   7714             printf(" %d", n_arg);
   7715             printf(" %d", n_tree);
   7716             printf(" %d", n_node2);
   7717             printf("\n");
   7718         }
   7719     }
   7720     }
   7721     }
   7722     }
   7723     function_tests++;
   7724 #endif
   7725 
   7726     return(test_ret);
   7727 }
   7728 
   7729 
   7730 static int
   7731 test_xmlShellList(void) {
   7732     int test_ret = 0;
   7733 
   7734 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
   7735     int mem_base;
   7736     int ret_val;
   7737     xmlShellCtxtPtr ctxt; /* the shell context */
   7738     int n_ctxt;
   7739     char * arg; /* unused */
   7740     int n_arg;
   7741     xmlNodePtr node; /* a node */
   7742     int n_node;
   7743     xmlNodePtr node2; /* unused */
   7744     int n_node2;
   7745 
   7746     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7747     for (n_arg = 0;n_arg < gen_nb_char_ptr;n_arg++) {
   7748     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7749     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7750         mem_base = xmlMemBlocks();
   7751         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7752         arg = gen_char_ptr(n_arg, 1);
   7753         node = gen_xmlNodePtr(n_node, 2);
   7754         node2 = gen_xmlNodePtr(n_node2, 3);
   7755 
   7756         ret_val = xmlShellList(ctxt, arg, node, node2);
   7757         desret_int(ret_val);
   7758         call_tests++;
   7759         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7760         des_char_ptr(n_arg, arg, 1);
   7761         des_xmlNodePtr(n_node, node, 2);
   7762         des_xmlNodePtr(n_node2, node2, 3);
   7763         xmlResetLastError();
   7764         if (mem_base != xmlMemBlocks()) {
   7765             printf("Leak of %d blocks found in xmlShellList",
   7766 	           xmlMemBlocks() - mem_base);
   7767 	    test_ret++;
   7768             printf(" %d", n_ctxt);
   7769             printf(" %d", n_arg);
   7770             printf(" %d", n_node);
   7771             printf(" %d", n_node2);
   7772             printf("\n");
   7773         }
   7774     }
   7775     }
   7776     }
   7777     }
   7778     function_tests++;
   7779 #endif
   7780 
   7781     return(test_ret);
   7782 }
   7783 
   7784 
   7785 static int
   7786 test_xmlShellLoad(void) {
   7787     int test_ret = 0;
   7788 
   7789 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
   7790     int mem_base;
   7791     int ret_val;
   7792     xmlShellCtxtPtr ctxt; /* the shell context */
   7793     int n_ctxt;
   7794     char * filename; /* the file name */
   7795     int n_filename;
   7796     xmlNodePtr node; /* unused */
   7797     int n_node;
   7798     xmlNodePtr node2; /* unused */
   7799     int n_node2;
   7800 
   7801     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7802     for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
   7803     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7804     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7805         mem_base = xmlMemBlocks();
   7806         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7807         filename = gen_char_ptr(n_filename, 1);
   7808         node = gen_xmlNodePtr(n_node, 2);
   7809         node2 = gen_xmlNodePtr(n_node2, 3);
   7810 
   7811         ret_val = xmlShellLoad(ctxt, filename, node, node2);
   7812         desret_int(ret_val);
   7813         call_tests++;
   7814         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7815         des_char_ptr(n_filename, filename, 1);
   7816         des_xmlNodePtr(n_node, node, 2);
   7817         des_xmlNodePtr(n_node2, node2, 3);
   7818         xmlResetLastError();
   7819         if (mem_base != xmlMemBlocks()) {
   7820             printf("Leak of %d blocks found in xmlShellLoad",
   7821 	           xmlMemBlocks() - mem_base);
   7822 	    test_ret++;
   7823             printf(" %d", n_ctxt);
   7824             printf(" %d", n_filename);
   7825             printf(" %d", n_node);
   7826             printf(" %d", n_node2);
   7827             printf("\n");
   7828         }
   7829     }
   7830     }
   7831     }
   7832     }
   7833     function_tests++;
   7834 #endif
   7835 
   7836     return(test_ret);
   7837 }
   7838 
   7839 
   7840 static int
   7841 test_xmlShellPrintXPathResult(void) {
   7842     int test_ret = 0;
   7843 
   7844 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
   7845     int mem_base;
   7846     xmlXPathObjectPtr list; /* a valid result generated by an xpath evaluation */
   7847     int n_list;
   7848 
   7849     for (n_list = 0;n_list < gen_nb_xmlXPathObjectPtr;n_list++) {
   7850         mem_base = xmlMemBlocks();
   7851         list = gen_xmlXPathObjectPtr(n_list, 0);
   7852 
   7853         xmlShellPrintXPathResult(list);
   7854         call_tests++;
   7855         des_xmlXPathObjectPtr(n_list, list, 0);
   7856         xmlResetLastError();
   7857         if (mem_base != xmlMemBlocks()) {
   7858             printf("Leak of %d blocks found in xmlShellPrintXPathResult",
   7859 	           xmlMemBlocks() - mem_base);
   7860 	    test_ret++;
   7861             printf(" %d", n_list);
   7862             printf("\n");
   7863         }
   7864     }
   7865     function_tests++;
   7866 #endif
   7867 
   7868     return(test_ret);
   7869 }
   7870 
   7871 
   7872 static int
   7873 test_xmlShellPwd(void) {
   7874     int test_ret = 0;
   7875 
   7876 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED)
   7877     int mem_base;
   7878     int ret_val;
   7879     xmlShellCtxtPtr ctxt; /* the shell context */
   7880     int n_ctxt;
   7881     char * buffer; /* the output buffer */
   7882     int n_buffer;
   7883     xmlNodePtr node; /* a node */
   7884     int n_node;
   7885     xmlNodePtr node2; /* unused */
   7886     int n_node2;
   7887 
   7888     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7889     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
   7890     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7891     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7892         mem_base = xmlMemBlocks();
   7893         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7894         buffer = gen_char_ptr(n_buffer, 1);
   7895         node = gen_xmlNodePtr(n_node, 2);
   7896         node2 = gen_xmlNodePtr(n_node2, 3);
   7897 
   7898         ret_val = xmlShellPwd(ctxt, buffer, node, node2);
   7899         desret_int(ret_val);
   7900         call_tests++;
   7901         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7902         des_char_ptr(n_buffer, buffer, 1);
   7903         des_xmlNodePtr(n_node, node, 2);
   7904         des_xmlNodePtr(n_node2, node2, 3);
   7905         xmlResetLastError();
   7906         if (mem_base != xmlMemBlocks()) {
   7907             printf("Leak of %d blocks found in xmlShellPwd",
   7908 	           xmlMemBlocks() - mem_base);
   7909 	    test_ret++;
   7910             printf(" %d", n_ctxt);
   7911             printf(" %d", n_buffer);
   7912             printf(" %d", n_node);
   7913             printf(" %d", n_node2);
   7914             printf("\n");
   7915         }
   7916     }
   7917     }
   7918     }
   7919     }
   7920     function_tests++;
   7921 #endif
   7922 
   7923     return(test_ret);
   7924 }
   7925 
   7926 
   7927 static int
   7928 test_xmlShellSave(void) {
   7929     int test_ret = 0;
   7930 
   7931 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   7932     int mem_base;
   7933     int ret_val;
   7934     xmlShellCtxtPtr ctxt; /* the shell context */
   7935     int n_ctxt;
   7936     char * filename; /* the file name (optional) */
   7937     int n_filename;
   7938     xmlNodePtr node; /* unused */
   7939     int n_node;
   7940     xmlNodePtr node2; /* unused */
   7941     int n_node2;
   7942 
   7943     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7944     for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
   7945     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   7946     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   7947         mem_base = xmlMemBlocks();
   7948         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   7949         filename = gen_char_ptr(n_filename, 1);
   7950         node = gen_xmlNodePtr(n_node, 2);
   7951         node2 = gen_xmlNodePtr(n_node2, 3);
   7952 
   7953         ret_val = xmlShellSave(ctxt, filename, node, node2);
   7954         desret_int(ret_val);
   7955         call_tests++;
   7956         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   7957         des_char_ptr(n_filename, filename, 1);
   7958         des_xmlNodePtr(n_node, node, 2);
   7959         des_xmlNodePtr(n_node2, node2, 3);
   7960         xmlResetLastError();
   7961         if (mem_base != xmlMemBlocks()) {
   7962             printf("Leak of %d blocks found in xmlShellSave",
   7963 	           xmlMemBlocks() - mem_base);
   7964 	    test_ret++;
   7965             printf(" %d", n_ctxt);
   7966             printf(" %d", n_filename);
   7967             printf(" %d", n_node);
   7968             printf(" %d", n_node2);
   7969             printf("\n");
   7970         }
   7971     }
   7972     }
   7973     }
   7974     }
   7975     function_tests++;
   7976 #endif
   7977 
   7978     return(test_ret);
   7979 }
   7980 
   7981 
   7982 static int
   7983 test_xmlShellValidate(void) {
   7984     int test_ret = 0;
   7985 
   7986 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_VALID_ENABLED)
   7987     int mem_base;
   7988     int ret_val;
   7989     xmlShellCtxtPtr ctxt; /* the shell context */
   7990     int n_ctxt;
   7991     char * dtd; /* the DTD URI (optional) */
   7992     int n_dtd;
   7993     xmlNodePtr node; /* unused */
   7994     int n_node;
   7995     xmlNodePtr node2; /* unused */
   7996     int n_node2;
   7997 
   7998     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   7999     for (n_dtd = 0;n_dtd < gen_nb_char_ptr;n_dtd++) {
   8000     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   8001     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   8002         mem_base = xmlMemBlocks();
   8003         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   8004         dtd = gen_char_ptr(n_dtd, 1);
   8005         node = gen_xmlNodePtr(n_node, 2);
   8006         node2 = gen_xmlNodePtr(n_node2, 3);
   8007 
   8008         ret_val = xmlShellValidate(ctxt, dtd, node, node2);
   8009         desret_int(ret_val);
   8010         call_tests++;
   8011         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   8012         des_char_ptr(n_dtd, dtd, 1);
   8013         des_xmlNodePtr(n_node, node, 2);
   8014         des_xmlNodePtr(n_node2, node2, 3);
   8015         xmlResetLastError();
   8016         if (mem_base != xmlMemBlocks()) {
   8017             printf("Leak of %d blocks found in xmlShellValidate",
   8018 	           xmlMemBlocks() - mem_base);
   8019 	    test_ret++;
   8020             printf(" %d", n_ctxt);
   8021             printf(" %d", n_dtd);
   8022             printf(" %d", n_node);
   8023             printf(" %d", n_node2);
   8024             printf("\n");
   8025         }
   8026     }
   8027     }
   8028     }
   8029     }
   8030     function_tests++;
   8031 #endif
   8032 
   8033     return(test_ret);
   8034 }
   8035 
   8036 
   8037 static int
   8038 test_xmlShellWrite(void) {
   8039     int test_ret = 0;
   8040 
   8041 #if defined(LIBXML_DEBUG_ENABLED) && defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   8042     int mem_base;
   8043     int ret_val;
   8044     xmlShellCtxtPtr ctxt; /* the shell context */
   8045     int n_ctxt;
   8046     char * filename; /* the file name */
   8047     int n_filename;
   8048     xmlNodePtr node; /* a node in the tree */
   8049     int n_node;
   8050     xmlNodePtr node2; /* unused */
   8051     int n_node2;
   8052 
   8053     for (n_ctxt = 0;n_ctxt < gen_nb_xmlShellCtxtPtr;n_ctxt++) {
   8054     for (n_filename = 0;n_filename < gen_nb_char_ptr;n_filename++) {
   8055     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   8056     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   8057         mem_base = xmlMemBlocks();
   8058         ctxt = gen_xmlShellCtxtPtr(n_ctxt, 0);
   8059         filename = gen_char_ptr(n_filename, 1);
   8060         node = gen_xmlNodePtr(n_node, 2);
   8061         node2 = gen_xmlNodePtr(n_node2, 3);
   8062 
   8063         ret_val = xmlShellWrite(ctxt, filename, node, node2);
   8064         desret_int(ret_val);
   8065         call_tests++;
   8066         des_xmlShellCtxtPtr(n_ctxt, ctxt, 0);
   8067         des_char_ptr(n_filename, filename, 1);
   8068         des_xmlNodePtr(n_node, node, 2);
   8069         des_xmlNodePtr(n_node2, node2, 3);
   8070         xmlResetLastError();
   8071         if (mem_base != xmlMemBlocks()) {
   8072             printf("Leak of %d blocks found in xmlShellWrite",
   8073 	           xmlMemBlocks() - mem_base);
   8074 	    test_ret++;
   8075             printf(" %d", n_ctxt);
   8076             printf(" %d", n_filename);
   8077             printf(" %d", n_node);
   8078             printf(" %d", n_node2);
   8079             printf("\n");
   8080         }
   8081     }
   8082     }
   8083     }
   8084     }
   8085     function_tests++;
   8086 #endif
   8087 
   8088     return(test_ret);
   8089 }
   8090 
   8091 static int
   8092 test_debugXML(void) {
   8093     int test_ret = 0;
   8094 
   8095     if (quiet == 0) printf("Testing debugXML : 25 of 28 functions ...\n");
   8096     test_ret += test_xmlBoolToText();
   8097     test_ret += test_xmlDebugCheckDocument();
   8098     test_ret += test_xmlDebugDumpAttr();
   8099     test_ret += test_xmlDebugDumpAttrList();
   8100     test_ret += test_xmlDebugDumpDTD();
   8101     test_ret += test_xmlDebugDumpDocument();
   8102     test_ret += test_xmlDebugDumpDocumentHead();
   8103     test_ret += test_xmlDebugDumpEntities();
   8104     test_ret += test_xmlDebugDumpNode();
   8105     test_ret += test_xmlDebugDumpNodeList();
   8106     test_ret += test_xmlDebugDumpOneNode();
   8107     test_ret += test_xmlDebugDumpString();
   8108     test_ret += test_xmlLsCountNode();
   8109     test_ret += test_xmlLsOneNode();
   8110     test_ret += test_xmlShell();
   8111     test_ret += test_xmlShellBase();
   8112     test_ret += test_xmlShellCat();
   8113     test_ret += test_xmlShellDir();
   8114     test_ret += test_xmlShellDu();
   8115     test_ret += test_xmlShellList();
   8116     test_ret += test_xmlShellLoad();
   8117     test_ret += test_xmlShellPrintXPathResult();
   8118     test_ret += test_xmlShellPwd();
   8119     test_ret += test_xmlShellSave();
   8120     test_ret += test_xmlShellValidate();
   8121     test_ret += test_xmlShellWrite();
   8122 
   8123     if (test_ret != 0)
   8124 	printf("Module debugXML: %d errors\n", test_ret);
   8125     return(test_ret);
   8126 }
   8127 
   8128 static int
   8129 test_xmlDictCleanup(void) {
   8130     int test_ret = 0;
   8131 
   8132     int mem_base;
   8133 
   8134         mem_base = xmlMemBlocks();
   8135 
   8136         xmlDictCleanup();
   8137         call_tests++;
   8138         xmlResetLastError();
   8139         if (mem_base != xmlMemBlocks()) {
   8140             printf("Leak of %d blocks found in xmlDictCleanup",
   8141 	           xmlMemBlocks() - mem_base);
   8142 	    test_ret++;
   8143             printf("\n");
   8144         }
   8145     function_tests++;
   8146 
   8147     return(test_ret);
   8148 }
   8149 
   8150 
   8151 static int
   8152 test_xmlDictCreate(void) {
   8153     int test_ret = 0;
   8154 
   8155     int mem_base;
   8156     xmlDictPtr ret_val;
   8157 
   8158         mem_base = xmlMemBlocks();
   8159 
   8160         ret_val = xmlDictCreate();
   8161         desret_xmlDictPtr(ret_val);
   8162         call_tests++;
   8163         xmlResetLastError();
   8164         if (mem_base != xmlMemBlocks()) {
   8165             printf("Leak of %d blocks found in xmlDictCreate",
   8166 	           xmlMemBlocks() - mem_base);
   8167 	    test_ret++;
   8168             printf("\n");
   8169         }
   8170     function_tests++;
   8171 
   8172     return(test_ret);
   8173 }
   8174 
   8175 
   8176 static int
   8177 test_xmlDictCreateSub(void) {
   8178     int test_ret = 0;
   8179 
   8180     int mem_base;
   8181     xmlDictPtr ret_val;
   8182     xmlDictPtr sub; /* an existing dictionnary */
   8183     int n_sub;
   8184 
   8185     for (n_sub = 0;n_sub < gen_nb_xmlDictPtr;n_sub++) {
   8186         mem_base = xmlMemBlocks();
   8187         sub = gen_xmlDictPtr(n_sub, 0);
   8188 
   8189         ret_val = xmlDictCreateSub(sub);
   8190         desret_xmlDictPtr(ret_val);
   8191         call_tests++;
   8192         des_xmlDictPtr(n_sub, sub, 0);
   8193         xmlResetLastError();
   8194         if (mem_base != xmlMemBlocks()) {
   8195             printf("Leak of %d blocks found in xmlDictCreateSub",
   8196 	           xmlMemBlocks() - mem_base);
   8197 	    test_ret++;
   8198             printf(" %d", n_sub);
   8199             printf("\n");
   8200         }
   8201     }
   8202     function_tests++;
   8203 
   8204     return(test_ret);
   8205 }
   8206 
   8207 
   8208 static int
   8209 test_xmlDictExists(void) {
   8210     int test_ret = 0;
   8211 
   8212     int mem_base;
   8213     const xmlChar * ret_val;
   8214     xmlDictPtr dict; /* the dictionnary */
   8215     int n_dict;
   8216     xmlChar * name; /* the name of the userdata */
   8217     int n_name;
   8218     int len; /* the length of the name, if -1 it is recomputed */
   8219     int n_len;
   8220 
   8221     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
   8222     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   8223     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   8224         mem_base = xmlMemBlocks();
   8225         dict = gen_xmlDictPtr(n_dict, 0);
   8226         name = gen_const_xmlChar_ptr(n_name, 1);
   8227         len = gen_int(n_len, 2);
   8228 
   8229         ret_val = xmlDictExists(dict, (const xmlChar *)name, len);
   8230         desret_const_xmlChar_ptr(ret_val);
   8231         call_tests++;
   8232         des_xmlDictPtr(n_dict, dict, 0);
   8233         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   8234         des_int(n_len, len, 2);
   8235         xmlResetLastError();
   8236         if (mem_base != xmlMemBlocks()) {
   8237             printf("Leak of %d blocks found in xmlDictExists",
   8238 	           xmlMemBlocks() - mem_base);
   8239 	    test_ret++;
   8240             printf(" %d", n_dict);
   8241             printf(" %d", n_name);
   8242             printf(" %d", n_len);
   8243             printf("\n");
   8244         }
   8245     }
   8246     }
   8247     }
   8248     function_tests++;
   8249 
   8250     return(test_ret);
   8251 }
   8252 
   8253 
   8254 static int
   8255 test_xmlDictLookup(void) {
   8256     int test_ret = 0;
   8257 
   8258     int mem_base;
   8259     const xmlChar * ret_val;
   8260     xmlDictPtr dict; /* the dictionnary */
   8261     int n_dict;
   8262     xmlChar * name; /* the name of the userdata */
   8263     int n_name;
   8264     int len; /* the length of the name, if -1 it is recomputed */
   8265     int n_len;
   8266 
   8267     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
   8268     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   8269     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   8270         mem_base = xmlMemBlocks();
   8271         dict = gen_xmlDictPtr(n_dict, 0);
   8272         name = gen_const_xmlChar_ptr(n_name, 1);
   8273         len = gen_int(n_len, 2);
   8274 
   8275         ret_val = xmlDictLookup(dict, (const xmlChar *)name, len);
   8276         desret_const_xmlChar_ptr(ret_val);
   8277         call_tests++;
   8278         des_xmlDictPtr(n_dict, dict, 0);
   8279         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   8280         des_int(n_len, len, 2);
   8281         xmlResetLastError();
   8282         if (mem_base != xmlMemBlocks()) {
   8283             printf("Leak of %d blocks found in xmlDictLookup",
   8284 	           xmlMemBlocks() - mem_base);
   8285 	    test_ret++;
   8286             printf(" %d", n_dict);
   8287             printf(" %d", n_name);
   8288             printf(" %d", n_len);
   8289             printf("\n");
   8290         }
   8291     }
   8292     }
   8293     }
   8294     function_tests++;
   8295 
   8296     return(test_ret);
   8297 }
   8298 
   8299 
   8300 static int
   8301 test_xmlDictOwns(void) {
   8302     int test_ret = 0;
   8303 
   8304     int mem_base;
   8305     int ret_val;
   8306     xmlDictPtr dict; /* the dictionnary */
   8307     int n_dict;
   8308     xmlChar * str; /* the string */
   8309     int n_str;
   8310 
   8311     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
   8312     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   8313         mem_base = xmlMemBlocks();
   8314         dict = gen_xmlDictPtr(n_dict, 0);
   8315         str = gen_const_xmlChar_ptr(n_str, 1);
   8316 
   8317         ret_val = xmlDictOwns(dict, (const xmlChar *)str);
   8318         desret_int(ret_val);
   8319         call_tests++;
   8320         des_xmlDictPtr(n_dict, dict, 0);
   8321         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   8322         xmlResetLastError();
   8323         if (mem_base != xmlMemBlocks()) {
   8324             printf("Leak of %d blocks found in xmlDictOwns",
   8325 	           xmlMemBlocks() - mem_base);
   8326 	    test_ret++;
   8327             printf(" %d", n_dict);
   8328             printf(" %d", n_str);
   8329             printf("\n");
   8330         }
   8331     }
   8332     }
   8333     function_tests++;
   8334 
   8335     return(test_ret);
   8336 }
   8337 
   8338 
   8339 static int
   8340 test_xmlDictQLookup(void) {
   8341     int test_ret = 0;
   8342 
   8343     int mem_base;
   8344     const xmlChar * ret_val;
   8345     xmlDictPtr dict; /* the dictionnary */
   8346     int n_dict;
   8347     xmlChar * prefix; /* the prefix */
   8348     int n_prefix;
   8349     xmlChar * name; /* the name */
   8350     int n_name;
   8351 
   8352     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
   8353     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   8354     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   8355         mem_base = xmlMemBlocks();
   8356         dict = gen_xmlDictPtr(n_dict, 0);
   8357         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   8358         name = gen_const_xmlChar_ptr(n_name, 2);
   8359 
   8360         ret_val = xmlDictQLookup(dict, (const xmlChar *)prefix, (const xmlChar *)name);
   8361         desret_const_xmlChar_ptr(ret_val);
   8362         call_tests++;
   8363         des_xmlDictPtr(n_dict, dict, 0);
   8364         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   8365         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   8366         xmlResetLastError();
   8367         if (mem_base != xmlMemBlocks()) {
   8368             printf("Leak of %d blocks found in xmlDictQLookup",
   8369 	           xmlMemBlocks() - mem_base);
   8370 	    test_ret++;
   8371             printf(" %d", n_dict);
   8372             printf(" %d", n_prefix);
   8373             printf(" %d", n_name);
   8374             printf("\n");
   8375         }
   8376     }
   8377     }
   8378     }
   8379     function_tests++;
   8380 
   8381     return(test_ret);
   8382 }
   8383 
   8384 
   8385 static int
   8386 test_xmlDictReference(void) {
   8387     int test_ret = 0;
   8388 
   8389     int mem_base;
   8390     int ret_val;
   8391     xmlDictPtr dict; /* the dictionnary */
   8392     int n_dict;
   8393 
   8394     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
   8395         mem_base = xmlMemBlocks();
   8396         dict = gen_xmlDictPtr(n_dict, 0);
   8397 
   8398         ret_val = xmlDictReference(dict);
   8399         xmlDictFree(dict);
   8400         desret_int(ret_val);
   8401         call_tests++;
   8402         des_xmlDictPtr(n_dict, dict, 0);
   8403         xmlResetLastError();
   8404         if (mem_base != xmlMemBlocks()) {
   8405             printf("Leak of %d blocks found in xmlDictReference",
   8406 	           xmlMemBlocks() - mem_base);
   8407 	    test_ret++;
   8408             printf(" %d", n_dict);
   8409             printf("\n");
   8410         }
   8411     }
   8412     function_tests++;
   8413 
   8414     return(test_ret);
   8415 }
   8416 
   8417 
   8418 static int
   8419 test_xmlDictSize(void) {
   8420     int test_ret = 0;
   8421 
   8422     int mem_base;
   8423     int ret_val;
   8424     xmlDictPtr dict; /* the dictionnary */
   8425     int n_dict;
   8426 
   8427     for (n_dict = 0;n_dict < gen_nb_xmlDictPtr;n_dict++) {
   8428         mem_base = xmlMemBlocks();
   8429         dict = gen_xmlDictPtr(n_dict, 0);
   8430 
   8431         ret_val = xmlDictSize(dict);
   8432         desret_int(ret_val);
   8433         call_tests++;
   8434         des_xmlDictPtr(n_dict, dict, 0);
   8435         xmlResetLastError();
   8436         if (mem_base != xmlMemBlocks()) {
   8437             printf("Leak of %d blocks found in xmlDictSize",
   8438 	           xmlMemBlocks() - mem_base);
   8439 	    test_ret++;
   8440             printf(" %d", n_dict);
   8441             printf("\n");
   8442         }
   8443     }
   8444     function_tests++;
   8445 
   8446     return(test_ret);
   8447 }
   8448 
   8449 static int
   8450 test_dict(void) {
   8451     int test_ret = 0;
   8452 
   8453     if (quiet == 0) printf("Testing dict : 9 of 10 functions ...\n");
   8454     test_ret += test_xmlDictCleanup();
   8455     test_ret += test_xmlDictCreate();
   8456     test_ret += test_xmlDictCreateSub();
   8457     test_ret += test_xmlDictExists();
   8458     test_ret += test_xmlDictLookup();
   8459     test_ret += test_xmlDictOwns();
   8460     test_ret += test_xmlDictQLookup();
   8461     test_ret += test_xmlDictReference();
   8462     test_ret += test_xmlDictSize();
   8463 
   8464     if (test_ret != 0)
   8465 	printf("Module dict: %d errors\n", test_ret);
   8466     return(test_ret);
   8467 }
   8468 
   8469 static int
   8470 test_UTF8Toisolat1(void) {
   8471     int test_ret = 0;
   8472 
   8473 #if defined(LIBXML_OUTPUT_ENABLED)
   8474 #ifdef LIBXML_OUTPUT_ENABLED
   8475     int mem_base;
   8476     int ret_val;
   8477     unsigned char * out; /* a pointer to an array of bytes to store the result */
   8478     int n_out;
   8479     int * outlen; /* the length of @out */
   8480     int n_outlen;
   8481     unsigned char * in; /* a pointer to an array of UTF-8 chars */
   8482     int n_in;
   8483     int * inlen; /* the length of @in */
   8484     int n_inlen;
   8485 
   8486     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
   8487     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
   8488     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
   8489     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
   8490         mem_base = xmlMemBlocks();
   8491         out = gen_unsigned_char_ptr(n_out, 0);
   8492         outlen = gen_int_ptr(n_outlen, 1);
   8493         in = gen_const_unsigned_char_ptr(n_in, 2);
   8494         inlen = gen_int_ptr(n_inlen, 3);
   8495 
   8496         ret_val = UTF8Toisolat1(out, outlen, (const unsigned char *)in, inlen);
   8497         desret_int(ret_val);
   8498         call_tests++;
   8499         des_unsigned_char_ptr(n_out, out, 0);
   8500         des_int_ptr(n_outlen, outlen, 1);
   8501         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
   8502         des_int_ptr(n_inlen, inlen, 3);
   8503         xmlResetLastError();
   8504         if (mem_base != xmlMemBlocks()) {
   8505             printf("Leak of %d blocks found in UTF8Toisolat1",
   8506 	           xmlMemBlocks() - mem_base);
   8507 	    test_ret++;
   8508             printf(" %d", n_out);
   8509             printf(" %d", n_outlen);
   8510             printf(" %d", n_in);
   8511             printf(" %d", n_inlen);
   8512             printf("\n");
   8513         }
   8514     }
   8515     }
   8516     }
   8517     }
   8518     function_tests++;
   8519 #endif
   8520 #endif
   8521 
   8522     return(test_ret);
   8523 }
   8524 
   8525 
   8526 static int
   8527 test_isolat1ToUTF8(void) {
   8528     int test_ret = 0;
   8529 
   8530     int mem_base;
   8531     int ret_val;
   8532     unsigned char * out; /* a pointer to an array of bytes to store the result */
   8533     int n_out;
   8534     int * outlen; /* the length of @out */
   8535     int n_outlen;
   8536     unsigned char * in; /* a pointer to an array of ISO Latin 1 chars */
   8537     int n_in;
   8538     int * inlen; /* the length of @in */
   8539     int n_inlen;
   8540 
   8541     for (n_out = 0;n_out < gen_nb_unsigned_char_ptr;n_out++) {
   8542     for (n_outlen = 0;n_outlen < gen_nb_int_ptr;n_outlen++) {
   8543     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
   8544     for (n_inlen = 0;n_inlen < gen_nb_int_ptr;n_inlen++) {
   8545         mem_base = xmlMemBlocks();
   8546         out = gen_unsigned_char_ptr(n_out, 0);
   8547         outlen = gen_int_ptr(n_outlen, 1);
   8548         in = gen_const_unsigned_char_ptr(n_in, 2);
   8549         inlen = gen_int_ptr(n_inlen, 3);
   8550 
   8551         ret_val = isolat1ToUTF8(out, outlen, (const unsigned char *)in, inlen);
   8552         desret_int(ret_val);
   8553         call_tests++;
   8554         des_unsigned_char_ptr(n_out, out, 0);
   8555         des_int_ptr(n_outlen, outlen, 1);
   8556         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 2);
   8557         des_int_ptr(n_inlen, inlen, 3);
   8558         xmlResetLastError();
   8559         if (mem_base != xmlMemBlocks()) {
   8560             printf("Leak of %d blocks found in isolat1ToUTF8",
   8561 	           xmlMemBlocks() - mem_base);
   8562 	    test_ret++;
   8563             printf(" %d", n_out);
   8564             printf(" %d", n_outlen);
   8565             printf(" %d", n_in);
   8566             printf(" %d", n_inlen);
   8567             printf("\n");
   8568         }
   8569     }
   8570     }
   8571     }
   8572     }
   8573     function_tests++;
   8574 
   8575     return(test_ret);
   8576 }
   8577 
   8578 
   8579 static int
   8580 test_xmlAddEncodingAlias(void) {
   8581     int test_ret = 0;
   8582 
   8583     int ret_val;
   8584     char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
   8585     int n_name;
   8586     char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
   8587     int n_alias;
   8588 
   8589     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
   8590     for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
   8591         name = gen_const_char_ptr(n_name, 0);
   8592         alias = gen_const_char_ptr(n_alias, 1);
   8593 
   8594         ret_val = xmlAddEncodingAlias((const char *)name, (const char *)alias);
   8595         desret_int(ret_val);
   8596         call_tests++;
   8597         des_const_char_ptr(n_name, (const char *)name, 0);
   8598         des_const_char_ptr(n_alias, (const char *)alias, 1);
   8599         xmlResetLastError();
   8600     }
   8601     }
   8602     function_tests++;
   8603 
   8604     return(test_ret);
   8605 }
   8606 
   8607 
   8608 #define gen_nb_xmlCharEncodingHandler_ptr 1
   8609 static xmlCharEncodingHandler * gen_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   8610     return(NULL);
   8611 }
   8612 static void des_xmlCharEncodingHandler_ptr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandler * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   8613 }
   8614 
   8615 static int
   8616 test_xmlCharEncCloseFunc(void) {
   8617     int test_ret = 0;
   8618 
   8619     int mem_base;
   8620     int ret_val;
   8621     xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
   8622     int n_handler;
   8623 
   8624     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
   8625         mem_base = xmlMemBlocks();
   8626         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
   8627 
   8628         ret_val = xmlCharEncCloseFunc(handler);
   8629         desret_int(ret_val);
   8630         call_tests++;
   8631         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
   8632         xmlResetLastError();
   8633         if (mem_base != xmlMemBlocks()) {
   8634             printf("Leak of %d blocks found in xmlCharEncCloseFunc",
   8635 	           xmlMemBlocks() - mem_base);
   8636 	    test_ret++;
   8637             printf(" %d", n_handler);
   8638             printf("\n");
   8639         }
   8640     }
   8641     function_tests++;
   8642 
   8643     return(test_ret);
   8644 }
   8645 
   8646 
   8647 static int
   8648 test_xmlCharEncFirstLine(void) {
   8649     int test_ret = 0;
   8650 
   8651     int mem_base;
   8652     int ret_val;
   8653     xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
   8654     int n_handler;
   8655     xmlBufferPtr out; /* an xmlBuffer for the output. */
   8656     int n_out;
   8657     xmlBufferPtr in; /* an xmlBuffer for the input */
   8658     int n_in;
   8659 
   8660     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
   8661     for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
   8662     for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
   8663         mem_base = xmlMemBlocks();
   8664         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
   8665         out = gen_xmlBufferPtr(n_out, 1);
   8666         in = gen_xmlBufferPtr(n_in, 2);
   8667 
   8668         ret_val = xmlCharEncFirstLine(handler, out, in);
   8669         desret_int(ret_val);
   8670         call_tests++;
   8671         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
   8672         des_xmlBufferPtr(n_out, out, 1);
   8673         des_xmlBufferPtr(n_in, in, 2);
   8674         xmlResetLastError();
   8675         if (mem_base != xmlMemBlocks()) {
   8676             printf("Leak of %d blocks found in xmlCharEncFirstLine",
   8677 	           xmlMemBlocks() - mem_base);
   8678 	    test_ret++;
   8679             printf(" %d", n_handler);
   8680             printf(" %d", n_out);
   8681             printf(" %d", n_in);
   8682             printf("\n");
   8683         }
   8684     }
   8685     }
   8686     }
   8687     function_tests++;
   8688 
   8689     return(test_ret);
   8690 }
   8691 
   8692 
   8693 static int
   8694 test_xmlCharEncInFunc(void) {
   8695     int test_ret = 0;
   8696 
   8697     int mem_base;
   8698     int ret_val;
   8699     xmlCharEncodingHandler * handler; /* char encoding transformation data structure */
   8700     int n_handler;
   8701     xmlBufferPtr out; /* an xmlBuffer for the output. */
   8702     int n_out;
   8703     xmlBufferPtr in; /* an xmlBuffer for the input */
   8704     int n_in;
   8705 
   8706     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
   8707     for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
   8708     for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
   8709         mem_base = xmlMemBlocks();
   8710         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
   8711         out = gen_xmlBufferPtr(n_out, 1);
   8712         in = gen_xmlBufferPtr(n_in, 2);
   8713 
   8714         ret_val = xmlCharEncInFunc(handler, out, in);
   8715         desret_int(ret_val);
   8716         call_tests++;
   8717         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
   8718         des_xmlBufferPtr(n_out, out, 1);
   8719         des_xmlBufferPtr(n_in, in, 2);
   8720         xmlResetLastError();
   8721         if (mem_base != xmlMemBlocks()) {
   8722             printf("Leak of %d blocks found in xmlCharEncInFunc",
   8723 	           xmlMemBlocks() - mem_base);
   8724 	    test_ret++;
   8725             printf(" %d", n_handler);
   8726             printf(" %d", n_out);
   8727             printf(" %d", n_in);
   8728             printf("\n");
   8729         }
   8730     }
   8731     }
   8732     }
   8733     function_tests++;
   8734 
   8735     return(test_ret);
   8736 }
   8737 
   8738 
   8739 static int
   8740 test_xmlCharEncOutFunc(void) {
   8741     int test_ret = 0;
   8742 
   8743     int mem_base;
   8744     int ret_val;
   8745     xmlCharEncodingHandler * handler; /* char enconding transformation data structure */
   8746     int n_handler;
   8747     xmlBufferPtr out; /* an xmlBuffer for the output. */
   8748     int n_out;
   8749     xmlBufferPtr in; /* an xmlBuffer for the input */
   8750     int n_in;
   8751 
   8752     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandler_ptr;n_handler++) {
   8753     for (n_out = 0;n_out < gen_nb_xmlBufferPtr;n_out++) {
   8754     for (n_in = 0;n_in < gen_nb_xmlBufferPtr;n_in++) {
   8755         mem_base = xmlMemBlocks();
   8756         handler = gen_xmlCharEncodingHandler_ptr(n_handler, 0);
   8757         out = gen_xmlBufferPtr(n_out, 1);
   8758         in = gen_xmlBufferPtr(n_in, 2);
   8759 
   8760         ret_val = xmlCharEncOutFunc(handler, out, in);
   8761         desret_int(ret_val);
   8762         call_tests++;
   8763         des_xmlCharEncodingHandler_ptr(n_handler, handler, 0);
   8764         des_xmlBufferPtr(n_out, out, 1);
   8765         des_xmlBufferPtr(n_in, in, 2);
   8766         xmlResetLastError();
   8767         if (mem_base != xmlMemBlocks()) {
   8768             printf("Leak of %d blocks found in xmlCharEncOutFunc",
   8769 	           xmlMemBlocks() - mem_base);
   8770 	    test_ret++;
   8771             printf(" %d", n_handler);
   8772             printf(" %d", n_out);
   8773             printf(" %d", n_in);
   8774             printf("\n");
   8775         }
   8776     }
   8777     }
   8778     }
   8779     function_tests++;
   8780 
   8781     return(test_ret);
   8782 }
   8783 
   8784 
   8785 static int
   8786 test_xmlCleanupCharEncodingHandlers(void) {
   8787     int test_ret = 0;
   8788 
   8789 
   8790 
   8791         xmlCleanupCharEncodingHandlers();
   8792         call_tests++;
   8793         xmlResetLastError();
   8794     function_tests++;
   8795 
   8796     return(test_ret);
   8797 }
   8798 
   8799 
   8800 static int
   8801 test_xmlCleanupEncodingAliases(void) {
   8802     int test_ret = 0;
   8803 
   8804     int mem_base;
   8805 
   8806         mem_base = xmlMemBlocks();
   8807 
   8808         xmlCleanupEncodingAliases();
   8809         call_tests++;
   8810         xmlResetLastError();
   8811         if (mem_base != xmlMemBlocks()) {
   8812             printf("Leak of %d blocks found in xmlCleanupEncodingAliases",
   8813 	           xmlMemBlocks() - mem_base);
   8814 	    test_ret++;
   8815             printf("\n");
   8816         }
   8817     function_tests++;
   8818 
   8819     return(test_ret);
   8820 }
   8821 
   8822 
   8823 static int
   8824 test_xmlDelEncodingAlias(void) {
   8825     int test_ret = 0;
   8826 
   8827     int mem_base;
   8828     int ret_val;
   8829     char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
   8830     int n_alias;
   8831 
   8832     for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
   8833         mem_base = xmlMemBlocks();
   8834         alias = gen_const_char_ptr(n_alias, 0);
   8835 
   8836         ret_val = xmlDelEncodingAlias((const char *)alias);
   8837         desret_int(ret_val);
   8838         call_tests++;
   8839         des_const_char_ptr(n_alias, (const char *)alias, 0);
   8840         xmlResetLastError();
   8841         if (mem_base != xmlMemBlocks()) {
   8842             printf("Leak of %d blocks found in xmlDelEncodingAlias",
   8843 	           xmlMemBlocks() - mem_base);
   8844 	    test_ret++;
   8845             printf(" %d", n_alias);
   8846             printf("\n");
   8847         }
   8848     }
   8849     function_tests++;
   8850 
   8851     return(test_ret);
   8852 }
   8853 
   8854 
   8855 static int
   8856 test_xmlDetectCharEncoding(void) {
   8857     int test_ret = 0;
   8858 
   8859     int mem_base;
   8860     xmlCharEncoding ret_val;
   8861     unsigned char * in; /* a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant). */
   8862     int n_in;
   8863     int len; /* pointer to the length of the buffer */
   8864     int n_len;
   8865 
   8866     for (n_in = 0;n_in < gen_nb_const_unsigned_char_ptr;n_in++) {
   8867     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   8868         mem_base = xmlMemBlocks();
   8869         in = gen_const_unsigned_char_ptr(n_in, 0);
   8870         len = gen_int(n_len, 1);
   8871 
   8872         ret_val = xmlDetectCharEncoding((const unsigned char *)in, len);
   8873         desret_xmlCharEncoding(ret_val);
   8874         call_tests++;
   8875         des_const_unsigned_char_ptr(n_in, (const unsigned char *)in, 0);
   8876         des_int(n_len, len, 1);
   8877         xmlResetLastError();
   8878         if (mem_base != xmlMemBlocks()) {
   8879             printf("Leak of %d blocks found in xmlDetectCharEncoding",
   8880 	           xmlMemBlocks() - mem_base);
   8881 	    test_ret++;
   8882             printf(" %d", n_in);
   8883             printf(" %d", n_len);
   8884             printf("\n");
   8885         }
   8886     }
   8887     }
   8888     function_tests++;
   8889 
   8890     return(test_ret);
   8891 }
   8892 
   8893 
   8894 static int
   8895 test_xmlFindCharEncodingHandler(void) {
   8896     int test_ret = 0;
   8897 
   8898 
   8899     /* missing type support */
   8900     return(test_ret);
   8901 }
   8902 
   8903 
   8904 static int
   8905 test_xmlGetCharEncodingHandler(void) {
   8906     int test_ret = 0;
   8907 
   8908 
   8909     /* missing type support */
   8910     return(test_ret);
   8911 }
   8912 
   8913 
   8914 static int
   8915 test_xmlGetCharEncodingName(void) {
   8916     int test_ret = 0;
   8917 
   8918     int mem_base;
   8919     const char * ret_val;
   8920     xmlCharEncoding enc; /* the encoding */
   8921     int n_enc;
   8922 
   8923     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   8924         mem_base = xmlMemBlocks();
   8925         enc = gen_xmlCharEncoding(n_enc, 0);
   8926 
   8927         ret_val = xmlGetCharEncodingName(enc);
   8928         desret_const_char_ptr(ret_val);
   8929         call_tests++;
   8930         des_xmlCharEncoding(n_enc, enc, 0);
   8931         xmlResetLastError();
   8932         if (mem_base != xmlMemBlocks()) {
   8933             printf("Leak of %d blocks found in xmlGetCharEncodingName",
   8934 	           xmlMemBlocks() - mem_base);
   8935 	    test_ret++;
   8936             printf(" %d", n_enc);
   8937             printf("\n");
   8938         }
   8939     }
   8940     function_tests++;
   8941 
   8942     return(test_ret);
   8943 }
   8944 
   8945 
   8946 static int
   8947 test_xmlGetEncodingAlias(void) {
   8948     int test_ret = 0;
   8949 
   8950     int mem_base;
   8951     const char * ret_val;
   8952     char * alias; /* the alias name as parsed, in UTF-8 format (ASCII actually) */
   8953     int n_alias;
   8954 
   8955     for (n_alias = 0;n_alias < gen_nb_const_char_ptr;n_alias++) {
   8956         mem_base = xmlMemBlocks();
   8957         alias = gen_const_char_ptr(n_alias, 0);
   8958 
   8959         ret_val = xmlGetEncodingAlias((const char *)alias);
   8960         desret_const_char_ptr(ret_val);
   8961         call_tests++;
   8962         des_const_char_ptr(n_alias, (const char *)alias, 0);
   8963         xmlResetLastError();
   8964         if (mem_base != xmlMemBlocks()) {
   8965             printf("Leak of %d blocks found in xmlGetEncodingAlias",
   8966 	           xmlMemBlocks() - mem_base);
   8967 	    test_ret++;
   8968             printf(" %d", n_alias);
   8969             printf("\n");
   8970         }
   8971     }
   8972     function_tests++;
   8973 
   8974     return(test_ret);
   8975 }
   8976 
   8977 
   8978 static int
   8979 test_xmlInitCharEncodingHandlers(void) {
   8980     int test_ret = 0;
   8981 
   8982 
   8983 
   8984         xmlInitCharEncodingHandlers();
   8985         call_tests++;
   8986         xmlResetLastError();
   8987     function_tests++;
   8988 
   8989     return(test_ret);
   8990 }
   8991 
   8992 
   8993 static int
   8994 test_xmlNewCharEncodingHandler(void) {
   8995     int test_ret = 0;
   8996 
   8997 
   8998     /* missing type support */
   8999     return(test_ret);
   9000 }
   9001 
   9002 
   9003 static int
   9004 test_xmlParseCharEncoding(void) {
   9005     int test_ret = 0;
   9006 
   9007     int mem_base;
   9008     xmlCharEncoding ret_val;
   9009     char * name; /* the encoding name as parsed, in UTF-8 format (ASCII actually) */
   9010     int n_name;
   9011 
   9012     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
   9013         mem_base = xmlMemBlocks();
   9014         name = gen_const_char_ptr(n_name, 0);
   9015 
   9016         ret_val = xmlParseCharEncoding((const char *)name);
   9017         desret_xmlCharEncoding(ret_val);
   9018         call_tests++;
   9019         des_const_char_ptr(n_name, (const char *)name, 0);
   9020         xmlResetLastError();
   9021         if (mem_base != xmlMemBlocks()) {
   9022             printf("Leak of %d blocks found in xmlParseCharEncoding",
   9023 	           xmlMemBlocks() - mem_base);
   9024 	    test_ret++;
   9025             printf(" %d", n_name);
   9026             printf("\n");
   9027         }
   9028     }
   9029     function_tests++;
   9030 
   9031     return(test_ret);
   9032 }
   9033 
   9034 
   9035 #define gen_nb_xmlCharEncodingHandlerPtr 1
   9036 static xmlCharEncodingHandlerPtr gen_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   9037     return(NULL);
   9038 }
   9039 static void des_xmlCharEncodingHandlerPtr(int no ATTRIBUTE_UNUSED, xmlCharEncodingHandlerPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   9040 }
   9041 
   9042 static int
   9043 test_xmlRegisterCharEncodingHandler(void) {
   9044     int test_ret = 0;
   9045 
   9046     int mem_base;
   9047     xmlCharEncodingHandlerPtr handler; /* the xmlCharEncodingHandlerPtr handler block */
   9048     int n_handler;
   9049 
   9050     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
   9051         mem_base = xmlMemBlocks();
   9052         handler = gen_xmlCharEncodingHandlerPtr(n_handler, 0);
   9053 
   9054         xmlRegisterCharEncodingHandler(handler);
   9055         call_tests++;
   9056         des_xmlCharEncodingHandlerPtr(n_handler, handler, 0);
   9057         xmlResetLastError();
   9058         if (mem_base != xmlMemBlocks()) {
   9059             printf("Leak of %d blocks found in xmlRegisterCharEncodingHandler",
   9060 	           xmlMemBlocks() - mem_base);
   9061 	    test_ret++;
   9062             printf(" %d", n_handler);
   9063             printf("\n");
   9064         }
   9065     }
   9066     function_tests++;
   9067 
   9068     return(test_ret);
   9069 }
   9070 
   9071 static int
   9072 test_encoding(void) {
   9073     int test_ret = 0;
   9074 
   9075     if (quiet == 0) printf("Testing encoding : 16 of 19 functions ...\n");
   9076     test_ret += test_UTF8Toisolat1();
   9077     test_ret += test_isolat1ToUTF8();
   9078     test_ret += test_xmlAddEncodingAlias();
   9079     test_ret += test_xmlCharEncCloseFunc();
   9080     test_ret += test_xmlCharEncFirstLine();
   9081     test_ret += test_xmlCharEncInFunc();
   9082     test_ret += test_xmlCharEncOutFunc();
   9083     test_ret += test_xmlCleanupCharEncodingHandlers();
   9084     test_ret += test_xmlCleanupEncodingAliases();
   9085     test_ret += test_xmlDelEncodingAlias();
   9086     test_ret += test_xmlDetectCharEncoding();
   9087     test_ret += test_xmlFindCharEncodingHandler();
   9088     test_ret += test_xmlGetCharEncodingHandler();
   9089     test_ret += test_xmlGetCharEncodingName();
   9090     test_ret += test_xmlGetEncodingAlias();
   9091     test_ret += test_xmlInitCharEncodingHandlers();
   9092     test_ret += test_xmlNewCharEncodingHandler();
   9093     test_ret += test_xmlParseCharEncoding();
   9094     test_ret += test_xmlRegisterCharEncodingHandler();
   9095 
   9096     if (test_ret != 0)
   9097 	printf("Module encoding: %d errors\n", test_ret);
   9098     return(test_ret);
   9099 }
   9100 
   9101 static int
   9102 test_xmlAddDocEntity(void) {
   9103     int test_ret = 0;
   9104 
   9105     int mem_base;
   9106     xmlEntityPtr ret_val;
   9107     xmlDocPtr doc; /* the document */
   9108     int n_doc;
   9109     xmlChar * name; /* the entity name */
   9110     int n_name;
   9111     int type; /* the entity type XML_xxx_yyy_ENTITY */
   9112     int n_type;
   9113     xmlChar * ExternalID; /* the entity external ID if available */
   9114     int n_ExternalID;
   9115     xmlChar * SystemID; /* the entity system ID if available */
   9116     int n_SystemID;
   9117     xmlChar * content; /* the entity content */
   9118     int n_content;
   9119 
   9120     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9121     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9122     for (n_type = 0;n_type < gen_nb_int;n_type++) {
   9123     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   9124     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   9125     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   9126         mem_base = xmlMemBlocks();
   9127         doc = gen_xmlDocPtr(n_doc, 0);
   9128         name = gen_const_xmlChar_ptr(n_name, 1);
   9129         type = gen_int(n_type, 2);
   9130         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
   9131         SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
   9132         content = gen_const_xmlChar_ptr(n_content, 5);
   9133 
   9134         ret_val = xmlAddDocEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
   9135         desret_xmlEntityPtr(ret_val);
   9136         call_tests++;
   9137         des_xmlDocPtr(n_doc, doc, 0);
   9138         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9139         des_int(n_type, type, 2);
   9140         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
   9141         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
   9142         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
   9143         xmlResetLastError();
   9144         if (mem_base != xmlMemBlocks()) {
   9145             printf("Leak of %d blocks found in xmlAddDocEntity",
   9146 	           xmlMemBlocks() - mem_base);
   9147 	    test_ret++;
   9148             printf(" %d", n_doc);
   9149             printf(" %d", n_name);
   9150             printf(" %d", n_type);
   9151             printf(" %d", n_ExternalID);
   9152             printf(" %d", n_SystemID);
   9153             printf(" %d", n_content);
   9154             printf("\n");
   9155         }
   9156     }
   9157     }
   9158     }
   9159     }
   9160     }
   9161     }
   9162     function_tests++;
   9163 
   9164     return(test_ret);
   9165 }
   9166 
   9167 
   9168 static int
   9169 test_xmlAddDtdEntity(void) {
   9170     int test_ret = 0;
   9171 
   9172     int mem_base;
   9173     xmlEntityPtr ret_val;
   9174     xmlDocPtr doc; /* the document */
   9175     int n_doc;
   9176     xmlChar * name; /* the entity name */
   9177     int n_name;
   9178     int type; /* the entity type XML_xxx_yyy_ENTITY */
   9179     int n_type;
   9180     xmlChar * ExternalID; /* the entity external ID if available */
   9181     int n_ExternalID;
   9182     xmlChar * SystemID; /* the entity system ID if available */
   9183     int n_SystemID;
   9184     xmlChar * content; /* the entity content */
   9185     int n_content;
   9186 
   9187     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9188     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9189     for (n_type = 0;n_type < gen_nb_int;n_type++) {
   9190     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   9191     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   9192     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   9193         mem_base = xmlMemBlocks();
   9194         doc = gen_xmlDocPtr(n_doc, 0);
   9195         name = gen_const_xmlChar_ptr(n_name, 1);
   9196         type = gen_int(n_type, 2);
   9197         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
   9198         SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
   9199         content = gen_const_xmlChar_ptr(n_content, 5);
   9200 
   9201         ret_val = xmlAddDtdEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
   9202         desret_xmlEntityPtr(ret_val);
   9203         call_tests++;
   9204         des_xmlDocPtr(n_doc, doc, 0);
   9205         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9206         des_int(n_type, type, 2);
   9207         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
   9208         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
   9209         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
   9210         xmlResetLastError();
   9211         if (mem_base != xmlMemBlocks()) {
   9212             printf("Leak of %d blocks found in xmlAddDtdEntity",
   9213 	           xmlMemBlocks() - mem_base);
   9214 	    test_ret++;
   9215             printf(" %d", n_doc);
   9216             printf(" %d", n_name);
   9217             printf(" %d", n_type);
   9218             printf(" %d", n_ExternalID);
   9219             printf(" %d", n_SystemID);
   9220             printf(" %d", n_content);
   9221             printf("\n");
   9222         }
   9223     }
   9224     }
   9225     }
   9226     }
   9227     }
   9228     }
   9229     function_tests++;
   9230 
   9231     return(test_ret);
   9232 }
   9233 
   9234 
   9235 static int
   9236 test_xmlCleanupPredefinedEntities(void) {
   9237     int test_ret = 0;
   9238 
   9239 #if defined(LIBXML_LEGACY_ENABLED)
   9240 #ifdef LIBXML_LEGACY_ENABLED
   9241     int mem_base;
   9242 
   9243         mem_base = xmlMemBlocks();
   9244 
   9245         xmlCleanupPredefinedEntities();
   9246         call_tests++;
   9247         xmlResetLastError();
   9248         if (mem_base != xmlMemBlocks()) {
   9249             printf("Leak of %d blocks found in xmlCleanupPredefinedEntities",
   9250 	           xmlMemBlocks() - mem_base);
   9251 	    test_ret++;
   9252             printf("\n");
   9253         }
   9254     function_tests++;
   9255 #endif
   9256 #endif
   9257 
   9258     return(test_ret);
   9259 }
   9260 
   9261 
   9262 #define gen_nb_xmlEntitiesTablePtr 1
   9263 static xmlEntitiesTablePtr gen_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   9264     return(NULL);
   9265 }
   9266 static void des_xmlEntitiesTablePtr(int no ATTRIBUTE_UNUSED, xmlEntitiesTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   9267 }
   9268 
   9269 static int
   9270 test_xmlCopyEntitiesTable(void) {
   9271     int test_ret = 0;
   9272 
   9273 
   9274     /* missing type support */
   9275     return(test_ret);
   9276 }
   9277 
   9278 
   9279 static int
   9280 test_xmlCreateEntitiesTable(void) {
   9281     int test_ret = 0;
   9282 
   9283 
   9284     /* missing type support */
   9285     return(test_ret);
   9286 }
   9287 
   9288 
   9289 static int
   9290 test_xmlDumpEntitiesTable(void) {
   9291     int test_ret = 0;
   9292 
   9293 #if defined(LIBXML_OUTPUT_ENABLED)
   9294     int mem_base;
   9295     xmlBufferPtr buf; /* An XML buffer. */
   9296     int n_buf;
   9297     xmlEntitiesTablePtr table; /* An entity table */
   9298     int n_table;
   9299 
   9300     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   9301     for (n_table = 0;n_table < gen_nb_xmlEntitiesTablePtr;n_table++) {
   9302         mem_base = xmlMemBlocks();
   9303         buf = gen_xmlBufferPtr(n_buf, 0);
   9304         table = gen_xmlEntitiesTablePtr(n_table, 1);
   9305 
   9306         xmlDumpEntitiesTable(buf, table);
   9307         call_tests++;
   9308         des_xmlBufferPtr(n_buf, buf, 0);
   9309         des_xmlEntitiesTablePtr(n_table, table, 1);
   9310         xmlResetLastError();
   9311         if (mem_base != xmlMemBlocks()) {
   9312             printf("Leak of %d blocks found in xmlDumpEntitiesTable",
   9313 	           xmlMemBlocks() - mem_base);
   9314 	    test_ret++;
   9315             printf(" %d", n_buf);
   9316             printf(" %d", n_table);
   9317             printf("\n");
   9318         }
   9319     }
   9320     }
   9321     function_tests++;
   9322 #endif
   9323 
   9324     return(test_ret);
   9325 }
   9326 
   9327 
   9328 #define gen_nb_xmlEntityPtr 1
   9329 static xmlEntityPtr gen_xmlEntityPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   9330     return(NULL);
   9331 }
   9332 static void des_xmlEntityPtr(int no ATTRIBUTE_UNUSED, xmlEntityPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   9333 }
   9334 
   9335 static int
   9336 test_xmlDumpEntityDecl(void) {
   9337     int test_ret = 0;
   9338 
   9339 #if defined(LIBXML_OUTPUT_ENABLED)
   9340     int mem_base;
   9341     xmlBufferPtr buf; /* An XML buffer. */
   9342     int n_buf;
   9343     xmlEntityPtr ent; /* An entity table */
   9344     int n_ent;
   9345 
   9346     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   9347     for (n_ent = 0;n_ent < gen_nb_xmlEntityPtr;n_ent++) {
   9348         mem_base = xmlMemBlocks();
   9349         buf = gen_xmlBufferPtr(n_buf, 0);
   9350         ent = gen_xmlEntityPtr(n_ent, 1);
   9351 
   9352         xmlDumpEntityDecl(buf, ent);
   9353         call_tests++;
   9354         des_xmlBufferPtr(n_buf, buf, 0);
   9355         des_xmlEntityPtr(n_ent, ent, 1);
   9356         xmlResetLastError();
   9357         if (mem_base != xmlMemBlocks()) {
   9358             printf("Leak of %d blocks found in xmlDumpEntityDecl",
   9359 	           xmlMemBlocks() - mem_base);
   9360 	    test_ret++;
   9361             printf(" %d", n_buf);
   9362             printf(" %d", n_ent);
   9363             printf("\n");
   9364         }
   9365     }
   9366     }
   9367     function_tests++;
   9368 #endif
   9369 
   9370     return(test_ret);
   9371 }
   9372 
   9373 
   9374 static int
   9375 test_xmlEncodeEntitiesReentrant(void) {
   9376     int test_ret = 0;
   9377 
   9378     int mem_base;
   9379     xmlChar * ret_val;
   9380     xmlDocPtr doc; /* the document containing the string */
   9381     int n_doc;
   9382     xmlChar * input; /* A string to convert to XML. */
   9383     int n_input;
   9384 
   9385     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9386     for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
   9387         mem_base = xmlMemBlocks();
   9388         doc = gen_xmlDocPtr(n_doc, 0);
   9389         input = gen_const_xmlChar_ptr(n_input, 1);
   9390 
   9391         ret_val = xmlEncodeEntitiesReentrant(doc, (const xmlChar *)input);
   9392         desret_xmlChar_ptr(ret_val);
   9393         call_tests++;
   9394         des_xmlDocPtr(n_doc, doc, 0);
   9395         des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
   9396         xmlResetLastError();
   9397         if (mem_base != xmlMemBlocks()) {
   9398             printf("Leak of %d blocks found in xmlEncodeEntitiesReentrant",
   9399 	           xmlMemBlocks() - mem_base);
   9400 	    test_ret++;
   9401             printf(" %d", n_doc);
   9402             printf(" %d", n_input);
   9403             printf("\n");
   9404         }
   9405     }
   9406     }
   9407     function_tests++;
   9408 
   9409     return(test_ret);
   9410 }
   9411 
   9412 
   9413 static int
   9414 test_xmlEncodeSpecialChars(void) {
   9415     int test_ret = 0;
   9416 
   9417     int mem_base;
   9418     xmlChar * ret_val;
   9419     xmlDocPtr doc; /* the document containing the string */
   9420     int n_doc;
   9421     xmlChar * input; /* A string to convert to XML. */
   9422     int n_input;
   9423 
   9424     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9425     for (n_input = 0;n_input < gen_nb_const_xmlChar_ptr;n_input++) {
   9426         mem_base = xmlMemBlocks();
   9427         doc = gen_xmlDocPtr(n_doc, 0);
   9428         input = gen_const_xmlChar_ptr(n_input, 1);
   9429 
   9430         ret_val = xmlEncodeSpecialChars(doc, (const xmlChar *)input);
   9431         desret_xmlChar_ptr(ret_val);
   9432         call_tests++;
   9433         des_xmlDocPtr(n_doc, doc, 0);
   9434         des_const_xmlChar_ptr(n_input, (const xmlChar *)input, 1);
   9435         xmlResetLastError();
   9436         if (mem_base != xmlMemBlocks()) {
   9437             printf("Leak of %d blocks found in xmlEncodeSpecialChars",
   9438 	           xmlMemBlocks() - mem_base);
   9439 	    test_ret++;
   9440             printf(" %d", n_doc);
   9441             printf(" %d", n_input);
   9442             printf("\n");
   9443         }
   9444     }
   9445     }
   9446     function_tests++;
   9447 
   9448     return(test_ret);
   9449 }
   9450 
   9451 
   9452 static int
   9453 test_xmlGetDocEntity(void) {
   9454     int test_ret = 0;
   9455 
   9456     int mem_base;
   9457     xmlEntityPtr ret_val;
   9458     xmlDocPtr doc; /* the document referencing the entity */
   9459     int n_doc;
   9460     xmlChar * name; /* the entity name */
   9461     int n_name;
   9462 
   9463     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9464     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9465         mem_base = xmlMemBlocks();
   9466         doc = gen_xmlDocPtr(n_doc, 0);
   9467         name = gen_const_xmlChar_ptr(n_name, 1);
   9468 
   9469         ret_val = xmlGetDocEntity(doc, (const xmlChar *)name);
   9470         desret_xmlEntityPtr(ret_val);
   9471         call_tests++;
   9472         des_xmlDocPtr(n_doc, doc, 0);
   9473         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9474         xmlResetLastError();
   9475         if (mem_base != xmlMemBlocks()) {
   9476             printf("Leak of %d blocks found in xmlGetDocEntity",
   9477 	           xmlMemBlocks() - mem_base);
   9478 	    test_ret++;
   9479             printf(" %d", n_doc);
   9480             printf(" %d", n_name);
   9481             printf("\n");
   9482         }
   9483     }
   9484     }
   9485     function_tests++;
   9486 
   9487     return(test_ret);
   9488 }
   9489 
   9490 
   9491 static int
   9492 test_xmlGetDtdEntity(void) {
   9493     int test_ret = 0;
   9494 
   9495     int mem_base;
   9496     xmlEntityPtr ret_val;
   9497     xmlDocPtr doc; /* the document referencing the entity */
   9498     int n_doc;
   9499     xmlChar * name; /* the entity name */
   9500     int n_name;
   9501 
   9502     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9503     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9504         mem_base = xmlMemBlocks();
   9505         doc = gen_xmlDocPtr(n_doc, 0);
   9506         name = gen_const_xmlChar_ptr(n_name, 1);
   9507 
   9508         ret_val = xmlGetDtdEntity(doc, (const xmlChar *)name);
   9509         desret_xmlEntityPtr(ret_val);
   9510         call_tests++;
   9511         des_xmlDocPtr(n_doc, doc, 0);
   9512         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9513         xmlResetLastError();
   9514         if (mem_base != xmlMemBlocks()) {
   9515             printf("Leak of %d blocks found in xmlGetDtdEntity",
   9516 	           xmlMemBlocks() - mem_base);
   9517 	    test_ret++;
   9518             printf(" %d", n_doc);
   9519             printf(" %d", n_name);
   9520             printf("\n");
   9521         }
   9522     }
   9523     }
   9524     function_tests++;
   9525 
   9526     return(test_ret);
   9527 }
   9528 
   9529 
   9530 static int
   9531 test_xmlGetParameterEntity(void) {
   9532     int test_ret = 0;
   9533 
   9534     int mem_base;
   9535     xmlEntityPtr ret_val;
   9536     xmlDocPtr doc; /* the document referencing the entity */
   9537     int n_doc;
   9538     xmlChar * name; /* the entity name */
   9539     int n_name;
   9540 
   9541     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9542     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9543         mem_base = xmlMemBlocks();
   9544         doc = gen_xmlDocPtr(n_doc, 0);
   9545         name = gen_const_xmlChar_ptr(n_name, 1);
   9546 
   9547         ret_val = xmlGetParameterEntity(doc, (const xmlChar *)name);
   9548         desret_xmlEntityPtr(ret_val);
   9549         call_tests++;
   9550         des_xmlDocPtr(n_doc, doc, 0);
   9551         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9552         xmlResetLastError();
   9553         if (mem_base != xmlMemBlocks()) {
   9554             printf("Leak of %d blocks found in xmlGetParameterEntity",
   9555 	           xmlMemBlocks() - mem_base);
   9556 	    test_ret++;
   9557             printf(" %d", n_doc);
   9558             printf(" %d", n_name);
   9559             printf("\n");
   9560         }
   9561     }
   9562     }
   9563     function_tests++;
   9564 
   9565     return(test_ret);
   9566 }
   9567 
   9568 
   9569 static int
   9570 test_xmlGetPredefinedEntity(void) {
   9571     int test_ret = 0;
   9572 
   9573     int mem_base;
   9574     xmlEntityPtr ret_val;
   9575     xmlChar * name; /* the entity name */
   9576     int n_name;
   9577 
   9578     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9579         mem_base = xmlMemBlocks();
   9580         name = gen_const_xmlChar_ptr(n_name, 0);
   9581 
   9582         ret_val = xmlGetPredefinedEntity((const xmlChar *)name);
   9583         desret_xmlEntityPtr(ret_val);
   9584         call_tests++;
   9585         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   9586         xmlResetLastError();
   9587         if (mem_base != xmlMemBlocks()) {
   9588             printf("Leak of %d blocks found in xmlGetPredefinedEntity",
   9589 	           xmlMemBlocks() - mem_base);
   9590 	    test_ret++;
   9591             printf(" %d", n_name);
   9592             printf("\n");
   9593         }
   9594     }
   9595     function_tests++;
   9596 
   9597     return(test_ret);
   9598 }
   9599 
   9600 
   9601 static int
   9602 test_xmlInitializePredefinedEntities(void) {
   9603     int test_ret = 0;
   9604 
   9605 #if defined(LIBXML_LEGACY_ENABLED)
   9606 #ifdef LIBXML_LEGACY_ENABLED
   9607     int mem_base;
   9608 
   9609         mem_base = xmlMemBlocks();
   9610 
   9611         xmlInitializePredefinedEntities();
   9612         call_tests++;
   9613         xmlResetLastError();
   9614         if (mem_base != xmlMemBlocks()) {
   9615             printf("Leak of %d blocks found in xmlInitializePredefinedEntities",
   9616 	           xmlMemBlocks() - mem_base);
   9617 	    test_ret++;
   9618             printf("\n");
   9619         }
   9620     function_tests++;
   9621 #endif
   9622 #endif
   9623 
   9624     return(test_ret);
   9625 }
   9626 
   9627 
   9628 static int
   9629 test_xmlNewEntity(void) {
   9630     int test_ret = 0;
   9631 
   9632     int mem_base;
   9633     xmlEntityPtr ret_val;
   9634     xmlDocPtr doc; /* the document */
   9635     int n_doc;
   9636     xmlChar * name; /* the entity name */
   9637     int n_name;
   9638     int type; /* the entity type XML_xxx_yyy_ENTITY */
   9639     int n_type;
   9640     xmlChar * ExternalID; /* the entity external ID if available */
   9641     int n_ExternalID;
   9642     xmlChar * SystemID; /* the entity system ID if available */
   9643     int n_SystemID;
   9644     xmlChar * content; /* the entity content */
   9645     int n_content;
   9646 
   9647     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   9648     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9649     for (n_type = 0;n_type < gen_nb_int;n_type++) {
   9650     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   9651     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   9652     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   9653         mem_base = xmlMemBlocks();
   9654         doc = gen_xmlDocPtr(n_doc, 0);
   9655         name = gen_const_xmlChar_ptr(n_name, 1);
   9656         type = gen_int(n_type, 2);
   9657         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 3);
   9658         SystemID = gen_const_xmlChar_ptr(n_SystemID, 4);
   9659         content = gen_const_xmlChar_ptr(n_content, 5);
   9660 
   9661         ret_val = xmlNewEntity(doc, (const xmlChar *)name, type, (const xmlChar *)ExternalID, (const xmlChar *)SystemID, (const xmlChar *)content);
   9662         desret_xmlEntityPtr(ret_val);
   9663         call_tests++;
   9664         des_xmlDocPtr(n_doc, doc, 0);
   9665         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9666         des_int(n_type, type, 2);
   9667         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 3);
   9668         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 4);
   9669         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 5);
   9670         xmlResetLastError();
   9671         if (mem_base != xmlMemBlocks()) {
   9672             printf("Leak of %d blocks found in xmlNewEntity",
   9673 	           xmlMemBlocks() - mem_base);
   9674 	    test_ret++;
   9675             printf(" %d", n_doc);
   9676             printf(" %d", n_name);
   9677             printf(" %d", n_type);
   9678             printf(" %d", n_ExternalID);
   9679             printf(" %d", n_SystemID);
   9680             printf(" %d", n_content);
   9681             printf("\n");
   9682         }
   9683     }
   9684     }
   9685     }
   9686     }
   9687     }
   9688     }
   9689     function_tests++;
   9690 
   9691     return(test_ret);
   9692 }
   9693 
   9694 static int
   9695 test_entities(void) {
   9696     int test_ret = 0;
   9697 
   9698     if (quiet == 0) printf("Testing entities : 13 of 17 functions ...\n");
   9699     test_ret += test_xmlAddDocEntity();
   9700     test_ret += test_xmlAddDtdEntity();
   9701     test_ret += test_xmlCleanupPredefinedEntities();
   9702     test_ret += test_xmlCopyEntitiesTable();
   9703     test_ret += test_xmlCreateEntitiesTable();
   9704     test_ret += test_xmlDumpEntitiesTable();
   9705     test_ret += test_xmlDumpEntityDecl();
   9706     test_ret += test_xmlEncodeEntitiesReentrant();
   9707     test_ret += test_xmlEncodeSpecialChars();
   9708     test_ret += test_xmlGetDocEntity();
   9709     test_ret += test_xmlGetDtdEntity();
   9710     test_ret += test_xmlGetParameterEntity();
   9711     test_ret += test_xmlGetPredefinedEntity();
   9712     test_ret += test_xmlInitializePredefinedEntities();
   9713     test_ret += test_xmlNewEntity();
   9714 
   9715     if (test_ret != 0)
   9716 	printf("Module entities: %d errors\n", test_ret);
   9717     return(test_ret);
   9718 }
   9719 
   9720 static int
   9721 test_xmlHashAddEntry(void) {
   9722     int test_ret = 0;
   9723 
   9724     int mem_base;
   9725     int ret_val;
   9726     xmlHashTablePtr table; /* the hash table */
   9727     int n_table;
   9728     xmlChar * name; /* the name of the userdata */
   9729     int n_name;
   9730     void * userdata; /* a pointer to the userdata */
   9731     int n_userdata;
   9732 
   9733     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   9734     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9735     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
   9736         mem_base = xmlMemBlocks();
   9737         table = gen_xmlHashTablePtr(n_table, 0);
   9738         name = gen_const_xmlChar_ptr(n_name, 1);
   9739         userdata = gen_userdata(n_userdata, 2);
   9740 
   9741         ret_val = xmlHashAddEntry(table, (const xmlChar *)name, userdata);
   9742         desret_int(ret_val);
   9743         call_tests++;
   9744         des_xmlHashTablePtr(n_table, table, 0);
   9745         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9746         des_userdata(n_userdata, userdata, 2);
   9747         xmlResetLastError();
   9748         if (mem_base != xmlMemBlocks()) {
   9749             printf("Leak of %d blocks found in xmlHashAddEntry",
   9750 	           xmlMemBlocks() - mem_base);
   9751 	    test_ret++;
   9752             printf(" %d", n_table);
   9753             printf(" %d", n_name);
   9754             printf(" %d", n_userdata);
   9755             printf("\n");
   9756         }
   9757     }
   9758     }
   9759     }
   9760     function_tests++;
   9761 
   9762     return(test_ret);
   9763 }
   9764 
   9765 
   9766 static int
   9767 test_xmlHashAddEntry2(void) {
   9768     int test_ret = 0;
   9769 
   9770     int mem_base;
   9771     int ret_val;
   9772     xmlHashTablePtr table; /* the hash table */
   9773     int n_table;
   9774     xmlChar * name; /* the name of the userdata */
   9775     int n_name;
   9776     xmlChar * name2; /* a second name of the userdata */
   9777     int n_name2;
   9778     void * userdata; /* a pointer to the userdata */
   9779     int n_userdata;
   9780 
   9781     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   9782     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9783     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   9784     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
   9785         mem_base = xmlMemBlocks();
   9786         table = gen_xmlHashTablePtr(n_table, 0);
   9787         name = gen_const_xmlChar_ptr(n_name, 1);
   9788         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   9789         userdata = gen_userdata(n_userdata, 3);
   9790 
   9791         ret_val = xmlHashAddEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata);
   9792         desret_int(ret_val);
   9793         call_tests++;
   9794         des_xmlHashTablePtr(n_table, table, 0);
   9795         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9796         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   9797         des_userdata(n_userdata, userdata, 3);
   9798         xmlResetLastError();
   9799         if (mem_base != xmlMemBlocks()) {
   9800             printf("Leak of %d blocks found in xmlHashAddEntry2",
   9801 	           xmlMemBlocks() - mem_base);
   9802 	    test_ret++;
   9803             printf(" %d", n_table);
   9804             printf(" %d", n_name);
   9805             printf(" %d", n_name2);
   9806             printf(" %d", n_userdata);
   9807             printf("\n");
   9808         }
   9809     }
   9810     }
   9811     }
   9812     }
   9813     function_tests++;
   9814 
   9815     return(test_ret);
   9816 }
   9817 
   9818 
   9819 static int
   9820 test_xmlHashAddEntry3(void) {
   9821     int test_ret = 0;
   9822 
   9823     int mem_base;
   9824     int ret_val;
   9825     xmlHashTablePtr table; /* the hash table */
   9826     int n_table;
   9827     xmlChar * name; /* the name of the userdata */
   9828     int n_name;
   9829     xmlChar * name2; /* a second name of the userdata */
   9830     int n_name2;
   9831     xmlChar * name3; /* a third name of the userdata */
   9832     int n_name3;
   9833     void * userdata; /* a pointer to the userdata */
   9834     int n_userdata;
   9835 
   9836     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   9837     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9838     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   9839     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
   9840     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
   9841         mem_base = xmlMemBlocks();
   9842         table = gen_xmlHashTablePtr(n_table, 0);
   9843         name = gen_const_xmlChar_ptr(n_name, 1);
   9844         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   9845         name3 = gen_const_xmlChar_ptr(n_name3, 3);
   9846         userdata = gen_userdata(n_userdata, 4);
   9847 
   9848         ret_val = xmlHashAddEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata);
   9849         desret_int(ret_val);
   9850         call_tests++;
   9851         des_xmlHashTablePtr(n_table, table, 0);
   9852         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9853         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   9854         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
   9855         des_userdata(n_userdata, userdata, 4);
   9856         xmlResetLastError();
   9857         if (mem_base != xmlMemBlocks()) {
   9858             printf("Leak of %d blocks found in xmlHashAddEntry3",
   9859 	           xmlMemBlocks() - mem_base);
   9860 	    test_ret++;
   9861             printf(" %d", n_table);
   9862             printf(" %d", n_name);
   9863             printf(" %d", n_name2);
   9864             printf(" %d", n_name3);
   9865             printf(" %d", n_userdata);
   9866             printf("\n");
   9867         }
   9868     }
   9869     }
   9870     }
   9871     }
   9872     }
   9873     function_tests++;
   9874 
   9875     return(test_ret);
   9876 }
   9877 
   9878 
   9879 static int
   9880 test_xmlHashCopy(void) {
   9881     int test_ret = 0;
   9882 
   9883 
   9884     /* missing type support */
   9885     return(test_ret);
   9886 }
   9887 
   9888 
   9889 static int
   9890 test_xmlHashCreate(void) {
   9891     int test_ret = 0;
   9892 
   9893 
   9894     /* missing type support */
   9895     return(test_ret);
   9896 }
   9897 
   9898 
   9899 static int
   9900 test_xmlHashCreateDict(void) {
   9901     int test_ret = 0;
   9902 
   9903 
   9904     /* missing type support */
   9905     return(test_ret);
   9906 }
   9907 
   9908 
   9909 static int
   9910 test_xmlHashLookup(void) {
   9911     int test_ret = 0;
   9912 
   9913     int mem_base;
   9914     void * ret_val;
   9915     xmlHashTablePtr table; /* the hash table */
   9916     int n_table;
   9917     xmlChar * name; /* the name of the userdata */
   9918     int n_name;
   9919 
   9920     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   9921     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9922         mem_base = xmlMemBlocks();
   9923         table = gen_xmlHashTablePtr(n_table, 0);
   9924         name = gen_const_xmlChar_ptr(n_name, 1);
   9925 
   9926         ret_val = xmlHashLookup(table, (const xmlChar *)name);
   9927         desret_void_ptr(ret_val);
   9928         call_tests++;
   9929         des_xmlHashTablePtr(n_table, table, 0);
   9930         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9931         xmlResetLastError();
   9932         if (mem_base != xmlMemBlocks()) {
   9933             printf("Leak of %d blocks found in xmlHashLookup",
   9934 	           xmlMemBlocks() - mem_base);
   9935 	    test_ret++;
   9936             printf(" %d", n_table);
   9937             printf(" %d", n_name);
   9938             printf("\n");
   9939         }
   9940     }
   9941     }
   9942     function_tests++;
   9943 
   9944     return(test_ret);
   9945 }
   9946 
   9947 
   9948 static int
   9949 test_xmlHashLookup2(void) {
   9950     int test_ret = 0;
   9951 
   9952     int mem_base;
   9953     void * ret_val;
   9954     xmlHashTablePtr table; /* the hash table */
   9955     int n_table;
   9956     xmlChar * name; /* the name of the userdata */
   9957     int n_name;
   9958     xmlChar * name2; /* a second name of the userdata */
   9959     int n_name2;
   9960 
   9961     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   9962     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   9963     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   9964         mem_base = xmlMemBlocks();
   9965         table = gen_xmlHashTablePtr(n_table, 0);
   9966         name = gen_const_xmlChar_ptr(n_name, 1);
   9967         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   9968 
   9969         ret_val = xmlHashLookup2(table, (const xmlChar *)name, (const xmlChar *)name2);
   9970         desret_void_ptr(ret_val);
   9971         call_tests++;
   9972         des_xmlHashTablePtr(n_table, table, 0);
   9973         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   9974         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   9975         xmlResetLastError();
   9976         if (mem_base != xmlMemBlocks()) {
   9977             printf("Leak of %d blocks found in xmlHashLookup2",
   9978 	           xmlMemBlocks() - mem_base);
   9979 	    test_ret++;
   9980             printf(" %d", n_table);
   9981             printf(" %d", n_name);
   9982             printf(" %d", n_name2);
   9983             printf("\n");
   9984         }
   9985     }
   9986     }
   9987     }
   9988     function_tests++;
   9989 
   9990     return(test_ret);
   9991 }
   9992 
   9993 
   9994 static int
   9995 test_xmlHashLookup3(void) {
   9996     int test_ret = 0;
   9997 
   9998     int mem_base;
   9999     void * ret_val;
   10000     xmlHashTablePtr table; /* the hash table */
   10001     int n_table;
   10002     xmlChar * name; /* the name of the userdata */
   10003     int n_name;
   10004     xmlChar * name2; /* a second name of the userdata */
   10005     int n_name2;
   10006     xmlChar * name3; /* a third name of the userdata */
   10007     int n_name3;
   10008 
   10009     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10010     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10011     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   10012     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
   10013         mem_base = xmlMemBlocks();
   10014         table = gen_xmlHashTablePtr(n_table, 0);
   10015         name = gen_const_xmlChar_ptr(n_name, 1);
   10016         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   10017         name3 = gen_const_xmlChar_ptr(n_name3, 3);
   10018 
   10019         ret_val = xmlHashLookup3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3);
   10020         desret_void_ptr(ret_val);
   10021         call_tests++;
   10022         des_xmlHashTablePtr(n_table, table, 0);
   10023         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   10024         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   10025         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
   10026         xmlResetLastError();
   10027         if (mem_base != xmlMemBlocks()) {
   10028             printf("Leak of %d blocks found in xmlHashLookup3",
   10029 	           xmlMemBlocks() - mem_base);
   10030 	    test_ret++;
   10031             printf(" %d", n_table);
   10032             printf(" %d", n_name);
   10033             printf(" %d", n_name2);
   10034             printf(" %d", n_name3);
   10035             printf("\n");
   10036         }
   10037     }
   10038     }
   10039     }
   10040     }
   10041     function_tests++;
   10042 
   10043     return(test_ret);
   10044 }
   10045 
   10046 
   10047 static int
   10048 test_xmlHashQLookup(void) {
   10049     int test_ret = 0;
   10050 
   10051     int mem_base;
   10052     void * ret_val;
   10053     xmlHashTablePtr table; /* the hash table */
   10054     int n_table;
   10055     xmlChar * prefix; /* the prefix of the userdata */
   10056     int n_prefix;
   10057     xmlChar * name; /* the name of the userdata */
   10058     int n_name;
   10059 
   10060     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10061     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   10062     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10063         mem_base = xmlMemBlocks();
   10064         table = gen_xmlHashTablePtr(n_table, 0);
   10065         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   10066         name = gen_const_xmlChar_ptr(n_name, 2);
   10067 
   10068         ret_val = xmlHashQLookup(table, (const xmlChar *)prefix, (const xmlChar *)name);
   10069         desret_void_ptr(ret_val);
   10070         call_tests++;
   10071         des_xmlHashTablePtr(n_table, table, 0);
   10072         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   10073         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   10074         xmlResetLastError();
   10075         if (mem_base != xmlMemBlocks()) {
   10076             printf("Leak of %d blocks found in xmlHashQLookup",
   10077 	           xmlMemBlocks() - mem_base);
   10078 	    test_ret++;
   10079             printf(" %d", n_table);
   10080             printf(" %d", n_prefix);
   10081             printf(" %d", n_name);
   10082             printf("\n");
   10083         }
   10084     }
   10085     }
   10086     }
   10087     function_tests++;
   10088 
   10089     return(test_ret);
   10090 }
   10091 
   10092 
   10093 static int
   10094 test_xmlHashQLookup2(void) {
   10095     int test_ret = 0;
   10096 
   10097     int mem_base;
   10098     void * ret_val;
   10099     xmlHashTablePtr table; /* the hash table */
   10100     int n_table;
   10101     xmlChar * prefix; /* the prefix of the userdata */
   10102     int n_prefix;
   10103     xmlChar * name; /* the name of the userdata */
   10104     int n_name;
   10105     xmlChar * prefix2; /* the second prefix of the userdata */
   10106     int n_prefix2;
   10107     xmlChar * name2; /* a second name of the userdata */
   10108     int n_name2;
   10109 
   10110     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10111     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   10112     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10113     for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
   10114     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   10115         mem_base = xmlMemBlocks();
   10116         table = gen_xmlHashTablePtr(n_table, 0);
   10117         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   10118         name = gen_const_xmlChar_ptr(n_name, 2);
   10119         prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
   10120         name2 = gen_const_xmlChar_ptr(n_name2, 4);
   10121 
   10122         ret_val = xmlHashQLookup2(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2);
   10123         desret_void_ptr(ret_val);
   10124         call_tests++;
   10125         des_xmlHashTablePtr(n_table, table, 0);
   10126         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   10127         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   10128         des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
   10129         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
   10130         xmlResetLastError();
   10131         if (mem_base != xmlMemBlocks()) {
   10132             printf("Leak of %d blocks found in xmlHashQLookup2",
   10133 	           xmlMemBlocks() - mem_base);
   10134 	    test_ret++;
   10135             printf(" %d", n_table);
   10136             printf(" %d", n_prefix);
   10137             printf(" %d", n_name);
   10138             printf(" %d", n_prefix2);
   10139             printf(" %d", n_name2);
   10140             printf("\n");
   10141         }
   10142     }
   10143     }
   10144     }
   10145     }
   10146     }
   10147     function_tests++;
   10148 
   10149     return(test_ret);
   10150 }
   10151 
   10152 
   10153 static int
   10154 test_xmlHashQLookup3(void) {
   10155     int test_ret = 0;
   10156 
   10157     int mem_base;
   10158     void * ret_val;
   10159     xmlHashTablePtr table; /* the hash table */
   10160     int n_table;
   10161     xmlChar * prefix; /* the prefix of the userdata */
   10162     int n_prefix;
   10163     xmlChar * name; /* the name of the userdata */
   10164     int n_name;
   10165     xmlChar * prefix2; /* the second prefix of the userdata */
   10166     int n_prefix2;
   10167     xmlChar * name2; /* a second name of the userdata */
   10168     int n_name2;
   10169     xmlChar * prefix3; /* the third prefix of the userdata */
   10170     int n_prefix3;
   10171     xmlChar * name3; /* a third name of the userdata */
   10172     int n_name3;
   10173 
   10174     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10175     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   10176     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10177     for (n_prefix2 = 0;n_prefix2 < gen_nb_const_xmlChar_ptr;n_prefix2++) {
   10178     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   10179     for (n_prefix3 = 0;n_prefix3 < gen_nb_const_xmlChar_ptr;n_prefix3++) {
   10180     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
   10181         mem_base = xmlMemBlocks();
   10182         table = gen_xmlHashTablePtr(n_table, 0);
   10183         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   10184         name = gen_const_xmlChar_ptr(n_name, 2);
   10185         prefix2 = gen_const_xmlChar_ptr(n_prefix2, 3);
   10186         name2 = gen_const_xmlChar_ptr(n_name2, 4);
   10187         prefix3 = gen_const_xmlChar_ptr(n_prefix3, 5);
   10188         name3 = gen_const_xmlChar_ptr(n_name3, 6);
   10189 
   10190         ret_val = xmlHashQLookup3(table, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)prefix2, (const xmlChar *)name2, (const xmlChar *)prefix3, (const xmlChar *)name3);
   10191         desret_void_ptr(ret_val);
   10192         call_tests++;
   10193         des_xmlHashTablePtr(n_table, table, 0);
   10194         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   10195         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   10196         des_const_xmlChar_ptr(n_prefix2, (const xmlChar *)prefix2, 3);
   10197         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 4);
   10198         des_const_xmlChar_ptr(n_prefix3, (const xmlChar *)prefix3, 5);
   10199         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 6);
   10200         xmlResetLastError();
   10201         if (mem_base != xmlMemBlocks()) {
   10202             printf("Leak of %d blocks found in xmlHashQLookup3",
   10203 	           xmlMemBlocks() - mem_base);
   10204 	    test_ret++;
   10205             printf(" %d", n_table);
   10206             printf(" %d", n_prefix);
   10207             printf(" %d", n_name);
   10208             printf(" %d", n_prefix2);
   10209             printf(" %d", n_name2);
   10210             printf(" %d", n_prefix3);
   10211             printf(" %d", n_name3);
   10212             printf("\n");
   10213         }
   10214     }
   10215     }
   10216     }
   10217     }
   10218     }
   10219     }
   10220     }
   10221     function_tests++;
   10222 
   10223     return(test_ret);
   10224 }
   10225 
   10226 
   10227 static int
   10228 test_xmlHashRemoveEntry(void) {
   10229     int test_ret = 0;
   10230 
   10231     int mem_base;
   10232     int ret_val;
   10233     xmlHashTablePtr table; /* the hash table */
   10234     int n_table;
   10235     xmlChar * name; /* the name of the userdata */
   10236     int n_name;
   10237     xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
   10238     int n_f;
   10239 
   10240     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10241     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10242     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
   10243         mem_base = xmlMemBlocks();
   10244         table = gen_xmlHashTablePtr(n_table, 0);
   10245         name = gen_const_xmlChar_ptr(n_name, 1);
   10246         f = gen_xmlHashDeallocator(n_f, 2);
   10247 
   10248         ret_val = xmlHashRemoveEntry(table, (const xmlChar *)name, f);
   10249         desret_int(ret_val);
   10250         call_tests++;
   10251         des_xmlHashTablePtr(n_table, table, 0);
   10252         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   10253         des_xmlHashDeallocator(n_f, f, 2);
   10254         xmlResetLastError();
   10255         if (mem_base != xmlMemBlocks()) {
   10256             printf("Leak of %d blocks found in xmlHashRemoveEntry",
   10257 	           xmlMemBlocks() - mem_base);
   10258 	    test_ret++;
   10259             printf(" %d", n_table);
   10260             printf(" %d", n_name);
   10261             printf(" %d", n_f);
   10262             printf("\n");
   10263         }
   10264     }
   10265     }
   10266     }
   10267     function_tests++;
   10268 
   10269     return(test_ret);
   10270 }
   10271 
   10272 
   10273 static int
   10274 test_xmlHashRemoveEntry2(void) {
   10275     int test_ret = 0;
   10276 
   10277     int mem_base;
   10278     int ret_val;
   10279     xmlHashTablePtr table; /* the hash table */
   10280     int n_table;
   10281     xmlChar * name; /* the name of the userdata */
   10282     int n_name;
   10283     xmlChar * name2; /* a second name of the userdata */
   10284     int n_name2;
   10285     xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
   10286     int n_f;
   10287 
   10288     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10289     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10290     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   10291     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
   10292         mem_base = xmlMemBlocks();
   10293         table = gen_xmlHashTablePtr(n_table, 0);
   10294         name = gen_const_xmlChar_ptr(n_name, 1);
   10295         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   10296         f = gen_xmlHashDeallocator(n_f, 3);
   10297 
   10298         ret_val = xmlHashRemoveEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, f);
   10299         desret_int(ret_val);
   10300         call_tests++;
   10301         des_xmlHashTablePtr(n_table, table, 0);
   10302         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   10303         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   10304         des_xmlHashDeallocator(n_f, f, 3);
   10305         xmlResetLastError();
   10306         if (mem_base != xmlMemBlocks()) {
   10307             printf("Leak of %d blocks found in xmlHashRemoveEntry2",
   10308 	           xmlMemBlocks() - mem_base);
   10309 	    test_ret++;
   10310             printf(" %d", n_table);
   10311             printf(" %d", n_name);
   10312             printf(" %d", n_name2);
   10313             printf(" %d", n_f);
   10314             printf("\n");
   10315         }
   10316     }
   10317     }
   10318     }
   10319     }
   10320     function_tests++;
   10321 
   10322     return(test_ret);
   10323 }
   10324 
   10325 
   10326 static int
   10327 test_xmlHashRemoveEntry3(void) {
   10328     int test_ret = 0;
   10329 
   10330     int mem_base;
   10331     int ret_val;
   10332     xmlHashTablePtr table; /* the hash table */
   10333     int n_table;
   10334     xmlChar * name; /* the name of the userdata */
   10335     int n_name;
   10336     xmlChar * name2; /* a second name of the userdata */
   10337     int n_name2;
   10338     xmlChar * name3; /* a third name of the userdata */
   10339     int n_name3;
   10340     xmlHashDeallocator f; /* the deallocator function for removed item (if any) */
   10341     int n_f;
   10342 
   10343     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10344     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10345     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   10346     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
   10347     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
   10348         mem_base = xmlMemBlocks();
   10349         table = gen_xmlHashTablePtr(n_table, 0);
   10350         name = gen_const_xmlChar_ptr(n_name, 1);
   10351         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   10352         name3 = gen_const_xmlChar_ptr(n_name3, 3);
   10353         f = gen_xmlHashDeallocator(n_f, 4);
   10354 
   10355         ret_val = xmlHashRemoveEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, f);
   10356         desret_int(ret_val);
   10357         call_tests++;
   10358         des_xmlHashTablePtr(n_table, table, 0);
   10359         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   10360         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   10361         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
   10362         des_xmlHashDeallocator(n_f, f, 4);
   10363         xmlResetLastError();
   10364         if (mem_base != xmlMemBlocks()) {
   10365             printf("Leak of %d blocks found in xmlHashRemoveEntry3",
   10366 	           xmlMemBlocks() - mem_base);
   10367 	    test_ret++;
   10368             printf(" %d", n_table);
   10369             printf(" %d", n_name);
   10370             printf(" %d", n_name2);
   10371             printf(" %d", n_name3);
   10372             printf(" %d", n_f);
   10373             printf("\n");
   10374         }
   10375     }
   10376     }
   10377     }
   10378     }
   10379     }
   10380     function_tests++;
   10381 
   10382     return(test_ret);
   10383 }
   10384 
   10385 
   10386 static int
   10387 test_xmlHashScan(void) {
   10388     int test_ret = 0;
   10389 
   10390 
   10391     /* missing type support */
   10392     return(test_ret);
   10393 }
   10394 
   10395 
   10396 static int
   10397 test_xmlHashScan3(void) {
   10398     int test_ret = 0;
   10399 
   10400 
   10401     /* missing type support */
   10402     return(test_ret);
   10403 }
   10404 
   10405 
   10406 static int
   10407 test_xmlHashScanFull(void) {
   10408     int test_ret = 0;
   10409 
   10410 
   10411     /* missing type support */
   10412     return(test_ret);
   10413 }
   10414 
   10415 
   10416 static int
   10417 test_xmlHashScanFull3(void) {
   10418     int test_ret = 0;
   10419 
   10420 
   10421     /* missing type support */
   10422     return(test_ret);
   10423 }
   10424 
   10425 
   10426 static int
   10427 test_xmlHashSize(void) {
   10428     int test_ret = 0;
   10429 
   10430     int mem_base;
   10431     int ret_val;
   10432     xmlHashTablePtr table; /* the hash table */
   10433     int n_table;
   10434 
   10435     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10436         mem_base = xmlMemBlocks();
   10437         table = gen_xmlHashTablePtr(n_table, 0);
   10438 
   10439         ret_val = xmlHashSize(table);
   10440         desret_int(ret_val);
   10441         call_tests++;
   10442         des_xmlHashTablePtr(n_table, table, 0);
   10443         xmlResetLastError();
   10444         if (mem_base != xmlMemBlocks()) {
   10445             printf("Leak of %d blocks found in xmlHashSize",
   10446 	           xmlMemBlocks() - mem_base);
   10447 	    test_ret++;
   10448             printf(" %d", n_table);
   10449             printf("\n");
   10450         }
   10451     }
   10452     function_tests++;
   10453 
   10454     return(test_ret);
   10455 }
   10456 
   10457 
   10458 static int
   10459 test_xmlHashUpdateEntry(void) {
   10460     int test_ret = 0;
   10461 
   10462     int mem_base;
   10463     int ret_val;
   10464     xmlHashTablePtr table; /* the hash table */
   10465     int n_table;
   10466     xmlChar * name; /* the name of the userdata */
   10467     int n_name;
   10468     void * userdata; /* a pointer to the userdata */
   10469     int n_userdata;
   10470     xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
   10471     int n_f;
   10472 
   10473     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10474     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10475     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
   10476     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
   10477         mem_base = xmlMemBlocks();
   10478         table = gen_xmlHashTablePtr(n_table, 0);
   10479         name = gen_const_xmlChar_ptr(n_name, 1);
   10480         userdata = gen_userdata(n_userdata, 2);
   10481         f = gen_xmlHashDeallocator(n_f, 3);
   10482 
   10483         ret_val = xmlHashUpdateEntry(table, (const xmlChar *)name, userdata, f);
   10484         desret_int(ret_val);
   10485         call_tests++;
   10486         des_xmlHashTablePtr(n_table, table, 0);
   10487         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   10488         des_userdata(n_userdata, userdata, 2);
   10489         des_xmlHashDeallocator(n_f, f, 3);
   10490         xmlResetLastError();
   10491         if (mem_base != xmlMemBlocks()) {
   10492             printf("Leak of %d blocks found in xmlHashUpdateEntry",
   10493 	           xmlMemBlocks() - mem_base);
   10494 	    test_ret++;
   10495             printf(" %d", n_table);
   10496             printf(" %d", n_name);
   10497             printf(" %d", n_userdata);
   10498             printf(" %d", n_f);
   10499             printf("\n");
   10500         }
   10501     }
   10502     }
   10503     }
   10504     }
   10505     function_tests++;
   10506 
   10507     return(test_ret);
   10508 }
   10509 
   10510 
   10511 static int
   10512 test_xmlHashUpdateEntry2(void) {
   10513     int test_ret = 0;
   10514 
   10515     int mem_base;
   10516     int ret_val;
   10517     xmlHashTablePtr table; /* the hash table */
   10518     int n_table;
   10519     xmlChar * name; /* the name of the userdata */
   10520     int n_name;
   10521     xmlChar * name2; /* a second name of the userdata */
   10522     int n_name2;
   10523     void * userdata; /* a pointer to the userdata */
   10524     int n_userdata;
   10525     xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
   10526     int n_f;
   10527 
   10528     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10529     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10530     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   10531     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
   10532     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
   10533         mem_base = xmlMemBlocks();
   10534         table = gen_xmlHashTablePtr(n_table, 0);
   10535         name = gen_const_xmlChar_ptr(n_name, 1);
   10536         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   10537         userdata = gen_userdata(n_userdata, 3);
   10538         f = gen_xmlHashDeallocator(n_f, 4);
   10539 
   10540         ret_val = xmlHashUpdateEntry2(table, (const xmlChar *)name, (const xmlChar *)name2, userdata, f);
   10541         desret_int(ret_val);
   10542         call_tests++;
   10543         des_xmlHashTablePtr(n_table, table, 0);
   10544         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   10545         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   10546         des_userdata(n_userdata, userdata, 3);
   10547         des_xmlHashDeallocator(n_f, f, 4);
   10548         xmlResetLastError();
   10549         if (mem_base != xmlMemBlocks()) {
   10550             printf("Leak of %d blocks found in xmlHashUpdateEntry2",
   10551 	           xmlMemBlocks() - mem_base);
   10552 	    test_ret++;
   10553             printf(" %d", n_table);
   10554             printf(" %d", n_name);
   10555             printf(" %d", n_name2);
   10556             printf(" %d", n_userdata);
   10557             printf(" %d", n_f);
   10558             printf("\n");
   10559         }
   10560     }
   10561     }
   10562     }
   10563     }
   10564     }
   10565     function_tests++;
   10566 
   10567     return(test_ret);
   10568 }
   10569 
   10570 
   10571 static int
   10572 test_xmlHashUpdateEntry3(void) {
   10573     int test_ret = 0;
   10574 
   10575     int mem_base;
   10576     int ret_val;
   10577     xmlHashTablePtr table; /* the hash table */
   10578     int n_table;
   10579     xmlChar * name; /* the name of the userdata */
   10580     int n_name;
   10581     xmlChar * name2; /* a second name of the userdata */
   10582     int n_name2;
   10583     xmlChar * name3; /* a third name of the userdata */
   10584     int n_name3;
   10585     void * userdata; /* a pointer to the userdata */
   10586     int n_userdata;
   10587     xmlHashDeallocator f; /* the deallocator function for replaced item (if any) */
   10588     int n_f;
   10589 
   10590     for (n_table = 0;n_table < gen_nb_xmlHashTablePtr;n_table++) {
   10591     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   10592     for (n_name2 = 0;n_name2 < gen_nb_const_xmlChar_ptr;n_name2++) {
   10593     for (n_name3 = 0;n_name3 < gen_nb_const_xmlChar_ptr;n_name3++) {
   10594     for (n_userdata = 0;n_userdata < gen_nb_userdata;n_userdata++) {
   10595     for (n_f = 0;n_f < gen_nb_xmlHashDeallocator;n_f++) {
   10596         mem_base = xmlMemBlocks();
   10597         table = gen_xmlHashTablePtr(n_table, 0);
   10598         name = gen_const_xmlChar_ptr(n_name, 1);
   10599         name2 = gen_const_xmlChar_ptr(n_name2, 2);
   10600         name3 = gen_const_xmlChar_ptr(n_name3, 3);
   10601         userdata = gen_userdata(n_userdata, 4);
   10602         f = gen_xmlHashDeallocator(n_f, 5);
   10603 
   10604         ret_val = xmlHashUpdateEntry3(table, (const xmlChar *)name, (const xmlChar *)name2, (const xmlChar *)name3, userdata, f);
   10605         desret_int(ret_val);
   10606         call_tests++;
   10607         des_xmlHashTablePtr(n_table, table, 0);
   10608         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   10609         des_const_xmlChar_ptr(n_name2, (const xmlChar *)name2, 2);
   10610         des_const_xmlChar_ptr(n_name3, (const xmlChar *)name3, 3);
   10611         des_userdata(n_userdata, userdata, 4);
   10612         des_xmlHashDeallocator(n_f, f, 5);
   10613         xmlResetLastError();
   10614         if (mem_base != xmlMemBlocks()) {
   10615             printf("Leak of %d blocks found in xmlHashUpdateEntry3",
   10616 	           xmlMemBlocks() - mem_base);
   10617 	    test_ret++;
   10618             printf(" %d", n_table);
   10619             printf(" %d", n_name);
   10620             printf(" %d", n_name2);
   10621             printf(" %d", n_name3);
   10622             printf(" %d", n_userdata);
   10623             printf(" %d", n_f);
   10624             printf("\n");
   10625         }
   10626     }
   10627     }
   10628     }
   10629     }
   10630     }
   10631     }
   10632     function_tests++;
   10633 
   10634     return(test_ret);
   10635 }
   10636 
   10637 static int
   10638 test_hash(void) {
   10639     int test_ret = 0;
   10640 
   10641     if (quiet == 0) printf("Testing hash : 16 of 24 functions ...\n");
   10642     test_ret += test_xmlHashAddEntry();
   10643     test_ret += test_xmlHashAddEntry2();
   10644     test_ret += test_xmlHashAddEntry3();
   10645     test_ret += test_xmlHashCopy();
   10646     test_ret += test_xmlHashCreate();
   10647     test_ret += test_xmlHashCreateDict();
   10648     test_ret += test_xmlHashLookup();
   10649     test_ret += test_xmlHashLookup2();
   10650     test_ret += test_xmlHashLookup3();
   10651     test_ret += test_xmlHashQLookup();
   10652     test_ret += test_xmlHashQLookup2();
   10653     test_ret += test_xmlHashQLookup3();
   10654     test_ret += test_xmlHashRemoveEntry();
   10655     test_ret += test_xmlHashRemoveEntry2();
   10656     test_ret += test_xmlHashRemoveEntry3();
   10657     test_ret += test_xmlHashScan();
   10658     test_ret += test_xmlHashScan3();
   10659     test_ret += test_xmlHashScanFull();
   10660     test_ret += test_xmlHashScanFull3();
   10661     test_ret += test_xmlHashSize();
   10662     test_ret += test_xmlHashUpdateEntry();
   10663     test_ret += test_xmlHashUpdateEntry2();
   10664     test_ret += test_xmlHashUpdateEntry3();
   10665 
   10666     if (test_ret != 0)
   10667 	printf("Module hash: %d errors\n", test_ret);
   10668     return(test_ret);
   10669 }
   10670 
   10671 #define gen_nb_xmlLinkPtr 1
   10672 static xmlLinkPtr gen_xmlLinkPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   10673     return(NULL);
   10674 }
   10675 static void des_xmlLinkPtr(int no ATTRIBUTE_UNUSED, xmlLinkPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   10676 }
   10677 
   10678 static int
   10679 test_xmlLinkGetData(void) {
   10680     int test_ret = 0;
   10681 
   10682     int mem_base;
   10683     void * ret_val;
   10684     xmlLinkPtr lk; /* a link */
   10685     int n_lk;
   10686 
   10687     for (n_lk = 0;n_lk < gen_nb_xmlLinkPtr;n_lk++) {
   10688         mem_base = xmlMemBlocks();
   10689         lk = gen_xmlLinkPtr(n_lk, 0);
   10690 
   10691         ret_val = xmlLinkGetData(lk);
   10692         desret_void_ptr(ret_val);
   10693         call_tests++;
   10694         des_xmlLinkPtr(n_lk, lk, 0);
   10695         xmlResetLastError();
   10696         if (mem_base != xmlMemBlocks()) {
   10697             printf("Leak of %d blocks found in xmlLinkGetData",
   10698 	           xmlMemBlocks() - mem_base);
   10699 	    test_ret++;
   10700             printf(" %d", n_lk);
   10701             printf("\n");
   10702         }
   10703     }
   10704     function_tests++;
   10705 
   10706     return(test_ret);
   10707 }
   10708 
   10709 
   10710 static int
   10711 test_xmlListAppend(void) {
   10712     int test_ret = 0;
   10713 
   10714     int mem_base;
   10715     int ret_val;
   10716     xmlListPtr l; /* a list */
   10717     int n_l;
   10718     void * data; /* the data */
   10719     int n_data;
   10720 
   10721     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   10722     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   10723         mem_base = xmlMemBlocks();
   10724         l = gen_xmlListPtr(n_l, 0);
   10725         data = gen_userdata(n_data, 1);
   10726 
   10727         ret_val = xmlListAppend(l, data);
   10728         desret_int(ret_val);
   10729         call_tests++;
   10730         des_xmlListPtr(n_l, l, 0);
   10731         des_userdata(n_data, data, 1);
   10732         xmlResetLastError();
   10733         if (mem_base != xmlMemBlocks()) {
   10734             printf("Leak of %d blocks found in xmlListAppend",
   10735 	           xmlMemBlocks() - mem_base);
   10736 	    test_ret++;
   10737             printf(" %d", n_l);
   10738             printf(" %d", n_data);
   10739             printf("\n");
   10740         }
   10741     }
   10742     }
   10743     function_tests++;
   10744 
   10745     return(test_ret);
   10746 }
   10747 
   10748 
   10749 static int
   10750 test_xmlListClear(void) {
   10751     int test_ret = 0;
   10752 
   10753     int mem_base;
   10754     xmlListPtr l; /* a list */
   10755     int n_l;
   10756 
   10757     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   10758         mem_base = xmlMemBlocks();
   10759         l = gen_xmlListPtr(n_l, 0);
   10760 
   10761         xmlListClear(l);
   10762         call_tests++;
   10763         des_xmlListPtr(n_l, l, 0);
   10764         xmlResetLastError();
   10765         if (mem_base != xmlMemBlocks()) {
   10766             printf("Leak of %d blocks found in xmlListClear",
   10767 	           xmlMemBlocks() - mem_base);
   10768 	    test_ret++;
   10769             printf(" %d", n_l);
   10770             printf("\n");
   10771         }
   10772     }
   10773     function_tests++;
   10774 
   10775     return(test_ret);
   10776 }
   10777 
   10778 
   10779 #define gen_nb_const_xmlListPtr 1
   10780 static xmlListPtr gen_const_xmlListPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   10781     return(NULL);
   10782 }
   10783 static void des_const_xmlListPtr(int no ATTRIBUTE_UNUSED, const xmlListPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   10784 }
   10785 
   10786 static int
   10787 test_xmlListCopy(void) {
   10788     int test_ret = 0;
   10789 
   10790     int mem_base;
   10791     int ret_val;
   10792     xmlListPtr cur; /* the new list */
   10793     int n_cur;
   10794     xmlListPtr old; /* the old list */
   10795     int n_old;
   10796 
   10797     for (n_cur = 0;n_cur < gen_nb_xmlListPtr;n_cur++) {
   10798     for (n_old = 0;n_old < gen_nb_const_xmlListPtr;n_old++) {
   10799         mem_base = xmlMemBlocks();
   10800         cur = gen_xmlListPtr(n_cur, 0);
   10801         old = gen_const_xmlListPtr(n_old, 1);
   10802 
   10803         ret_val = xmlListCopy(cur, (const xmlListPtr)old);
   10804         desret_int(ret_val);
   10805         call_tests++;
   10806         des_xmlListPtr(n_cur, cur, 0);
   10807         des_const_xmlListPtr(n_old, (const xmlListPtr)old, 1);
   10808         xmlResetLastError();
   10809         if (mem_base != xmlMemBlocks()) {
   10810             printf("Leak of %d blocks found in xmlListCopy",
   10811 	           xmlMemBlocks() - mem_base);
   10812 	    test_ret++;
   10813             printf(" %d", n_cur);
   10814             printf(" %d", n_old);
   10815             printf("\n");
   10816         }
   10817     }
   10818     }
   10819     function_tests++;
   10820 
   10821     return(test_ret);
   10822 }
   10823 
   10824 
   10825 static int
   10826 test_xmlListCreate(void) {
   10827     int test_ret = 0;
   10828 
   10829 
   10830     /* missing type support */
   10831     return(test_ret);
   10832 }
   10833 
   10834 
   10835 static int
   10836 test_xmlListDup(void) {
   10837     int test_ret = 0;
   10838 
   10839 
   10840     /* missing type support */
   10841     return(test_ret);
   10842 }
   10843 
   10844 
   10845 static int
   10846 test_xmlListEmpty(void) {
   10847     int test_ret = 0;
   10848 
   10849     int mem_base;
   10850     int ret_val;
   10851     xmlListPtr l; /* a list */
   10852     int n_l;
   10853 
   10854     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   10855         mem_base = xmlMemBlocks();
   10856         l = gen_xmlListPtr(n_l, 0);
   10857 
   10858         ret_val = xmlListEmpty(l);
   10859         desret_int(ret_val);
   10860         call_tests++;
   10861         des_xmlListPtr(n_l, l, 0);
   10862         xmlResetLastError();
   10863         if (mem_base != xmlMemBlocks()) {
   10864             printf("Leak of %d blocks found in xmlListEmpty",
   10865 	           xmlMemBlocks() - mem_base);
   10866 	    test_ret++;
   10867             printf(" %d", n_l);
   10868             printf("\n");
   10869         }
   10870     }
   10871     function_tests++;
   10872 
   10873     return(test_ret);
   10874 }
   10875 
   10876 
   10877 static int
   10878 test_xmlListEnd(void) {
   10879     int test_ret = 0;
   10880 
   10881 
   10882     /* missing type support */
   10883     return(test_ret);
   10884 }
   10885 
   10886 
   10887 static int
   10888 test_xmlListFront(void) {
   10889     int test_ret = 0;
   10890 
   10891 
   10892     /* missing type support */
   10893     return(test_ret);
   10894 }
   10895 
   10896 
   10897 static int
   10898 test_xmlListInsert(void) {
   10899     int test_ret = 0;
   10900 
   10901     int mem_base;
   10902     int ret_val;
   10903     xmlListPtr l; /* a list */
   10904     int n_l;
   10905     void * data; /* the data */
   10906     int n_data;
   10907 
   10908     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   10909     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   10910         mem_base = xmlMemBlocks();
   10911         l = gen_xmlListPtr(n_l, 0);
   10912         data = gen_userdata(n_data, 1);
   10913 
   10914         ret_val = xmlListInsert(l, data);
   10915         desret_int(ret_val);
   10916         call_tests++;
   10917         des_xmlListPtr(n_l, l, 0);
   10918         des_userdata(n_data, data, 1);
   10919         xmlResetLastError();
   10920         if (mem_base != xmlMemBlocks()) {
   10921             printf("Leak of %d blocks found in xmlListInsert",
   10922 	           xmlMemBlocks() - mem_base);
   10923 	    test_ret++;
   10924             printf(" %d", n_l);
   10925             printf(" %d", n_data);
   10926             printf("\n");
   10927         }
   10928     }
   10929     }
   10930     function_tests++;
   10931 
   10932     return(test_ret);
   10933 }
   10934 
   10935 
   10936 static int
   10937 test_xmlListMerge(void) {
   10938     int test_ret = 0;
   10939 
   10940     int mem_base;
   10941     xmlListPtr l1; /* the original list */
   10942     int n_l1;
   10943     xmlListPtr l2; /* the new list */
   10944     int n_l2;
   10945 
   10946     for (n_l1 = 0;n_l1 < gen_nb_xmlListPtr;n_l1++) {
   10947     for (n_l2 = 0;n_l2 < gen_nb_xmlListPtr;n_l2++) {
   10948         mem_base = xmlMemBlocks();
   10949         l1 = gen_xmlListPtr(n_l1, 0);
   10950         l2 = gen_xmlListPtr(n_l2, 1);
   10951 
   10952         xmlListMerge(l1, l2);
   10953         call_tests++;
   10954         des_xmlListPtr(n_l1, l1, 0);
   10955         des_xmlListPtr(n_l2, l2, 1);
   10956         xmlResetLastError();
   10957         if (mem_base != xmlMemBlocks()) {
   10958             printf("Leak of %d blocks found in xmlListMerge",
   10959 	           xmlMemBlocks() - mem_base);
   10960 	    test_ret++;
   10961             printf(" %d", n_l1);
   10962             printf(" %d", n_l2);
   10963             printf("\n");
   10964         }
   10965     }
   10966     }
   10967     function_tests++;
   10968 
   10969     return(test_ret);
   10970 }
   10971 
   10972 
   10973 static int
   10974 test_xmlListPopBack(void) {
   10975     int test_ret = 0;
   10976 
   10977     int mem_base;
   10978     xmlListPtr l; /* a list */
   10979     int n_l;
   10980 
   10981     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   10982         mem_base = xmlMemBlocks();
   10983         l = gen_xmlListPtr(n_l, 0);
   10984 
   10985         xmlListPopBack(l);
   10986         call_tests++;
   10987         des_xmlListPtr(n_l, l, 0);
   10988         xmlResetLastError();
   10989         if (mem_base != xmlMemBlocks()) {
   10990             printf("Leak of %d blocks found in xmlListPopBack",
   10991 	           xmlMemBlocks() - mem_base);
   10992 	    test_ret++;
   10993             printf(" %d", n_l);
   10994             printf("\n");
   10995         }
   10996     }
   10997     function_tests++;
   10998 
   10999     return(test_ret);
   11000 }
   11001 
   11002 
   11003 static int
   11004 test_xmlListPopFront(void) {
   11005     int test_ret = 0;
   11006 
   11007     int mem_base;
   11008     xmlListPtr l; /* a list */
   11009     int n_l;
   11010 
   11011     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11012         mem_base = xmlMemBlocks();
   11013         l = gen_xmlListPtr(n_l, 0);
   11014 
   11015         xmlListPopFront(l);
   11016         call_tests++;
   11017         des_xmlListPtr(n_l, l, 0);
   11018         xmlResetLastError();
   11019         if (mem_base != xmlMemBlocks()) {
   11020             printf("Leak of %d blocks found in xmlListPopFront",
   11021 	           xmlMemBlocks() - mem_base);
   11022 	    test_ret++;
   11023             printf(" %d", n_l);
   11024             printf("\n");
   11025         }
   11026     }
   11027     function_tests++;
   11028 
   11029     return(test_ret);
   11030 }
   11031 
   11032 
   11033 static int
   11034 test_xmlListPushBack(void) {
   11035     int test_ret = 0;
   11036 
   11037     int mem_base;
   11038     int ret_val;
   11039     xmlListPtr l; /* a list */
   11040     int n_l;
   11041     void * data; /* new data */
   11042     int n_data;
   11043 
   11044     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11045     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   11046         mem_base = xmlMemBlocks();
   11047         l = gen_xmlListPtr(n_l, 0);
   11048         data = gen_userdata(n_data, 1);
   11049 
   11050         ret_val = xmlListPushBack(l, data);
   11051         desret_int(ret_val);
   11052         call_tests++;
   11053         des_xmlListPtr(n_l, l, 0);
   11054         des_userdata(n_data, data, 1);
   11055         xmlResetLastError();
   11056         if (mem_base != xmlMemBlocks()) {
   11057             printf("Leak of %d blocks found in xmlListPushBack",
   11058 	           xmlMemBlocks() - mem_base);
   11059 	    test_ret++;
   11060             printf(" %d", n_l);
   11061             printf(" %d", n_data);
   11062             printf("\n");
   11063         }
   11064     }
   11065     }
   11066     function_tests++;
   11067 
   11068     return(test_ret);
   11069 }
   11070 
   11071 
   11072 static int
   11073 test_xmlListPushFront(void) {
   11074     int test_ret = 0;
   11075 
   11076     int mem_base;
   11077     int ret_val;
   11078     xmlListPtr l; /* a list */
   11079     int n_l;
   11080     void * data; /* new data */
   11081     int n_data;
   11082 
   11083     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11084     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   11085         mem_base = xmlMemBlocks();
   11086         l = gen_xmlListPtr(n_l, 0);
   11087         data = gen_userdata(n_data, 1);
   11088 
   11089         ret_val = xmlListPushFront(l, data);
   11090         desret_int(ret_val);
   11091         call_tests++;
   11092         des_xmlListPtr(n_l, l, 0);
   11093         des_userdata(n_data, data, 1);
   11094         xmlResetLastError();
   11095         if (mem_base != xmlMemBlocks()) {
   11096             printf("Leak of %d blocks found in xmlListPushFront",
   11097 	           xmlMemBlocks() - mem_base);
   11098 	    test_ret++;
   11099             printf(" %d", n_l);
   11100             printf(" %d", n_data);
   11101             printf("\n");
   11102         }
   11103     }
   11104     }
   11105     function_tests++;
   11106 
   11107     return(test_ret);
   11108 }
   11109 
   11110 
   11111 static int
   11112 test_xmlListRemoveAll(void) {
   11113     int test_ret = 0;
   11114 
   11115     int mem_base;
   11116     int ret_val;
   11117     xmlListPtr l; /* a list */
   11118     int n_l;
   11119     void * data; /* list data */
   11120     int n_data;
   11121 
   11122     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11123     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   11124         mem_base = xmlMemBlocks();
   11125         l = gen_xmlListPtr(n_l, 0);
   11126         data = gen_userdata(n_data, 1);
   11127 
   11128         ret_val = xmlListRemoveAll(l, data);
   11129         desret_int(ret_val);
   11130         call_tests++;
   11131         des_xmlListPtr(n_l, l, 0);
   11132         des_userdata(n_data, data, 1);
   11133         xmlResetLastError();
   11134         if (mem_base != xmlMemBlocks()) {
   11135             printf("Leak of %d blocks found in xmlListRemoveAll",
   11136 	           xmlMemBlocks() - mem_base);
   11137 	    test_ret++;
   11138             printf(" %d", n_l);
   11139             printf(" %d", n_data);
   11140             printf("\n");
   11141         }
   11142     }
   11143     }
   11144     function_tests++;
   11145 
   11146     return(test_ret);
   11147 }
   11148 
   11149 
   11150 static int
   11151 test_xmlListRemoveFirst(void) {
   11152     int test_ret = 0;
   11153 
   11154     int mem_base;
   11155     int ret_val;
   11156     xmlListPtr l; /* a list */
   11157     int n_l;
   11158     void * data; /* list data */
   11159     int n_data;
   11160 
   11161     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11162     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   11163         mem_base = xmlMemBlocks();
   11164         l = gen_xmlListPtr(n_l, 0);
   11165         data = gen_userdata(n_data, 1);
   11166 
   11167         ret_val = xmlListRemoveFirst(l, data);
   11168         desret_int(ret_val);
   11169         call_tests++;
   11170         des_xmlListPtr(n_l, l, 0);
   11171         des_userdata(n_data, data, 1);
   11172         xmlResetLastError();
   11173         if (mem_base != xmlMemBlocks()) {
   11174             printf("Leak of %d blocks found in xmlListRemoveFirst",
   11175 	           xmlMemBlocks() - mem_base);
   11176 	    test_ret++;
   11177             printf(" %d", n_l);
   11178             printf(" %d", n_data);
   11179             printf("\n");
   11180         }
   11181     }
   11182     }
   11183     function_tests++;
   11184 
   11185     return(test_ret);
   11186 }
   11187 
   11188 
   11189 static int
   11190 test_xmlListRemoveLast(void) {
   11191     int test_ret = 0;
   11192 
   11193     int mem_base;
   11194     int ret_val;
   11195     xmlListPtr l; /* a list */
   11196     int n_l;
   11197     void * data; /* list data */
   11198     int n_data;
   11199 
   11200     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11201     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   11202         mem_base = xmlMemBlocks();
   11203         l = gen_xmlListPtr(n_l, 0);
   11204         data = gen_userdata(n_data, 1);
   11205 
   11206         ret_val = xmlListRemoveLast(l, data);
   11207         desret_int(ret_val);
   11208         call_tests++;
   11209         des_xmlListPtr(n_l, l, 0);
   11210         des_userdata(n_data, data, 1);
   11211         xmlResetLastError();
   11212         if (mem_base != xmlMemBlocks()) {
   11213             printf("Leak of %d blocks found in xmlListRemoveLast",
   11214 	           xmlMemBlocks() - mem_base);
   11215 	    test_ret++;
   11216             printf(" %d", n_l);
   11217             printf(" %d", n_data);
   11218             printf("\n");
   11219         }
   11220     }
   11221     }
   11222     function_tests++;
   11223 
   11224     return(test_ret);
   11225 }
   11226 
   11227 
   11228 static int
   11229 test_xmlListReverse(void) {
   11230     int test_ret = 0;
   11231 
   11232     int mem_base;
   11233     xmlListPtr l; /* a list */
   11234     int n_l;
   11235 
   11236     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11237         mem_base = xmlMemBlocks();
   11238         l = gen_xmlListPtr(n_l, 0);
   11239 
   11240         xmlListReverse(l);
   11241         call_tests++;
   11242         des_xmlListPtr(n_l, l, 0);
   11243         xmlResetLastError();
   11244         if (mem_base != xmlMemBlocks()) {
   11245             printf("Leak of %d blocks found in xmlListReverse",
   11246 	           xmlMemBlocks() - mem_base);
   11247 	    test_ret++;
   11248             printf(" %d", n_l);
   11249             printf("\n");
   11250         }
   11251     }
   11252     function_tests++;
   11253 
   11254     return(test_ret);
   11255 }
   11256 
   11257 
   11258 static int
   11259 test_xmlListReverseSearch(void) {
   11260     int test_ret = 0;
   11261 
   11262     int mem_base;
   11263     void * ret_val;
   11264     xmlListPtr l; /* a list */
   11265     int n_l;
   11266     void * data; /* a search value */
   11267     int n_data;
   11268 
   11269     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11270     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   11271         mem_base = xmlMemBlocks();
   11272         l = gen_xmlListPtr(n_l, 0);
   11273         data = gen_userdata(n_data, 1);
   11274 
   11275         ret_val = xmlListReverseSearch(l, data);
   11276         desret_void_ptr(ret_val);
   11277         call_tests++;
   11278         des_xmlListPtr(n_l, l, 0);
   11279         des_userdata(n_data, data, 1);
   11280         xmlResetLastError();
   11281         if (mem_base != xmlMemBlocks()) {
   11282             printf("Leak of %d blocks found in xmlListReverseSearch",
   11283 	           xmlMemBlocks() - mem_base);
   11284 	    test_ret++;
   11285             printf(" %d", n_l);
   11286             printf(" %d", n_data);
   11287             printf("\n");
   11288         }
   11289     }
   11290     }
   11291     function_tests++;
   11292 
   11293     return(test_ret);
   11294 }
   11295 
   11296 
   11297 static int
   11298 test_xmlListReverseWalk(void) {
   11299     int test_ret = 0;
   11300 
   11301 
   11302     /* missing type support */
   11303     return(test_ret);
   11304 }
   11305 
   11306 
   11307 static int
   11308 test_xmlListSearch(void) {
   11309     int test_ret = 0;
   11310 
   11311     int mem_base;
   11312     void * ret_val;
   11313     xmlListPtr l; /* a list */
   11314     int n_l;
   11315     void * data; /* a search value */
   11316     int n_data;
   11317 
   11318     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11319     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   11320         mem_base = xmlMemBlocks();
   11321         l = gen_xmlListPtr(n_l, 0);
   11322         data = gen_userdata(n_data, 1);
   11323 
   11324         ret_val = xmlListSearch(l, data);
   11325         desret_void_ptr(ret_val);
   11326         call_tests++;
   11327         des_xmlListPtr(n_l, l, 0);
   11328         des_userdata(n_data, data, 1);
   11329         xmlResetLastError();
   11330         if (mem_base != xmlMemBlocks()) {
   11331             printf("Leak of %d blocks found in xmlListSearch",
   11332 	           xmlMemBlocks() - mem_base);
   11333 	    test_ret++;
   11334             printf(" %d", n_l);
   11335             printf(" %d", n_data);
   11336             printf("\n");
   11337         }
   11338     }
   11339     }
   11340     function_tests++;
   11341 
   11342     return(test_ret);
   11343 }
   11344 
   11345 
   11346 static int
   11347 test_xmlListSize(void) {
   11348     int test_ret = 0;
   11349 
   11350     int mem_base;
   11351     int ret_val;
   11352     xmlListPtr l; /* a list */
   11353     int n_l;
   11354 
   11355     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11356         mem_base = xmlMemBlocks();
   11357         l = gen_xmlListPtr(n_l, 0);
   11358 
   11359         ret_val = xmlListSize(l);
   11360         desret_int(ret_val);
   11361         call_tests++;
   11362         des_xmlListPtr(n_l, l, 0);
   11363         xmlResetLastError();
   11364         if (mem_base != xmlMemBlocks()) {
   11365             printf("Leak of %d blocks found in xmlListSize",
   11366 	           xmlMemBlocks() - mem_base);
   11367 	    test_ret++;
   11368             printf(" %d", n_l);
   11369             printf("\n");
   11370         }
   11371     }
   11372     function_tests++;
   11373 
   11374     return(test_ret);
   11375 }
   11376 
   11377 
   11378 static int
   11379 test_xmlListSort(void) {
   11380     int test_ret = 0;
   11381 
   11382     int mem_base;
   11383     xmlListPtr l; /* a list */
   11384     int n_l;
   11385 
   11386     for (n_l = 0;n_l < gen_nb_xmlListPtr;n_l++) {
   11387         mem_base = xmlMemBlocks();
   11388         l = gen_xmlListPtr(n_l, 0);
   11389 
   11390         xmlListSort(l);
   11391         call_tests++;
   11392         des_xmlListPtr(n_l, l, 0);
   11393         xmlResetLastError();
   11394         if (mem_base != xmlMemBlocks()) {
   11395             printf("Leak of %d blocks found in xmlListSort",
   11396 	           xmlMemBlocks() - mem_base);
   11397 	    test_ret++;
   11398             printf(" %d", n_l);
   11399             printf("\n");
   11400         }
   11401     }
   11402     function_tests++;
   11403 
   11404     return(test_ret);
   11405 }
   11406 
   11407 
   11408 static int
   11409 test_xmlListWalk(void) {
   11410     int test_ret = 0;
   11411 
   11412 
   11413     /* missing type support */
   11414     return(test_ret);
   11415 }
   11416 
   11417 static int
   11418 test_list(void) {
   11419     int test_ret = 0;
   11420 
   11421     if (quiet == 0) printf("Testing list : 19 of 26 functions ...\n");
   11422     test_ret += test_xmlLinkGetData();
   11423     test_ret += test_xmlListAppend();
   11424     test_ret += test_xmlListClear();
   11425     test_ret += test_xmlListCopy();
   11426     test_ret += test_xmlListCreate();
   11427     test_ret += test_xmlListDup();
   11428     test_ret += test_xmlListEmpty();
   11429     test_ret += test_xmlListEnd();
   11430     test_ret += test_xmlListFront();
   11431     test_ret += test_xmlListInsert();
   11432     test_ret += test_xmlListMerge();
   11433     test_ret += test_xmlListPopBack();
   11434     test_ret += test_xmlListPopFront();
   11435     test_ret += test_xmlListPushBack();
   11436     test_ret += test_xmlListPushFront();
   11437     test_ret += test_xmlListRemoveAll();
   11438     test_ret += test_xmlListRemoveFirst();
   11439     test_ret += test_xmlListRemoveLast();
   11440     test_ret += test_xmlListReverse();
   11441     test_ret += test_xmlListReverseSearch();
   11442     test_ret += test_xmlListReverseWalk();
   11443     test_ret += test_xmlListSearch();
   11444     test_ret += test_xmlListSize();
   11445     test_ret += test_xmlListSort();
   11446     test_ret += test_xmlListWalk();
   11447 
   11448     if (test_ret != 0)
   11449 	printf("Module list: %d errors\n", test_ret);
   11450     return(test_ret);
   11451 }
   11452 
   11453 static int
   11454 test_xmlNanoFTPCheckResponse(void) {
   11455     int test_ret = 0;
   11456 
   11457 #if defined(LIBXML_FTP_ENABLED)
   11458     int mem_base;
   11459     int ret_val;
   11460     void * ctx; /* an FTP context */
   11461     int n_ctx;
   11462 
   11463     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11464         mem_base = xmlMemBlocks();
   11465         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11466 
   11467         ret_val = xmlNanoFTPCheckResponse(ctx);
   11468         desret_int(ret_val);
   11469         call_tests++;
   11470         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11471         xmlResetLastError();
   11472         if (mem_base != xmlMemBlocks()) {
   11473             printf("Leak of %d blocks found in xmlNanoFTPCheckResponse",
   11474 	           xmlMemBlocks() - mem_base);
   11475 	    test_ret++;
   11476             printf(" %d", n_ctx);
   11477             printf("\n");
   11478         }
   11479     }
   11480     function_tests++;
   11481 #endif
   11482 
   11483     return(test_ret);
   11484 }
   11485 
   11486 
   11487 static int
   11488 test_xmlNanoFTPCleanup(void) {
   11489     int test_ret = 0;
   11490 
   11491 #if defined(LIBXML_FTP_ENABLED)
   11492     int mem_base;
   11493 
   11494         mem_base = xmlMemBlocks();
   11495 
   11496         xmlNanoFTPCleanup();
   11497         call_tests++;
   11498         xmlResetLastError();
   11499         if (mem_base != xmlMemBlocks()) {
   11500             printf("Leak of %d blocks found in xmlNanoFTPCleanup",
   11501 	           xmlMemBlocks() - mem_base);
   11502 	    test_ret++;
   11503             printf("\n");
   11504         }
   11505     function_tests++;
   11506 #endif
   11507 
   11508     return(test_ret);
   11509 }
   11510 
   11511 
   11512 static int
   11513 test_xmlNanoFTPCloseConnection(void) {
   11514     int test_ret = 0;
   11515 
   11516 #if defined(LIBXML_FTP_ENABLED)
   11517     int mem_base;
   11518     int ret_val;
   11519     void * ctx; /* an FTP context */
   11520     int n_ctx;
   11521 
   11522     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11523         mem_base = xmlMemBlocks();
   11524         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11525 
   11526         ret_val = xmlNanoFTPCloseConnection(ctx);
   11527         desret_int(ret_val);
   11528         call_tests++;
   11529         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11530         xmlResetLastError();
   11531         if (mem_base != xmlMemBlocks()) {
   11532             printf("Leak of %d blocks found in xmlNanoFTPCloseConnection",
   11533 	           xmlMemBlocks() - mem_base);
   11534 	    test_ret++;
   11535             printf(" %d", n_ctx);
   11536             printf("\n");
   11537         }
   11538     }
   11539     function_tests++;
   11540 #endif
   11541 
   11542     return(test_ret);
   11543 }
   11544 
   11545 
   11546 static int
   11547 test_xmlNanoFTPCwd(void) {
   11548     int test_ret = 0;
   11549 
   11550 #if defined(LIBXML_FTP_ENABLED)
   11551     int mem_base;
   11552     int ret_val;
   11553     void * ctx; /* an FTP context */
   11554     int n_ctx;
   11555     char * directory; /* a directory on the server */
   11556     int n_directory;
   11557 
   11558     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11559     for (n_directory = 0;n_directory < gen_nb_const_char_ptr;n_directory++) {
   11560         mem_base = xmlMemBlocks();
   11561         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11562         directory = gen_const_char_ptr(n_directory, 1);
   11563 
   11564         ret_val = xmlNanoFTPCwd(ctx, (const char *)directory);
   11565         desret_int(ret_val);
   11566         call_tests++;
   11567         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11568         des_const_char_ptr(n_directory, (const char *)directory, 1);
   11569         xmlResetLastError();
   11570         if (mem_base != xmlMemBlocks()) {
   11571             printf("Leak of %d blocks found in xmlNanoFTPCwd",
   11572 	           xmlMemBlocks() - mem_base);
   11573 	    test_ret++;
   11574             printf(" %d", n_ctx);
   11575             printf(" %d", n_directory);
   11576             printf("\n");
   11577         }
   11578     }
   11579     }
   11580     function_tests++;
   11581 #endif
   11582 
   11583     return(test_ret);
   11584 }
   11585 
   11586 
   11587 static int
   11588 test_xmlNanoFTPDele(void) {
   11589     int test_ret = 0;
   11590 
   11591 #if defined(LIBXML_FTP_ENABLED)
   11592     int mem_base;
   11593     int ret_val;
   11594     void * ctx; /* an FTP context */
   11595     int n_ctx;
   11596     const char * file; /* a file or directory on the server */
   11597     int n_file;
   11598 
   11599     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11600     for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
   11601         mem_base = xmlMemBlocks();
   11602         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11603         file = gen_filepath(n_file, 1);
   11604 
   11605         ret_val = xmlNanoFTPDele(ctx, file);
   11606         desret_int(ret_val);
   11607         call_tests++;
   11608         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11609         des_filepath(n_file, file, 1);
   11610         xmlResetLastError();
   11611         if (mem_base != xmlMemBlocks()) {
   11612             printf("Leak of %d blocks found in xmlNanoFTPDele",
   11613 	           xmlMemBlocks() - mem_base);
   11614 	    test_ret++;
   11615             printf(" %d", n_ctx);
   11616             printf(" %d", n_file);
   11617             printf("\n");
   11618         }
   11619     }
   11620     }
   11621     function_tests++;
   11622 #endif
   11623 
   11624     return(test_ret);
   11625 }
   11626 
   11627 
   11628 static int
   11629 test_xmlNanoFTPGet(void) {
   11630     int test_ret = 0;
   11631 
   11632 
   11633     /* missing type support */
   11634     return(test_ret);
   11635 }
   11636 
   11637 
   11638 static int
   11639 test_xmlNanoFTPGetConnection(void) {
   11640     int test_ret = 0;
   11641 
   11642 #if defined(LIBXML_FTP_ENABLED)
   11643     int mem_base;
   11644     int ret_val;
   11645     void * ctx; /* an FTP context */
   11646     int n_ctx;
   11647 
   11648     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11649         mem_base = xmlMemBlocks();
   11650         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11651 
   11652         ret_val = xmlNanoFTPGetConnection(ctx);
   11653         desret_int(ret_val);
   11654         call_tests++;
   11655         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11656         xmlResetLastError();
   11657         if (mem_base != xmlMemBlocks()) {
   11658             printf("Leak of %d blocks found in xmlNanoFTPGetConnection",
   11659 	           xmlMemBlocks() - mem_base);
   11660 	    test_ret++;
   11661             printf(" %d", n_ctx);
   11662             printf("\n");
   11663         }
   11664     }
   11665     function_tests++;
   11666 #endif
   11667 
   11668     return(test_ret);
   11669 }
   11670 
   11671 
   11672 static int
   11673 test_xmlNanoFTPGetResponse(void) {
   11674     int test_ret = 0;
   11675 
   11676 #if defined(LIBXML_FTP_ENABLED)
   11677     int mem_base;
   11678     int ret_val;
   11679     void * ctx; /* an FTP context */
   11680     int n_ctx;
   11681 
   11682     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11683         mem_base = xmlMemBlocks();
   11684         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11685 
   11686         ret_val = xmlNanoFTPGetResponse(ctx);
   11687         desret_int(ret_val);
   11688         call_tests++;
   11689         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11690         xmlResetLastError();
   11691         if (mem_base != xmlMemBlocks()) {
   11692             printf("Leak of %d blocks found in xmlNanoFTPGetResponse",
   11693 	           xmlMemBlocks() - mem_base);
   11694 	    test_ret++;
   11695             printf(" %d", n_ctx);
   11696             printf("\n");
   11697         }
   11698     }
   11699     function_tests++;
   11700 #endif
   11701 
   11702     return(test_ret);
   11703 }
   11704 
   11705 
   11706 static int
   11707 test_xmlNanoFTPGetSocket(void) {
   11708     int test_ret = 0;
   11709 
   11710 #if defined(LIBXML_FTP_ENABLED)
   11711     int mem_base;
   11712     int ret_val;
   11713     void * ctx; /* an FTP context */
   11714     int n_ctx;
   11715     const char * filename; /* the file to retrieve (or NULL if path is in context). */
   11716     int n_filename;
   11717 
   11718     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11719     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   11720         mem_base = xmlMemBlocks();
   11721         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11722         filename = gen_filepath(n_filename, 1);
   11723 
   11724         ret_val = xmlNanoFTPGetSocket(ctx, filename);
   11725         desret_int(ret_val);
   11726         call_tests++;
   11727         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11728         des_filepath(n_filename, filename, 1);
   11729         xmlResetLastError();
   11730         if (mem_base != xmlMemBlocks()) {
   11731             printf("Leak of %d blocks found in xmlNanoFTPGetSocket",
   11732 	           xmlMemBlocks() - mem_base);
   11733 	    test_ret++;
   11734             printf(" %d", n_ctx);
   11735             printf(" %d", n_filename);
   11736             printf("\n");
   11737         }
   11738     }
   11739     }
   11740     function_tests++;
   11741 #endif
   11742 
   11743     return(test_ret);
   11744 }
   11745 
   11746 
   11747 static int
   11748 test_xmlNanoFTPInit(void) {
   11749     int test_ret = 0;
   11750 
   11751 #if defined(LIBXML_FTP_ENABLED)
   11752     int mem_base;
   11753 
   11754         mem_base = xmlMemBlocks();
   11755 
   11756         xmlNanoFTPInit();
   11757         call_tests++;
   11758         xmlResetLastError();
   11759         if (mem_base != xmlMemBlocks()) {
   11760             printf("Leak of %d blocks found in xmlNanoFTPInit",
   11761 	           xmlMemBlocks() - mem_base);
   11762 	    test_ret++;
   11763             printf("\n");
   11764         }
   11765     function_tests++;
   11766 #endif
   11767 
   11768     return(test_ret);
   11769 }
   11770 
   11771 
   11772 static int
   11773 test_xmlNanoFTPList(void) {
   11774     int test_ret = 0;
   11775 
   11776 
   11777     /* missing type support */
   11778     return(test_ret);
   11779 }
   11780 
   11781 
   11782 static int
   11783 test_xmlNanoFTPNewCtxt(void) {
   11784     int test_ret = 0;
   11785 
   11786 #if defined(LIBXML_FTP_ENABLED)
   11787     int mem_base;
   11788     void * ret_val;
   11789     const char * URL; /* The URL used to initialize the context */
   11790     int n_URL;
   11791 
   11792     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   11793         mem_base = xmlMemBlocks();
   11794         URL = gen_filepath(n_URL, 0);
   11795 
   11796         ret_val = xmlNanoFTPNewCtxt(URL);
   11797         desret_xmlNanoFTPCtxtPtr(ret_val);
   11798         call_tests++;
   11799         des_filepath(n_URL, URL, 0);
   11800         xmlResetLastError();
   11801         if (mem_base != xmlMemBlocks()) {
   11802             printf("Leak of %d blocks found in xmlNanoFTPNewCtxt",
   11803 	           xmlMemBlocks() - mem_base);
   11804 	    test_ret++;
   11805             printf(" %d", n_URL);
   11806             printf("\n");
   11807         }
   11808     }
   11809     function_tests++;
   11810 #endif
   11811 
   11812     return(test_ret);
   11813 }
   11814 
   11815 
   11816 static int
   11817 test_xmlNanoFTPOpen(void) {
   11818     int test_ret = 0;
   11819 
   11820 #if defined(LIBXML_FTP_ENABLED)
   11821     int mem_base;
   11822     void * ret_val;
   11823     const char * URL; /* the URL to the resource */
   11824     int n_URL;
   11825 
   11826     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   11827         mem_base = xmlMemBlocks();
   11828         URL = gen_filepath(n_URL, 0);
   11829 
   11830         ret_val = xmlNanoFTPOpen(URL);
   11831         desret_xmlNanoFTPCtxtPtr(ret_val);
   11832         call_tests++;
   11833         des_filepath(n_URL, URL, 0);
   11834         xmlResetLastError();
   11835         if (mem_base != xmlMemBlocks()) {
   11836             printf("Leak of %d blocks found in xmlNanoFTPOpen",
   11837 	           xmlMemBlocks() - mem_base);
   11838 	    test_ret++;
   11839             printf(" %d", n_URL);
   11840             printf("\n");
   11841         }
   11842     }
   11843     function_tests++;
   11844 #endif
   11845 
   11846     return(test_ret);
   11847 }
   11848 
   11849 
   11850 static int
   11851 test_xmlNanoFTPProxy(void) {
   11852     int test_ret = 0;
   11853 
   11854 #if defined(LIBXML_FTP_ENABLED)
   11855     char * host; /* the proxy host name */
   11856     int n_host;
   11857     int port; /* the proxy port */
   11858     int n_port;
   11859     char * user; /* the proxy user name */
   11860     int n_user;
   11861     char * passwd; /* the proxy password */
   11862     int n_passwd;
   11863     int type; /* the type of proxy 1 for using SITE, 2 for USER a@b */
   11864     int n_type;
   11865 
   11866     for (n_host = 0;n_host < gen_nb_const_char_ptr;n_host++) {
   11867     for (n_port = 0;n_port < gen_nb_int;n_port++) {
   11868     for (n_user = 0;n_user < gen_nb_const_char_ptr;n_user++) {
   11869     for (n_passwd = 0;n_passwd < gen_nb_const_char_ptr;n_passwd++) {
   11870     for (n_type = 0;n_type < gen_nb_int;n_type++) {
   11871         host = gen_const_char_ptr(n_host, 0);
   11872         port = gen_int(n_port, 1);
   11873         user = gen_const_char_ptr(n_user, 2);
   11874         passwd = gen_const_char_ptr(n_passwd, 3);
   11875         type = gen_int(n_type, 4);
   11876 
   11877         xmlNanoFTPProxy((const char *)host, port, (const char *)user, (const char *)passwd, type);
   11878         call_tests++;
   11879         des_const_char_ptr(n_host, (const char *)host, 0);
   11880         des_int(n_port, port, 1);
   11881         des_const_char_ptr(n_user, (const char *)user, 2);
   11882         des_const_char_ptr(n_passwd, (const char *)passwd, 3);
   11883         des_int(n_type, type, 4);
   11884         xmlResetLastError();
   11885     }
   11886     }
   11887     }
   11888     }
   11889     }
   11890     function_tests++;
   11891 #endif
   11892 
   11893     return(test_ret);
   11894 }
   11895 
   11896 
   11897 static int
   11898 test_xmlNanoFTPQuit(void) {
   11899     int test_ret = 0;
   11900 
   11901 #if defined(LIBXML_FTP_ENABLED)
   11902     int mem_base;
   11903     int ret_val;
   11904     void * ctx; /* an FTP context */
   11905     int n_ctx;
   11906 
   11907     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11908         mem_base = xmlMemBlocks();
   11909         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11910 
   11911         ret_val = xmlNanoFTPQuit(ctx);
   11912         desret_int(ret_val);
   11913         call_tests++;
   11914         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11915         xmlResetLastError();
   11916         if (mem_base != xmlMemBlocks()) {
   11917             printf("Leak of %d blocks found in xmlNanoFTPQuit",
   11918 	           xmlMemBlocks() - mem_base);
   11919 	    test_ret++;
   11920             printf(" %d", n_ctx);
   11921             printf("\n");
   11922         }
   11923     }
   11924     function_tests++;
   11925 #endif
   11926 
   11927     return(test_ret);
   11928 }
   11929 
   11930 
   11931 static int
   11932 test_xmlNanoFTPRead(void) {
   11933     int test_ret = 0;
   11934 
   11935 #if defined(LIBXML_FTP_ENABLED)
   11936     int mem_base;
   11937     int ret_val;
   11938     void * ctx; /* the FTP context */
   11939     int n_ctx;
   11940     void * dest; /* a buffer */
   11941     int n_dest;
   11942     int len; /* the buffer length */
   11943     int n_len;
   11944 
   11945     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   11946     for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
   11947     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   11948         mem_base = xmlMemBlocks();
   11949         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   11950         dest = gen_void_ptr(n_dest, 1);
   11951         len = gen_int(n_len, 2);
   11952 
   11953         ret_val = xmlNanoFTPRead(ctx, dest, len);
   11954         desret_int(ret_val);
   11955         call_tests++;
   11956         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   11957         des_void_ptr(n_dest, dest, 1);
   11958         des_int(n_len, len, 2);
   11959         xmlResetLastError();
   11960         if (mem_base != xmlMemBlocks()) {
   11961             printf("Leak of %d blocks found in xmlNanoFTPRead",
   11962 	           xmlMemBlocks() - mem_base);
   11963 	    test_ret++;
   11964             printf(" %d", n_ctx);
   11965             printf(" %d", n_dest);
   11966             printf(" %d", n_len);
   11967             printf("\n");
   11968         }
   11969     }
   11970     }
   11971     }
   11972     function_tests++;
   11973 #endif
   11974 
   11975     return(test_ret);
   11976 }
   11977 
   11978 
   11979 static int
   11980 test_xmlNanoFTPScanProxy(void) {
   11981     int test_ret = 0;
   11982 
   11983 #if defined(LIBXML_FTP_ENABLED)
   11984     const char * URL; /* The proxy URL used to initialize the proxy context */
   11985     int n_URL;
   11986 
   11987     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   11988         URL = gen_filepath(n_URL, 0);
   11989 
   11990         xmlNanoFTPScanProxy(URL);
   11991         call_tests++;
   11992         des_filepath(n_URL, URL, 0);
   11993         xmlResetLastError();
   11994     }
   11995     function_tests++;
   11996 #endif
   11997 
   11998     return(test_ret);
   11999 }
   12000 
   12001 
   12002 static int
   12003 test_xmlNanoFTPUpdateURL(void) {
   12004     int test_ret = 0;
   12005 
   12006 #if defined(LIBXML_FTP_ENABLED)
   12007     int mem_base;
   12008     int ret_val;
   12009     void * ctx; /* an FTP context */
   12010     int n_ctx;
   12011     const char * URL; /* The URL used to update the context */
   12012     int n_URL;
   12013 
   12014     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoFTPCtxtPtr;n_ctx++) {
   12015     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   12016         mem_base = xmlMemBlocks();
   12017         ctx = gen_xmlNanoFTPCtxtPtr(n_ctx, 0);
   12018         URL = gen_filepath(n_URL, 1);
   12019 
   12020         ret_val = xmlNanoFTPUpdateURL(ctx, URL);
   12021         desret_int(ret_val);
   12022         call_tests++;
   12023         des_xmlNanoFTPCtxtPtr(n_ctx, ctx, 0);
   12024         des_filepath(n_URL, URL, 1);
   12025         xmlResetLastError();
   12026         if (mem_base != xmlMemBlocks()) {
   12027             printf("Leak of %d blocks found in xmlNanoFTPUpdateURL",
   12028 	           xmlMemBlocks() - mem_base);
   12029 	    test_ret++;
   12030             printf(" %d", n_ctx);
   12031             printf(" %d", n_URL);
   12032             printf("\n");
   12033         }
   12034     }
   12035     }
   12036     function_tests++;
   12037 #endif
   12038 
   12039     return(test_ret);
   12040 }
   12041 
   12042 static int
   12043 test_nanoftp(void) {
   12044     int test_ret = 0;
   12045 
   12046     if (quiet == 0) printf("Testing nanoftp : 16 of 22 functions ...\n");
   12047     test_ret += test_xmlNanoFTPCheckResponse();
   12048     test_ret += test_xmlNanoFTPCleanup();
   12049     test_ret += test_xmlNanoFTPCloseConnection();
   12050     test_ret += test_xmlNanoFTPCwd();
   12051     test_ret += test_xmlNanoFTPDele();
   12052     test_ret += test_xmlNanoFTPGet();
   12053     test_ret += test_xmlNanoFTPGetConnection();
   12054     test_ret += test_xmlNanoFTPGetResponse();
   12055     test_ret += test_xmlNanoFTPGetSocket();
   12056     test_ret += test_xmlNanoFTPInit();
   12057     test_ret += test_xmlNanoFTPList();
   12058     test_ret += test_xmlNanoFTPNewCtxt();
   12059     test_ret += test_xmlNanoFTPOpen();
   12060     test_ret += test_xmlNanoFTPProxy();
   12061     test_ret += test_xmlNanoFTPQuit();
   12062     test_ret += test_xmlNanoFTPRead();
   12063     test_ret += test_xmlNanoFTPScanProxy();
   12064     test_ret += test_xmlNanoFTPUpdateURL();
   12065 
   12066     if (test_ret != 0)
   12067 	printf("Module nanoftp: %d errors\n", test_ret);
   12068     return(test_ret);
   12069 }
   12070 
   12071 static int
   12072 test_xmlNanoHTTPAuthHeader(void) {
   12073     int test_ret = 0;
   12074 
   12075 #if defined(LIBXML_HTTP_ENABLED)
   12076     int mem_base;
   12077     const char * ret_val;
   12078     void * ctx; /* the HTTP context */
   12079     int n_ctx;
   12080 
   12081     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
   12082         mem_base = xmlMemBlocks();
   12083         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
   12084 
   12085         ret_val = xmlNanoHTTPAuthHeader(ctx);
   12086         desret_const_char_ptr(ret_val);
   12087         call_tests++;
   12088         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
   12089         xmlResetLastError();
   12090         if (mem_base != xmlMemBlocks()) {
   12091             printf("Leak of %d blocks found in xmlNanoHTTPAuthHeader",
   12092 	           xmlMemBlocks() - mem_base);
   12093 	    test_ret++;
   12094             printf(" %d", n_ctx);
   12095             printf("\n");
   12096         }
   12097     }
   12098     function_tests++;
   12099 #endif
   12100 
   12101     return(test_ret);
   12102 }
   12103 
   12104 
   12105 static int
   12106 test_xmlNanoHTTPCleanup(void) {
   12107     int test_ret = 0;
   12108 
   12109 #if defined(LIBXML_HTTP_ENABLED)
   12110     int mem_base;
   12111 
   12112         mem_base = xmlMemBlocks();
   12113 
   12114         xmlNanoHTTPCleanup();
   12115         call_tests++;
   12116         xmlResetLastError();
   12117         if (mem_base != xmlMemBlocks()) {
   12118             printf("Leak of %d blocks found in xmlNanoHTTPCleanup",
   12119 	           xmlMemBlocks() - mem_base);
   12120 	    test_ret++;
   12121             printf("\n");
   12122         }
   12123     function_tests++;
   12124 #endif
   12125 
   12126     return(test_ret);
   12127 }
   12128 
   12129 
   12130 static int
   12131 test_xmlNanoHTTPContentLength(void) {
   12132     int test_ret = 0;
   12133 
   12134 #if defined(LIBXML_HTTP_ENABLED)
   12135     int mem_base;
   12136     int ret_val;
   12137     void * ctx; /* the HTTP context */
   12138     int n_ctx;
   12139 
   12140     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
   12141         mem_base = xmlMemBlocks();
   12142         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
   12143 
   12144         ret_val = xmlNanoHTTPContentLength(ctx);
   12145         desret_int(ret_val);
   12146         call_tests++;
   12147         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
   12148         xmlResetLastError();
   12149         if (mem_base != xmlMemBlocks()) {
   12150             printf("Leak of %d blocks found in xmlNanoHTTPContentLength",
   12151 	           xmlMemBlocks() - mem_base);
   12152 	    test_ret++;
   12153             printf(" %d", n_ctx);
   12154             printf("\n");
   12155         }
   12156     }
   12157     function_tests++;
   12158 #endif
   12159 
   12160     return(test_ret);
   12161 }
   12162 
   12163 
   12164 static int
   12165 test_xmlNanoHTTPEncoding(void) {
   12166     int test_ret = 0;
   12167 
   12168 #if defined(LIBXML_HTTP_ENABLED)
   12169     int mem_base;
   12170     const char * ret_val;
   12171     void * ctx; /* the HTTP context */
   12172     int n_ctx;
   12173 
   12174     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
   12175         mem_base = xmlMemBlocks();
   12176         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
   12177 
   12178         ret_val = xmlNanoHTTPEncoding(ctx);
   12179         desret_const_char_ptr(ret_val);
   12180         call_tests++;
   12181         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
   12182         xmlResetLastError();
   12183         if (mem_base != xmlMemBlocks()) {
   12184             printf("Leak of %d blocks found in xmlNanoHTTPEncoding",
   12185 	           xmlMemBlocks() - mem_base);
   12186 	    test_ret++;
   12187             printf(" %d", n_ctx);
   12188             printf("\n");
   12189         }
   12190     }
   12191     function_tests++;
   12192 #endif
   12193 
   12194     return(test_ret);
   12195 }
   12196 
   12197 
   12198 #define gen_nb_char_ptr_ptr 1
   12199 static char ** gen_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   12200     return(NULL);
   12201 }
   12202 static void des_char_ptr_ptr(int no ATTRIBUTE_UNUSED, char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   12203 }
   12204 
   12205 static int
   12206 test_xmlNanoHTTPFetch(void) {
   12207     int test_ret = 0;
   12208 
   12209 #if defined(LIBXML_HTTP_ENABLED)
   12210     int mem_base;
   12211     int ret_val;
   12212     const char * URL; /* The URL to load */
   12213     int n_URL;
   12214     const char * filename; /* the filename where the content should be saved */
   12215     int n_filename;
   12216     char ** contentType; /* if available the Content-Type information will be returned at that location */
   12217     int n_contentType;
   12218 
   12219     for (n_URL = 0;n_URL < gen_nb_fileoutput;n_URL++) {
   12220     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   12221     for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
   12222         mem_base = xmlMemBlocks();
   12223         URL = gen_fileoutput(n_URL, 0);
   12224         filename = gen_fileoutput(n_filename, 1);
   12225         contentType = gen_char_ptr_ptr(n_contentType, 2);
   12226 
   12227         ret_val = xmlNanoHTTPFetch(URL, filename, contentType);
   12228         desret_int(ret_val);
   12229         call_tests++;
   12230         des_fileoutput(n_URL, URL, 0);
   12231         des_fileoutput(n_filename, filename, 1);
   12232         des_char_ptr_ptr(n_contentType, contentType, 2);
   12233         xmlResetLastError();
   12234         if (mem_base != xmlMemBlocks()) {
   12235             printf("Leak of %d blocks found in xmlNanoHTTPFetch",
   12236 	           xmlMemBlocks() - mem_base);
   12237 	    test_ret++;
   12238             printf(" %d", n_URL);
   12239             printf(" %d", n_filename);
   12240             printf(" %d", n_contentType);
   12241             printf("\n");
   12242         }
   12243     }
   12244     }
   12245     }
   12246     function_tests++;
   12247 #endif
   12248 
   12249     return(test_ret);
   12250 }
   12251 
   12252 
   12253 static int
   12254 test_xmlNanoHTTPInit(void) {
   12255     int test_ret = 0;
   12256 
   12257 #if defined(LIBXML_HTTP_ENABLED)
   12258     int mem_base;
   12259 
   12260         mem_base = xmlMemBlocks();
   12261 
   12262         xmlNanoHTTPInit();
   12263         call_tests++;
   12264         xmlResetLastError();
   12265         if (mem_base != xmlMemBlocks()) {
   12266             printf("Leak of %d blocks found in xmlNanoHTTPInit",
   12267 	           xmlMemBlocks() - mem_base);
   12268 	    test_ret++;
   12269             printf("\n");
   12270         }
   12271     function_tests++;
   12272 #endif
   12273 
   12274     return(test_ret);
   12275 }
   12276 
   12277 
   12278 static int
   12279 test_xmlNanoHTTPMimeType(void) {
   12280     int test_ret = 0;
   12281 
   12282 #if defined(LIBXML_HTTP_ENABLED)
   12283     int mem_base;
   12284     const char * ret_val;
   12285     void * ctx; /* the HTTP context */
   12286     int n_ctx;
   12287 
   12288     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
   12289         mem_base = xmlMemBlocks();
   12290         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
   12291 
   12292         ret_val = xmlNanoHTTPMimeType(ctx);
   12293         desret_const_char_ptr(ret_val);
   12294         call_tests++;
   12295         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
   12296         xmlResetLastError();
   12297         if (mem_base != xmlMemBlocks()) {
   12298             printf("Leak of %d blocks found in xmlNanoHTTPMimeType",
   12299 	           xmlMemBlocks() - mem_base);
   12300 	    test_ret++;
   12301             printf(" %d", n_ctx);
   12302             printf("\n");
   12303         }
   12304     }
   12305     function_tests++;
   12306 #endif
   12307 
   12308     return(test_ret);
   12309 }
   12310 
   12311 
   12312 static int
   12313 test_xmlNanoHTTPOpen(void) {
   12314     int test_ret = 0;
   12315 
   12316 #if defined(LIBXML_HTTP_ENABLED)
   12317     int mem_base;
   12318     void * ret_val;
   12319     const char * URL; /* The URL to load */
   12320     int n_URL;
   12321     char ** contentType; /* if available the Content-Type information will be returned at that location */
   12322     int n_contentType;
   12323 
   12324     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   12325     for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
   12326         mem_base = xmlMemBlocks();
   12327         URL = gen_filepath(n_URL, 0);
   12328         contentType = gen_char_ptr_ptr(n_contentType, 1);
   12329 
   12330         ret_val = xmlNanoHTTPOpen(URL, contentType);
   12331         desret_xmlNanoHTTPCtxtPtr(ret_val);
   12332         call_tests++;
   12333         des_filepath(n_URL, URL, 0);
   12334         des_char_ptr_ptr(n_contentType, contentType, 1);
   12335         xmlResetLastError();
   12336         if (mem_base != xmlMemBlocks()) {
   12337             printf("Leak of %d blocks found in xmlNanoHTTPOpen",
   12338 	           xmlMemBlocks() - mem_base);
   12339 	    test_ret++;
   12340             printf(" %d", n_URL);
   12341             printf(" %d", n_contentType);
   12342             printf("\n");
   12343         }
   12344     }
   12345     }
   12346     function_tests++;
   12347 #endif
   12348 
   12349     return(test_ret);
   12350 }
   12351 
   12352 
   12353 static int
   12354 test_xmlNanoHTTPOpenRedir(void) {
   12355     int test_ret = 0;
   12356 
   12357 #if defined(LIBXML_HTTP_ENABLED)
   12358     int mem_base;
   12359     void * ret_val;
   12360     const char * URL; /* The URL to load */
   12361     int n_URL;
   12362     char ** contentType; /* if available the Content-Type information will be returned at that location */
   12363     int n_contentType;
   12364     char ** redir; /* if available the redirected URL will be returned */
   12365     int n_redir;
   12366 
   12367     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   12368     for (n_contentType = 0;n_contentType < gen_nb_char_ptr_ptr;n_contentType++) {
   12369     for (n_redir = 0;n_redir < gen_nb_char_ptr_ptr;n_redir++) {
   12370         mem_base = xmlMemBlocks();
   12371         URL = gen_filepath(n_URL, 0);
   12372         contentType = gen_char_ptr_ptr(n_contentType, 1);
   12373         redir = gen_char_ptr_ptr(n_redir, 2);
   12374 
   12375         ret_val = xmlNanoHTTPOpenRedir(URL, contentType, redir);
   12376         desret_xmlNanoHTTPCtxtPtr(ret_val);
   12377         call_tests++;
   12378         des_filepath(n_URL, URL, 0);
   12379         des_char_ptr_ptr(n_contentType, contentType, 1);
   12380         des_char_ptr_ptr(n_redir, redir, 2);
   12381         xmlResetLastError();
   12382         if (mem_base != xmlMemBlocks()) {
   12383             printf("Leak of %d blocks found in xmlNanoHTTPOpenRedir",
   12384 	           xmlMemBlocks() - mem_base);
   12385 	    test_ret++;
   12386             printf(" %d", n_URL);
   12387             printf(" %d", n_contentType);
   12388             printf(" %d", n_redir);
   12389             printf("\n");
   12390         }
   12391     }
   12392     }
   12393     }
   12394     function_tests++;
   12395 #endif
   12396 
   12397     return(test_ret);
   12398 }
   12399 
   12400 
   12401 static int
   12402 test_xmlNanoHTTPRead(void) {
   12403     int test_ret = 0;
   12404 
   12405 #if defined(LIBXML_HTTP_ENABLED)
   12406     int mem_base;
   12407     int ret_val;
   12408     void * ctx; /* the HTTP context */
   12409     int n_ctx;
   12410     void * dest; /* a buffer */
   12411     int n_dest;
   12412     int len; /* the buffer length */
   12413     int n_len;
   12414 
   12415     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
   12416     for (n_dest = 0;n_dest < gen_nb_void_ptr;n_dest++) {
   12417     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   12418         mem_base = xmlMemBlocks();
   12419         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
   12420         dest = gen_void_ptr(n_dest, 1);
   12421         len = gen_int(n_len, 2);
   12422 
   12423         ret_val = xmlNanoHTTPRead(ctx, dest, len);
   12424         desret_int(ret_val);
   12425         call_tests++;
   12426         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
   12427         des_void_ptr(n_dest, dest, 1);
   12428         des_int(n_len, len, 2);
   12429         xmlResetLastError();
   12430         if (mem_base != xmlMemBlocks()) {
   12431             printf("Leak of %d blocks found in xmlNanoHTTPRead",
   12432 	           xmlMemBlocks() - mem_base);
   12433 	    test_ret++;
   12434             printf(" %d", n_ctx);
   12435             printf(" %d", n_dest);
   12436             printf(" %d", n_len);
   12437             printf("\n");
   12438         }
   12439     }
   12440     }
   12441     }
   12442     function_tests++;
   12443 #endif
   12444 
   12445     return(test_ret);
   12446 }
   12447 
   12448 
   12449 static int
   12450 test_xmlNanoHTTPRedir(void) {
   12451     int test_ret = 0;
   12452 
   12453 
   12454     /* missing type support */
   12455     return(test_ret);
   12456 }
   12457 
   12458 
   12459 static int
   12460 test_xmlNanoHTTPReturnCode(void) {
   12461     int test_ret = 0;
   12462 
   12463 #if defined(LIBXML_HTTP_ENABLED)
   12464     int mem_base;
   12465     int ret_val;
   12466     void * ctx; /* the HTTP context */
   12467     int n_ctx;
   12468 
   12469     for (n_ctx = 0;n_ctx < gen_nb_xmlNanoHTTPCtxtPtr;n_ctx++) {
   12470         mem_base = xmlMemBlocks();
   12471         ctx = gen_xmlNanoHTTPCtxtPtr(n_ctx, 0);
   12472 
   12473         ret_val = xmlNanoHTTPReturnCode(ctx);
   12474         desret_int(ret_val);
   12475         call_tests++;
   12476         des_xmlNanoHTTPCtxtPtr(n_ctx, ctx, 0);
   12477         xmlResetLastError();
   12478         if (mem_base != xmlMemBlocks()) {
   12479             printf("Leak of %d blocks found in xmlNanoHTTPReturnCode",
   12480 	           xmlMemBlocks() - mem_base);
   12481 	    test_ret++;
   12482             printf(" %d", n_ctx);
   12483             printf("\n");
   12484         }
   12485     }
   12486     function_tests++;
   12487 #endif
   12488 
   12489     return(test_ret);
   12490 }
   12491 
   12492 
   12493 static int
   12494 test_xmlNanoHTTPSave(void) {
   12495     int test_ret = 0;
   12496 
   12497 #if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   12498     int mem_base;
   12499     int ret_val;
   12500     void * ctxt; /* the HTTP context */
   12501     int n_ctxt;
   12502     const char * filename; /* the filename where the content should be saved */
   12503     int n_filename;
   12504 
   12505     for (n_ctxt = 0;n_ctxt < gen_nb_void_ptr;n_ctxt++) {
   12506     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   12507         mem_base = xmlMemBlocks();
   12508         ctxt = gen_void_ptr(n_ctxt, 0);
   12509         filename = gen_fileoutput(n_filename, 1);
   12510 
   12511         ret_val = xmlNanoHTTPSave(ctxt, filename);
   12512         desret_int(ret_val);
   12513         call_tests++;
   12514         des_void_ptr(n_ctxt, ctxt, 0);
   12515         des_fileoutput(n_filename, filename, 1);
   12516         xmlResetLastError();
   12517         if (mem_base != xmlMemBlocks()) {
   12518             printf("Leak of %d blocks found in xmlNanoHTTPSave",
   12519 	           xmlMemBlocks() - mem_base);
   12520 	    test_ret++;
   12521             printf(" %d", n_ctxt);
   12522             printf(" %d", n_filename);
   12523             printf("\n");
   12524         }
   12525     }
   12526     }
   12527     function_tests++;
   12528 #endif
   12529 
   12530     return(test_ret);
   12531 }
   12532 
   12533 
   12534 static int
   12535 test_xmlNanoHTTPScanProxy(void) {
   12536     int test_ret = 0;
   12537 
   12538 #if defined(LIBXML_HTTP_ENABLED)
   12539     const char * URL; /* The proxy URL used to initialize the proxy context */
   12540     int n_URL;
   12541 
   12542     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   12543         URL = gen_filepath(n_URL, 0);
   12544 
   12545         xmlNanoHTTPScanProxy(URL);
   12546         call_tests++;
   12547         des_filepath(n_URL, URL, 0);
   12548         xmlResetLastError();
   12549     }
   12550     function_tests++;
   12551 #endif
   12552 
   12553     return(test_ret);
   12554 }
   12555 
   12556 static int
   12557 test_nanohttp(void) {
   12558     int test_ret = 0;
   12559 
   12560     if (quiet == 0) printf("Testing nanohttp : 13 of 17 functions ...\n");
   12561     test_ret += test_xmlNanoHTTPAuthHeader();
   12562     test_ret += test_xmlNanoHTTPCleanup();
   12563     test_ret += test_xmlNanoHTTPContentLength();
   12564     test_ret += test_xmlNanoHTTPEncoding();
   12565     test_ret += test_xmlNanoHTTPFetch();
   12566     test_ret += test_xmlNanoHTTPInit();
   12567     test_ret += test_xmlNanoHTTPMimeType();
   12568     test_ret += test_xmlNanoHTTPOpen();
   12569     test_ret += test_xmlNanoHTTPOpenRedir();
   12570     test_ret += test_xmlNanoHTTPRead();
   12571     test_ret += test_xmlNanoHTTPRedir();
   12572     test_ret += test_xmlNanoHTTPReturnCode();
   12573     test_ret += test_xmlNanoHTTPSave();
   12574     test_ret += test_xmlNanoHTTPScanProxy();
   12575 
   12576     if (test_ret != 0)
   12577 	printf("Module nanohttp: %d errors\n", test_ret);
   12578     return(test_ret);
   12579 }
   12580 
   12581 static int
   12582 test_xmlByteConsumed(void) {
   12583     int test_ret = 0;
   12584 
   12585     int mem_base;
   12586     long ret_val;
   12587     xmlParserCtxtPtr ctxt; /* an XML parser context */
   12588     int n_ctxt;
   12589 
   12590     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   12591         mem_base = xmlMemBlocks();
   12592         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   12593 
   12594         ret_val = xmlByteConsumed(ctxt);
   12595         desret_long(ret_val);
   12596         call_tests++;
   12597         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   12598         xmlResetLastError();
   12599         if (mem_base != xmlMemBlocks()) {
   12600             printf("Leak of %d blocks found in xmlByteConsumed",
   12601 	           xmlMemBlocks() - mem_base);
   12602 	    test_ret++;
   12603             printf(" %d", n_ctxt);
   12604             printf("\n");
   12605         }
   12606     }
   12607     function_tests++;
   12608 
   12609     return(test_ret);
   12610 }
   12611 
   12612 
   12613 static int
   12614 test_xmlClearNodeInfoSeq(void) {
   12615     int test_ret = 0;
   12616 
   12617     int mem_base;
   12618     xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
   12619     int n_seq;
   12620 
   12621     for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
   12622         mem_base = xmlMemBlocks();
   12623         seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
   12624 
   12625         xmlClearNodeInfoSeq(seq);
   12626         call_tests++;
   12627         des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
   12628         xmlResetLastError();
   12629         if (mem_base != xmlMemBlocks()) {
   12630             printf("Leak of %d blocks found in xmlClearNodeInfoSeq",
   12631 	           xmlMemBlocks() - mem_base);
   12632 	    test_ret++;
   12633             printf(" %d", n_seq);
   12634             printf("\n");
   12635         }
   12636     }
   12637     function_tests++;
   12638 
   12639     return(test_ret);
   12640 }
   12641 
   12642 
   12643 static int
   12644 test_xmlClearParserCtxt(void) {
   12645     int test_ret = 0;
   12646 
   12647     int mem_base;
   12648     xmlParserCtxtPtr ctxt; /* an XML parser context */
   12649     int n_ctxt;
   12650 
   12651     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   12652         mem_base = xmlMemBlocks();
   12653         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   12654 
   12655         xmlClearParserCtxt(ctxt);
   12656         call_tests++;
   12657         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   12658         xmlResetLastError();
   12659         if (mem_base != xmlMemBlocks()) {
   12660             printf("Leak of %d blocks found in xmlClearParserCtxt",
   12661 	           xmlMemBlocks() - mem_base);
   12662 	    test_ret++;
   12663             printf(" %d", n_ctxt);
   12664             printf("\n");
   12665         }
   12666     }
   12667     function_tests++;
   12668 
   12669     return(test_ret);
   12670 }
   12671 
   12672 
   12673 static int
   12674 test_xmlCreateDocParserCtxt(void) {
   12675     int test_ret = 0;
   12676 
   12677     int mem_base;
   12678     xmlParserCtxtPtr ret_val;
   12679     xmlChar * cur; /* a pointer to an array of xmlChar */
   12680     int n_cur;
   12681 
   12682     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   12683         mem_base = xmlMemBlocks();
   12684         cur = gen_const_xmlChar_ptr(n_cur, 0);
   12685 
   12686         ret_val = xmlCreateDocParserCtxt((const xmlChar *)cur);
   12687         desret_xmlParserCtxtPtr(ret_val);
   12688         call_tests++;
   12689         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   12690         xmlResetLastError();
   12691         if (mem_base != xmlMemBlocks()) {
   12692             printf("Leak of %d blocks found in xmlCreateDocParserCtxt",
   12693 	           xmlMemBlocks() - mem_base);
   12694 	    test_ret++;
   12695             printf(" %d", n_cur);
   12696             printf("\n");
   12697         }
   12698     }
   12699     function_tests++;
   12700 
   12701     return(test_ret);
   12702 }
   12703 
   12704 
   12705 static int
   12706 test_xmlCreatePushParserCtxt(void) {
   12707     int test_ret = 0;
   12708 
   12709 #if defined(LIBXML_PUSH_ENABLED)
   12710     int mem_base;
   12711     xmlParserCtxtPtr ret_val;
   12712     xmlSAXHandlerPtr sax; /* a SAX handler */
   12713     int n_sax;
   12714     void * user_data; /* The user data returned on SAX callbacks */
   12715     int n_user_data;
   12716     char * chunk; /* a pointer to an array of chars */
   12717     int n_chunk;
   12718     int size; /* number of chars in the array */
   12719     int n_size;
   12720     const char * filename; /* an optional file name or URI */
   12721     int n_filename;
   12722 
   12723     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   12724     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   12725     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
   12726     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   12727     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   12728         mem_base = xmlMemBlocks();
   12729         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   12730         user_data = gen_userdata(n_user_data, 1);
   12731         chunk = gen_const_char_ptr(n_chunk, 2);
   12732         size = gen_int(n_size, 3);
   12733         filename = gen_fileoutput(n_filename, 4);
   12734 
   12735         ret_val = xmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename);
   12736         desret_xmlParserCtxtPtr(ret_val);
   12737         call_tests++;
   12738         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   12739         des_userdata(n_user_data, user_data, 1);
   12740         des_const_char_ptr(n_chunk, (const char *)chunk, 2);
   12741         des_int(n_size, size, 3);
   12742         des_fileoutput(n_filename, filename, 4);
   12743         xmlResetLastError();
   12744         if (mem_base != xmlMemBlocks()) {
   12745             printf("Leak of %d blocks found in xmlCreatePushParserCtxt",
   12746 	           xmlMemBlocks() - mem_base);
   12747 	    test_ret++;
   12748             printf(" %d", n_sax);
   12749             printf(" %d", n_user_data);
   12750             printf(" %d", n_chunk);
   12751             printf(" %d", n_size);
   12752             printf(" %d", n_filename);
   12753             printf("\n");
   12754         }
   12755     }
   12756     }
   12757     }
   12758     }
   12759     }
   12760     function_tests++;
   12761 #endif
   12762 
   12763     return(test_ret);
   12764 }
   12765 
   12766 
   12767 static int
   12768 test_xmlCtxtReadDoc(void) {
   12769     int test_ret = 0;
   12770 
   12771     int mem_base;
   12772     xmlDocPtr ret_val;
   12773     xmlParserCtxtPtr ctxt; /* an XML parser context */
   12774     int n_ctxt;
   12775     xmlChar * cur; /* a pointer to a zero terminated string */
   12776     int n_cur;
   12777     const char * URL; /* the base URL to use for the document */
   12778     int n_URL;
   12779     char * encoding; /* the document encoding, or NULL */
   12780     int n_encoding;
   12781     int options; /* a combination of xmlParserOption */
   12782     int n_options;
   12783 
   12784     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   12785     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   12786     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   12787     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   12788     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   12789         mem_base = xmlMemBlocks();
   12790         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   12791         cur = gen_const_xmlChar_ptr(n_cur, 1);
   12792         URL = gen_filepath(n_URL, 2);
   12793         encoding = gen_const_char_ptr(n_encoding, 3);
   12794         options = gen_parseroptions(n_options, 4);
   12795 
   12796         ret_val = xmlCtxtReadDoc(ctxt, (const xmlChar *)cur, URL, (const char *)encoding, options);
   12797         desret_xmlDocPtr(ret_val);
   12798         call_tests++;
   12799         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   12800         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
   12801         des_filepath(n_URL, URL, 2);
   12802         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   12803         des_parseroptions(n_options, options, 4);
   12804         xmlResetLastError();
   12805         if (mem_base != xmlMemBlocks()) {
   12806             printf("Leak of %d blocks found in xmlCtxtReadDoc",
   12807 	           xmlMemBlocks() - mem_base);
   12808 	    test_ret++;
   12809             printf(" %d", n_ctxt);
   12810             printf(" %d", n_cur);
   12811             printf(" %d", n_URL);
   12812             printf(" %d", n_encoding);
   12813             printf(" %d", n_options);
   12814             printf("\n");
   12815         }
   12816     }
   12817     }
   12818     }
   12819     }
   12820     }
   12821     function_tests++;
   12822 
   12823     return(test_ret);
   12824 }
   12825 
   12826 
   12827 static int
   12828 test_xmlCtxtReadFile(void) {
   12829     int test_ret = 0;
   12830 
   12831     int mem_base;
   12832     xmlDocPtr ret_val;
   12833     xmlParserCtxtPtr ctxt; /* an XML parser context */
   12834     int n_ctxt;
   12835     const char * filename; /* a file or URL */
   12836     int n_filename;
   12837     char * encoding; /* the document encoding, or NULL */
   12838     int n_encoding;
   12839     int options; /* a combination of xmlParserOption */
   12840     int n_options;
   12841 
   12842     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   12843     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   12844     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   12845     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   12846         mem_base = xmlMemBlocks();
   12847         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   12848         filename = gen_filepath(n_filename, 1);
   12849         encoding = gen_const_char_ptr(n_encoding, 2);
   12850         options = gen_parseroptions(n_options, 3);
   12851 
   12852         ret_val = xmlCtxtReadFile(ctxt, filename, (const char *)encoding, options);
   12853         desret_xmlDocPtr(ret_val);
   12854         call_tests++;
   12855         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   12856         des_filepath(n_filename, filename, 1);
   12857         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   12858         des_parseroptions(n_options, options, 3);
   12859         xmlResetLastError();
   12860         if (mem_base != xmlMemBlocks()) {
   12861             printf("Leak of %d blocks found in xmlCtxtReadFile",
   12862 	           xmlMemBlocks() - mem_base);
   12863 	    test_ret++;
   12864             printf(" %d", n_ctxt);
   12865             printf(" %d", n_filename);
   12866             printf(" %d", n_encoding);
   12867             printf(" %d", n_options);
   12868             printf("\n");
   12869         }
   12870     }
   12871     }
   12872     }
   12873     }
   12874     function_tests++;
   12875 
   12876     return(test_ret);
   12877 }
   12878 
   12879 
   12880 static int
   12881 test_xmlCtxtReadMemory(void) {
   12882     int test_ret = 0;
   12883 
   12884     int mem_base;
   12885     xmlDocPtr ret_val;
   12886     xmlParserCtxtPtr ctxt; /* an XML parser context */
   12887     int n_ctxt;
   12888     char * buffer; /* a pointer to a char array */
   12889     int n_buffer;
   12890     int size; /* the size of the array */
   12891     int n_size;
   12892     const char * URL; /* the base URL to use for the document */
   12893     int n_URL;
   12894     char * encoding; /* the document encoding, or NULL */
   12895     int n_encoding;
   12896     int options; /* a combination of xmlParserOption */
   12897     int n_options;
   12898 
   12899     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   12900     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   12901     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   12902     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   12903     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   12904     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   12905         mem_base = xmlMemBlocks();
   12906         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   12907         buffer = gen_const_char_ptr(n_buffer, 1);
   12908         size = gen_int(n_size, 2);
   12909         URL = gen_filepath(n_URL, 3);
   12910         encoding = gen_const_char_ptr(n_encoding, 4);
   12911         options = gen_parseroptions(n_options, 5);
   12912 
   12913         ret_val = xmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
   12914         desret_xmlDocPtr(ret_val);
   12915         call_tests++;
   12916         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   12917         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
   12918         des_int(n_size, size, 2);
   12919         des_filepath(n_URL, URL, 3);
   12920         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
   12921         des_parseroptions(n_options, options, 5);
   12922         xmlResetLastError();
   12923         if (mem_base != xmlMemBlocks()) {
   12924             printf("Leak of %d blocks found in xmlCtxtReadMemory",
   12925 	           xmlMemBlocks() - mem_base);
   12926 	    test_ret++;
   12927             printf(" %d", n_ctxt);
   12928             printf(" %d", n_buffer);
   12929             printf(" %d", n_size);
   12930             printf(" %d", n_URL);
   12931             printf(" %d", n_encoding);
   12932             printf(" %d", n_options);
   12933             printf("\n");
   12934         }
   12935     }
   12936     }
   12937     }
   12938     }
   12939     }
   12940     }
   12941     function_tests++;
   12942 
   12943     return(test_ret);
   12944 }
   12945 
   12946 
   12947 static int
   12948 test_xmlCtxtReset(void) {
   12949     int test_ret = 0;
   12950 
   12951     int mem_base;
   12952     xmlParserCtxtPtr ctxt; /* an XML parser context */
   12953     int n_ctxt;
   12954 
   12955     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   12956         mem_base = xmlMemBlocks();
   12957         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   12958 
   12959         xmlCtxtReset(ctxt);
   12960         call_tests++;
   12961         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   12962         xmlResetLastError();
   12963         if (mem_base != xmlMemBlocks()) {
   12964             printf("Leak of %d blocks found in xmlCtxtReset",
   12965 	           xmlMemBlocks() - mem_base);
   12966 	    test_ret++;
   12967             printf(" %d", n_ctxt);
   12968             printf("\n");
   12969         }
   12970     }
   12971     function_tests++;
   12972 
   12973     return(test_ret);
   12974 }
   12975 
   12976 
   12977 static int
   12978 test_xmlCtxtResetPush(void) {
   12979     int test_ret = 0;
   12980 
   12981     int mem_base;
   12982     int ret_val;
   12983     xmlParserCtxtPtr ctxt; /* an XML parser context */
   12984     int n_ctxt;
   12985     char * chunk; /* a pointer to an array of chars */
   12986     int n_chunk;
   12987     int size; /* number of chars in the array */
   12988     int n_size;
   12989     const char * filename; /* an optional file name or URI */
   12990     int n_filename;
   12991     char * encoding; /* the document encoding, or NULL */
   12992     int n_encoding;
   12993 
   12994     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   12995     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
   12996     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   12997     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   12998     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   12999         mem_base = xmlMemBlocks();
   13000         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13001         chunk = gen_const_char_ptr(n_chunk, 1);
   13002         size = gen_int(n_size, 2);
   13003         filename = gen_filepath(n_filename, 3);
   13004         encoding = gen_const_char_ptr(n_encoding, 4);
   13005 
   13006         ret_val = xmlCtxtResetPush(ctxt, (const char *)chunk, size, filename, (const char *)encoding);
   13007         desret_int(ret_val);
   13008         call_tests++;
   13009         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13010         des_const_char_ptr(n_chunk, (const char *)chunk, 1);
   13011         des_int(n_size, size, 2);
   13012         des_filepath(n_filename, filename, 3);
   13013         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
   13014         xmlResetLastError();
   13015         if (mem_base != xmlMemBlocks()) {
   13016             printf("Leak of %d blocks found in xmlCtxtResetPush",
   13017 	           xmlMemBlocks() - mem_base);
   13018 	    test_ret++;
   13019             printf(" %d", n_ctxt);
   13020             printf(" %d", n_chunk);
   13021             printf(" %d", n_size);
   13022             printf(" %d", n_filename);
   13023             printf(" %d", n_encoding);
   13024             printf("\n");
   13025         }
   13026     }
   13027     }
   13028     }
   13029     }
   13030     }
   13031     function_tests++;
   13032 
   13033     return(test_ret);
   13034 }
   13035 
   13036 
   13037 static int
   13038 test_xmlCtxtUseOptions(void) {
   13039     int test_ret = 0;
   13040 
   13041     int mem_base;
   13042     int ret_val;
   13043     xmlParserCtxtPtr ctxt; /* an XML parser context */
   13044     int n_ctxt;
   13045     int options; /* a combination of xmlParserOption */
   13046     int n_options;
   13047 
   13048     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13049     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   13050         mem_base = xmlMemBlocks();
   13051         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13052         options = gen_parseroptions(n_options, 1);
   13053 
   13054         ret_val = xmlCtxtUseOptions(ctxt, options);
   13055         desret_int(ret_val);
   13056         call_tests++;
   13057         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13058         des_parseroptions(n_options, options, 1);
   13059         xmlResetLastError();
   13060         if (mem_base != xmlMemBlocks()) {
   13061             printf("Leak of %d blocks found in xmlCtxtUseOptions",
   13062 	           xmlMemBlocks() - mem_base);
   13063 	    test_ret++;
   13064             printf(" %d", n_ctxt);
   13065             printf(" %d", n_options);
   13066             printf("\n");
   13067         }
   13068     }
   13069     }
   13070     function_tests++;
   13071 
   13072     return(test_ret);
   13073 }
   13074 
   13075 
   13076 static int
   13077 test_xmlGetExternalEntityLoader(void) {
   13078     int test_ret = 0;
   13079 
   13080 
   13081     /* missing type support */
   13082     return(test_ret);
   13083 }
   13084 
   13085 
   13086 static int
   13087 test_xmlGetFeature(void) {
   13088     int test_ret = 0;
   13089 
   13090 #if defined(LIBXML_LEGACY_ENABLED)
   13091 #ifdef LIBXML_LEGACY_ENABLED
   13092     int mem_base;
   13093     int ret_val;
   13094     xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */
   13095     int n_ctxt;
   13096     char * name; /* the feature name */
   13097     int n_name;
   13098     void * result; /* location to store the result */
   13099     int n_result;
   13100 
   13101     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13102     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
   13103     for (n_result = 0;n_result < gen_nb_void_ptr;n_result++) {
   13104         mem_base = xmlMemBlocks();
   13105         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13106         name = gen_const_char_ptr(n_name, 1);
   13107         result = gen_void_ptr(n_result, 2);
   13108 
   13109         ret_val = xmlGetFeature(ctxt, (const char *)name, result);
   13110         desret_int(ret_val);
   13111         call_tests++;
   13112         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13113         des_const_char_ptr(n_name, (const char *)name, 1);
   13114         des_void_ptr(n_result, result, 2);
   13115         xmlResetLastError();
   13116         if (mem_base != xmlMemBlocks()) {
   13117             printf("Leak of %d blocks found in xmlGetFeature",
   13118 	           xmlMemBlocks() - mem_base);
   13119 	    test_ret++;
   13120             printf(" %d", n_ctxt);
   13121             printf(" %d", n_name);
   13122             printf(" %d", n_result);
   13123             printf("\n");
   13124         }
   13125     }
   13126     }
   13127     }
   13128     function_tests++;
   13129 #endif
   13130 #endif
   13131 
   13132     return(test_ret);
   13133 }
   13134 
   13135 
   13136 #define gen_nb_const_char_ptr_ptr 1
   13137 static char ** gen_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   13138     return(NULL);
   13139 }
   13140 static void des_const_char_ptr_ptr(int no ATTRIBUTE_UNUSED, const char ** val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   13141 }
   13142 
   13143 static int
   13144 test_xmlGetFeaturesList(void) {
   13145     int test_ret = 0;
   13146 
   13147 #if defined(LIBXML_LEGACY_ENABLED)
   13148 #ifdef LIBXML_LEGACY_ENABLED
   13149     int mem_base;
   13150     int ret_val;
   13151     int * len; /* the length of the features name array (input/output) */
   13152     int n_len;
   13153     char ** result; /* an array of string to be filled with the features name. */
   13154     int n_result;
   13155 
   13156     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
   13157     for (n_result = 0;n_result < gen_nb_const_char_ptr_ptr;n_result++) {
   13158         mem_base = xmlMemBlocks();
   13159         len = gen_int_ptr(n_len, 0);
   13160         result = gen_const_char_ptr_ptr(n_result, 1);
   13161 
   13162         ret_val = xmlGetFeaturesList(len, (const char **)result);
   13163         desret_int(ret_val);
   13164         call_tests++;
   13165         des_int_ptr(n_len, len, 0);
   13166         des_const_char_ptr_ptr(n_result, (const char **)result, 1);
   13167         xmlResetLastError();
   13168         if (mem_base != xmlMemBlocks()) {
   13169             printf("Leak of %d blocks found in xmlGetFeaturesList",
   13170 	           xmlMemBlocks() - mem_base);
   13171 	    test_ret++;
   13172             printf(" %d", n_len);
   13173             printf(" %d", n_result);
   13174             printf("\n");
   13175         }
   13176     }
   13177     }
   13178     function_tests++;
   13179 #endif
   13180 #endif
   13181 
   13182     return(test_ret);
   13183 }
   13184 
   13185 
   13186 static int
   13187 test_xmlHasFeature(void) {
   13188     int test_ret = 0;
   13189 
   13190     int mem_base;
   13191     int ret_val;
   13192     xmlFeature feature; /* the feature to be examined */
   13193     int n_feature;
   13194 
   13195     for (n_feature = 0;n_feature < gen_nb_xmlFeature;n_feature++) {
   13196         mem_base = xmlMemBlocks();
   13197         feature = gen_xmlFeature(n_feature, 0);
   13198 
   13199         ret_val = xmlHasFeature(feature);
   13200         desret_int(ret_val);
   13201         call_tests++;
   13202         des_xmlFeature(n_feature, feature, 0);
   13203         xmlResetLastError();
   13204         if (mem_base != xmlMemBlocks()) {
   13205             printf("Leak of %d blocks found in xmlHasFeature",
   13206 	           xmlMemBlocks() - mem_base);
   13207 	    test_ret++;
   13208             printf(" %d", n_feature);
   13209             printf("\n");
   13210         }
   13211     }
   13212     function_tests++;
   13213 
   13214     return(test_ret);
   13215 }
   13216 
   13217 
   13218 static int
   13219 test_xmlIOParseDTD(void) {
   13220     int test_ret = 0;
   13221 
   13222 #if defined(LIBXML_VALID_ENABLED)
   13223 #ifdef LIBXML_VALID_ENABLED
   13224     xmlDtdPtr ret_val;
   13225     xmlSAXHandlerPtr sax; /* the SAX handler block or NULL */
   13226     int n_sax;
   13227     xmlParserInputBufferPtr input; /* an Input Buffer */
   13228     int n_input;
   13229     xmlCharEncoding enc; /* the charset encoding if known */
   13230     int n_enc;
   13231 
   13232     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   13233     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
   13234     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   13235         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   13236         input = gen_xmlParserInputBufferPtr(n_input, 1);
   13237         enc = gen_xmlCharEncoding(n_enc, 2);
   13238 
   13239         ret_val = xmlIOParseDTD(sax, input, enc);
   13240         input = NULL;
   13241         desret_xmlDtdPtr(ret_val);
   13242         call_tests++;
   13243         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   13244         des_xmlParserInputBufferPtr(n_input, input, 1);
   13245         des_xmlCharEncoding(n_enc, enc, 2);
   13246         xmlResetLastError();
   13247     }
   13248     }
   13249     }
   13250     function_tests++;
   13251 #endif
   13252 #endif
   13253 
   13254     return(test_ret);
   13255 }
   13256 
   13257 
   13258 static int
   13259 test_xmlInitNodeInfoSeq(void) {
   13260     int test_ret = 0;
   13261 
   13262     int mem_base;
   13263     xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
   13264     int n_seq;
   13265 
   13266     for (n_seq = 0;n_seq < gen_nb_xmlParserNodeInfoSeqPtr;n_seq++) {
   13267         mem_base = xmlMemBlocks();
   13268         seq = gen_xmlParserNodeInfoSeqPtr(n_seq, 0);
   13269 
   13270         xmlInitNodeInfoSeq(seq);
   13271         call_tests++;
   13272         des_xmlParserNodeInfoSeqPtr(n_seq, seq, 0);
   13273         xmlResetLastError();
   13274         if (mem_base != xmlMemBlocks()) {
   13275             printf("Leak of %d blocks found in xmlInitNodeInfoSeq",
   13276 	           xmlMemBlocks() - mem_base);
   13277 	    test_ret++;
   13278             printf(" %d", n_seq);
   13279             printf("\n");
   13280         }
   13281     }
   13282     function_tests++;
   13283 
   13284     return(test_ret);
   13285 }
   13286 
   13287 
   13288 static int
   13289 test_xmlInitParser(void) {
   13290     int test_ret = 0;
   13291 
   13292     int mem_base;
   13293 
   13294         mem_base = xmlMemBlocks();
   13295 
   13296         xmlInitParser();
   13297         call_tests++;
   13298         xmlResetLastError();
   13299         if (mem_base != xmlMemBlocks()) {
   13300             printf("Leak of %d blocks found in xmlInitParser",
   13301 	           xmlMemBlocks() - mem_base);
   13302 	    test_ret++;
   13303             printf("\n");
   13304         }
   13305     function_tests++;
   13306 
   13307     return(test_ret);
   13308 }
   13309 
   13310 
   13311 static int
   13312 test_xmlInitParserCtxt(void) {
   13313     int test_ret = 0;
   13314 
   13315     int mem_base;
   13316     int ret_val;
   13317     xmlParserCtxtPtr ctxt; /* an XML parser context */
   13318     int n_ctxt;
   13319 
   13320     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13321         mem_base = xmlMemBlocks();
   13322         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13323 
   13324         ret_val = xmlInitParserCtxt(ctxt);
   13325         desret_int(ret_val);
   13326         call_tests++;
   13327         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13328         xmlResetLastError();
   13329         if (mem_base != xmlMemBlocks()) {
   13330             printf("Leak of %d blocks found in xmlInitParserCtxt",
   13331 	           xmlMemBlocks() - mem_base);
   13332 	    test_ret++;
   13333             printf(" %d", n_ctxt);
   13334             printf("\n");
   13335         }
   13336     }
   13337     function_tests++;
   13338 
   13339     return(test_ret);
   13340 }
   13341 
   13342 
   13343 static int
   13344 test_xmlKeepBlanksDefault(void) {
   13345     int test_ret = 0;
   13346 
   13347     int mem_base;
   13348     int ret_val;
   13349     int val; /* int 0 or 1 */
   13350     int n_val;
   13351 
   13352     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   13353         mem_base = xmlMemBlocks();
   13354         val = gen_int(n_val, 0);
   13355 
   13356         ret_val = xmlKeepBlanksDefault(val);
   13357         desret_int(ret_val);
   13358         call_tests++;
   13359         des_int(n_val, val, 0);
   13360         xmlResetLastError();
   13361         if (mem_base != xmlMemBlocks()) {
   13362             printf("Leak of %d blocks found in xmlKeepBlanksDefault",
   13363 	           xmlMemBlocks() - mem_base);
   13364 	    test_ret++;
   13365             printf(" %d", n_val);
   13366             printf("\n");
   13367         }
   13368     }
   13369     function_tests++;
   13370 
   13371     return(test_ret);
   13372 }
   13373 
   13374 
   13375 static int
   13376 test_xmlLineNumbersDefault(void) {
   13377     int test_ret = 0;
   13378 
   13379     int mem_base;
   13380     int ret_val;
   13381     int val; /* int 0 or 1 */
   13382     int n_val;
   13383 
   13384     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   13385         mem_base = xmlMemBlocks();
   13386         val = gen_int(n_val, 0);
   13387 
   13388         ret_val = xmlLineNumbersDefault(val);
   13389         desret_int(ret_val);
   13390         call_tests++;
   13391         des_int(n_val, val, 0);
   13392         xmlResetLastError();
   13393         if (mem_base != xmlMemBlocks()) {
   13394             printf("Leak of %d blocks found in xmlLineNumbersDefault",
   13395 	           xmlMemBlocks() - mem_base);
   13396 	    test_ret++;
   13397             printf(" %d", n_val);
   13398             printf("\n");
   13399         }
   13400     }
   13401     function_tests++;
   13402 
   13403     return(test_ret);
   13404 }
   13405 
   13406 
   13407 static int
   13408 test_xmlLoadExternalEntity(void) {
   13409     int test_ret = 0;
   13410 
   13411     int mem_base;
   13412     xmlParserInputPtr ret_val;
   13413     const char * URL; /* the URL for the entity to load */
   13414     int n_URL;
   13415     char * ID; /* the Public ID for the entity to load */
   13416     int n_ID;
   13417     xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
   13418     int n_ctxt;
   13419 
   13420     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   13421     for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
   13422     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13423         mem_base = xmlMemBlocks();
   13424         URL = gen_filepath(n_URL, 0);
   13425         ID = gen_const_char_ptr(n_ID, 1);
   13426         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
   13427 
   13428         ret_val = xmlLoadExternalEntity(URL, (const char *)ID, ctxt);
   13429         desret_xmlParserInputPtr(ret_val);
   13430         call_tests++;
   13431         des_filepath(n_URL, URL, 0);
   13432         des_const_char_ptr(n_ID, (const char *)ID, 1);
   13433         des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
   13434         xmlResetLastError();
   13435         if (mem_base != xmlMemBlocks()) {
   13436             printf("Leak of %d blocks found in xmlLoadExternalEntity",
   13437 	           xmlMemBlocks() - mem_base);
   13438 	    test_ret++;
   13439             printf(" %d", n_URL);
   13440             printf(" %d", n_ID);
   13441             printf(" %d", n_ctxt);
   13442             printf("\n");
   13443         }
   13444     }
   13445     }
   13446     }
   13447     function_tests++;
   13448 
   13449     return(test_ret);
   13450 }
   13451 
   13452 
   13453 static int
   13454 test_xmlNewIOInputStream(void) {
   13455     int test_ret = 0;
   13456 
   13457     int mem_base;
   13458     xmlParserInputPtr ret_val;
   13459     xmlParserCtxtPtr ctxt; /* an XML parser context */
   13460     int n_ctxt;
   13461     xmlParserInputBufferPtr input; /* an I/O Input */
   13462     int n_input;
   13463     xmlCharEncoding enc; /* the charset encoding if known */
   13464     int n_enc;
   13465 
   13466     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13467     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
   13468     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   13469         mem_base = xmlMemBlocks();
   13470         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13471         input = gen_xmlParserInputBufferPtr(n_input, 1);
   13472         enc = gen_xmlCharEncoding(n_enc, 2);
   13473 
   13474         ret_val = xmlNewIOInputStream(ctxt, input, enc);
   13475         if (ret_val != NULL) input = NULL;
   13476         desret_xmlParserInputPtr(ret_val);
   13477         call_tests++;
   13478         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13479         des_xmlParserInputBufferPtr(n_input, input, 1);
   13480         des_xmlCharEncoding(n_enc, enc, 2);
   13481         xmlResetLastError();
   13482         if (mem_base != xmlMemBlocks()) {
   13483             printf("Leak of %d blocks found in xmlNewIOInputStream",
   13484 	           xmlMemBlocks() - mem_base);
   13485 	    test_ret++;
   13486             printf(" %d", n_ctxt);
   13487             printf(" %d", n_input);
   13488             printf(" %d", n_enc);
   13489             printf("\n");
   13490         }
   13491     }
   13492     }
   13493     }
   13494     function_tests++;
   13495 
   13496     return(test_ret);
   13497 }
   13498 
   13499 
   13500 static int
   13501 test_xmlNewParserCtxt(void) {
   13502     int test_ret = 0;
   13503 
   13504     int mem_base;
   13505     xmlParserCtxtPtr ret_val;
   13506 
   13507         mem_base = xmlMemBlocks();
   13508 
   13509         ret_val = xmlNewParserCtxt();
   13510         desret_xmlParserCtxtPtr(ret_val);
   13511         call_tests++;
   13512         xmlResetLastError();
   13513         if (mem_base != xmlMemBlocks()) {
   13514             printf("Leak of %d blocks found in xmlNewParserCtxt",
   13515 	           xmlMemBlocks() - mem_base);
   13516 	    test_ret++;
   13517             printf("\n");
   13518         }
   13519     function_tests++;
   13520 
   13521     return(test_ret);
   13522 }
   13523 
   13524 
   13525 #define gen_nb_xmlNodePtr_ptr 1
   13526 static xmlNodePtr * gen_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   13527     return(NULL);
   13528 }
   13529 static void des_xmlNodePtr_ptr(int no ATTRIBUTE_UNUSED, xmlNodePtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   13530 }
   13531 
   13532 static int
   13533 test_xmlParseBalancedChunkMemory(void) {
   13534     int test_ret = 0;
   13535 
   13536 #if defined(LIBXML_SAX1_ENABLED)
   13537 #ifdef LIBXML_SAX1_ENABLED
   13538     int mem_base;
   13539     int ret_val;
   13540     xmlDocPtr doc; /* the document the chunk pertains to */
   13541     int n_doc;
   13542     xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
   13543     int n_sax;
   13544     void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
   13545     int n_user_data;
   13546     int depth; /* Used for loop detection, use 0 */
   13547     int n_depth;
   13548     xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
   13549     int n_string;
   13550     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
   13551     int n_lst;
   13552 
   13553     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   13554     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   13555     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   13556     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   13557     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
   13558     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
   13559         mem_base = xmlMemBlocks();
   13560         doc = gen_xmlDocPtr(n_doc, 0);
   13561         sax = gen_xmlSAXHandlerPtr(n_sax, 1);
   13562         user_data = gen_userdata(n_user_data, 2);
   13563         depth = gen_int(n_depth, 3);
   13564         string = gen_const_xmlChar_ptr(n_string, 4);
   13565         lst = gen_xmlNodePtr_ptr(n_lst, 5);
   13566 
   13567 #ifdef LIBXML_SAX1_ENABLED
   13568         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
   13569 #endif
   13570 
   13571 
   13572         ret_val = xmlParseBalancedChunkMemory(doc, sax, user_data, depth, (const xmlChar *)string, lst);
   13573         desret_int(ret_val);
   13574         call_tests++;
   13575         des_xmlDocPtr(n_doc, doc, 0);
   13576         des_xmlSAXHandlerPtr(n_sax, sax, 1);
   13577         des_userdata(n_user_data, user_data, 2);
   13578         des_int(n_depth, depth, 3);
   13579         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
   13580         des_xmlNodePtr_ptr(n_lst, lst, 5);
   13581         xmlResetLastError();
   13582         if (mem_base != xmlMemBlocks()) {
   13583             printf("Leak of %d blocks found in xmlParseBalancedChunkMemory",
   13584 	           xmlMemBlocks() - mem_base);
   13585 	    test_ret++;
   13586             printf(" %d", n_doc);
   13587             printf(" %d", n_sax);
   13588             printf(" %d", n_user_data);
   13589             printf(" %d", n_depth);
   13590             printf(" %d", n_string);
   13591             printf(" %d", n_lst);
   13592             printf("\n");
   13593         }
   13594     }
   13595     }
   13596     }
   13597     }
   13598     }
   13599     }
   13600     function_tests++;
   13601 #endif
   13602 #endif
   13603 
   13604     return(test_ret);
   13605 }
   13606 
   13607 
   13608 static int
   13609 test_xmlParseBalancedChunkMemoryRecover(void) {
   13610     int test_ret = 0;
   13611 
   13612 #if defined(LIBXML_SAX1_ENABLED)
   13613 #ifdef LIBXML_SAX1_ENABLED
   13614     int mem_base;
   13615     int ret_val;
   13616     xmlDocPtr doc; /* the document the chunk pertains to */
   13617     int n_doc;
   13618     xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
   13619     int n_sax;
   13620     void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
   13621     int n_user_data;
   13622     int depth; /* Used for loop detection, use 0 */
   13623     int n_depth;
   13624     xmlChar * string; /* the input string in UTF8 or ISO-Latin (zero terminated) */
   13625     int n_string;
   13626     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
   13627     int n_lst;
   13628     int recover; /* return nodes even if the data is broken (use 0) */
   13629     int n_recover;
   13630 
   13631     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   13632     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   13633     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   13634     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   13635     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
   13636     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
   13637     for (n_recover = 0;n_recover < gen_nb_int;n_recover++) {
   13638         mem_base = xmlMemBlocks();
   13639         doc = gen_xmlDocPtr(n_doc, 0);
   13640         sax = gen_xmlSAXHandlerPtr(n_sax, 1);
   13641         user_data = gen_userdata(n_user_data, 2);
   13642         depth = gen_int(n_depth, 3);
   13643         string = gen_const_xmlChar_ptr(n_string, 4);
   13644         lst = gen_xmlNodePtr_ptr(n_lst, 5);
   13645         recover = gen_int(n_recover, 6);
   13646 
   13647 #ifdef LIBXML_SAX1_ENABLED
   13648         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
   13649 #endif
   13650 
   13651 
   13652         ret_val = xmlParseBalancedChunkMemoryRecover(doc, sax, user_data, depth, (const xmlChar *)string, lst, recover);
   13653         desret_int(ret_val);
   13654         call_tests++;
   13655         des_xmlDocPtr(n_doc, doc, 0);
   13656         des_xmlSAXHandlerPtr(n_sax, sax, 1);
   13657         des_userdata(n_user_data, user_data, 2);
   13658         des_int(n_depth, depth, 3);
   13659         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 4);
   13660         des_xmlNodePtr_ptr(n_lst, lst, 5);
   13661         des_int(n_recover, recover, 6);
   13662         xmlResetLastError();
   13663         if (mem_base != xmlMemBlocks()) {
   13664             printf("Leak of %d blocks found in xmlParseBalancedChunkMemoryRecover",
   13665 	           xmlMemBlocks() - mem_base);
   13666 	    test_ret++;
   13667             printf(" %d", n_doc);
   13668             printf(" %d", n_sax);
   13669             printf(" %d", n_user_data);
   13670             printf(" %d", n_depth);
   13671             printf(" %d", n_string);
   13672             printf(" %d", n_lst);
   13673             printf(" %d", n_recover);
   13674             printf("\n");
   13675         }
   13676     }
   13677     }
   13678     }
   13679     }
   13680     }
   13681     }
   13682     }
   13683     function_tests++;
   13684 #endif
   13685 #endif
   13686 
   13687     return(test_ret);
   13688 }
   13689 
   13690 
   13691 static int
   13692 test_xmlParseChunk(void) {
   13693     int test_ret = 0;
   13694 
   13695 #if defined(LIBXML_PUSH_ENABLED)
   13696     int mem_base;
   13697     int ret_val;
   13698     xmlParserCtxtPtr ctxt; /* an XML parser context */
   13699     int n_ctxt;
   13700     char * chunk; /* an char array */
   13701     int n_chunk;
   13702     int size; /* the size in byte of the chunk */
   13703     int n_size;
   13704     int terminate; /* last chunk indicator */
   13705     int n_terminate;
   13706 
   13707     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13708     for (n_chunk = 0;n_chunk < gen_nb_const_char_ptr;n_chunk++) {
   13709     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   13710     for (n_terminate = 0;n_terminate < gen_nb_int;n_terminate++) {
   13711         mem_base = xmlMemBlocks();
   13712         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13713         chunk = gen_const_char_ptr(n_chunk, 1);
   13714         size = gen_int(n_size, 2);
   13715         terminate = gen_int(n_terminate, 3);
   13716 
   13717         ret_val = xmlParseChunk(ctxt, (const char *)chunk, size, terminate);
   13718         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
   13719         desret_int(ret_val);
   13720         call_tests++;
   13721         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13722         des_const_char_ptr(n_chunk, (const char *)chunk, 1);
   13723         des_int(n_size, size, 2);
   13724         des_int(n_terminate, terminate, 3);
   13725         xmlResetLastError();
   13726         if (mem_base != xmlMemBlocks()) {
   13727             printf("Leak of %d blocks found in xmlParseChunk",
   13728 	           xmlMemBlocks() - mem_base);
   13729 	    test_ret++;
   13730             printf(" %d", n_ctxt);
   13731             printf(" %d", n_chunk);
   13732             printf(" %d", n_size);
   13733             printf(" %d", n_terminate);
   13734             printf("\n");
   13735         }
   13736     }
   13737     }
   13738     }
   13739     }
   13740     function_tests++;
   13741 #endif
   13742 
   13743     return(test_ret);
   13744 }
   13745 
   13746 
   13747 static int
   13748 test_xmlParseCtxtExternalEntity(void) {
   13749     int test_ret = 0;
   13750 
   13751     int mem_base;
   13752     int ret_val;
   13753     xmlParserCtxtPtr ctx; /* the existing parsing context */
   13754     int n_ctx;
   13755     xmlChar * URL; /* the URL for the entity to load */
   13756     int n_URL;
   13757     xmlChar * ID; /* the System ID for the entity to load */
   13758     int n_ID;
   13759     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
   13760     int n_lst;
   13761 
   13762     for (n_ctx = 0;n_ctx < gen_nb_xmlParserCtxtPtr;n_ctx++) {
   13763     for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
   13764     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
   13765     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
   13766         mem_base = xmlMemBlocks();
   13767         ctx = gen_xmlParserCtxtPtr(n_ctx, 0);
   13768         URL = gen_const_xmlChar_ptr(n_URL, 1);
   13769         ID = gen_const_xmlChar_ptr(n_ID, 2);
   13770         lst = gen_xmlNodePtr_ptr(n_lst, 3);
   13771 
   13772         ret_val = xmlParseCtxtExternalEntity(ctx, (const xmlChar *)URL, (const xmlChar *)ID, lst);
   13773         desret_int(ret_val);
   13774         call_tests++;
   13775         des_xmlParserCtxtPtr(n_ctx, ctx, 0);
   13776         des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 1);
   13777         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 2);
   13778         des_xmlNodePtr_ptr(n_lst, lst, 3);
   13779         xmlResetLastError();
   13780         if (mem_base != xmlMemBlocks()) {
   13781             printf("Leak of %d blocks found in xmlParseCtxtExternalEntity",
   13782 	           xmlMemBlocks() - mem_base);
   13783 	    test_ret++;
   13784             printf(" %d", n_ctx);
   13785             printf(" %d", n_URL);
   13786             printf(" %d", n_ID);
   13787             printf(" %d", n_lst);
   13788             printf("\n");
   13789         }
   13790     }
   13791     }
   13792     }
   13793     }
   13794     function_tests++;
   13795 
   13796     return(test_ret);
   13797 }
   13798 
   13799 
   13800 static int
   13801 test_xmlParseDTD(void) {
   13802     int test_ret = 0;
   13803 
   13804 #if defined(LIBXML_VALID_ENABLED)
   13805 #ifdef LIBXML_VALID_ENABLED
   13806     int mem_base;
   13807     xmlDtdPtr ret_val;
   13808     xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
   13809     int n_ExternalID;
   13810     xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
   13811     int n_SystemID;
   13812 
   13813     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   13814     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   13815         mem_base = xmlMemBlocks();
   13816         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 0);
   13817         SystemID = gen_const_xmlChar_ptr(n_SystemID, 1);
   13818 
   13819         ret_val = xmlParseDTD((const xmlChar *)ExternalID, (const xmlChar *)SystemID);
   13820         desret_xmlDtdPtr(ret_val);
   13821         call_tests++;
   13822         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 0);
   13823         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 1);
   13824         xmlResetLastError();
   13825         if (mem_base != xmlMemBlocks()) {
   13826             printf("Leak of %d blocks found in xmlParseDTD",
   13827 	           xmlMemBlocks() - mem_base);
   13828 	    test_ret++;
   13829             printf(" %d", n_ExternalID);
   13830             printf(" %d", n_SystemID);
   13831             printf("\n");
   13832         }
   13833     }
   13834     }
   13835     function_tests++;
   13836 #endif
   13837 #endif
   13838 
   13839     return(test_ret);
   13840 }
   13841 
   13842 
   13843 static int
   13844 test_xmlParseDoc(void) {
   13845     int test_ret = 0;
   13846 
   13847 #if defined(LIBXML_SAX1_ENABLED)
   13848 #ifdef LIBXML_SAX1_ENABLED
   13849     int mem_base;
   13850     xmlDocPtr ret_val;
   13851     xmlChar * cur; /* a pointer to an array of xmlChar */
   13852     int n_cur;
   13853 
   13854     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   13855         mem_base = xmlMemBlocks();
   13856         cur = gen_const_xmlChar_ptr(n_cur, 0);
   13857 
   13858         ret_val = xmlParseDoc((const xmlChar *)cur);
   13859         desret_xmlDocPtr(ret_val);
   13860         call_tests++;
   13861         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   13862         xmlResetLastError();
   13863         if (mem_base != xmlMemBlocks()) {
   13864             printf("Leak of %d blocks found in xmlParseDoc",
   13865 	           xmlMemBlocks() - mem_base);
   13866 	    test_ret++;
   13867             printf(" %d", n_cur);
   13868             printf("\n");
   13869         }
   13870     }
   13871     function_tests++;
   13872 #endif
   13873 #endif
   13874 
   13875     return(test_ret);
   13876 }
   13877 
   13878 
   13879 static int
   13880 test_xmlParseDocument(void) {
   13881     int test_ret = 0;
   13882 
   13883     int mem_base;
   13884     int ret_val;
   13885     xmlParserCtxtPtr ctxt; /* an XML parser context */
   13886     int n_ctxt;
   13887 
   13888     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13889         mem_base = xmlMemBlocks();
   13890         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13891 
   13892         ret_val = xmlParseDocument(ctxt);
   13893         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
   13894         desret_int(ret_val);
   13895         call_tests++;
   13896         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13897         xmlResetLastError();
   13898         if (mem_base != xmlMemBlocks()) {
   13899             printf("Leak of %d blocks found in xmlParseDocument",
   13900 	           xmlMemBlocks() - mem_base);
   13901 	    test_ret++;
   13902             printf(" %d", n_ctxt);
   13903             printf("\n");
   13904         }
   13905     }
   13906     function_tests++;
   13907 
   13908     return(test_ret);
   13909 }
   13910 
   13911 
   13912 static int
   13913 test_xmlParseEntity(void) {
   13914     int test_ret = 0;
   13915 
   13916 #if defined(LIBXML_SAX1_ENABLED)
   13917 #ifdef LIBXML_SAX1_ENABLED
   13918     int mem_base;
   13919     xmlDocPtr ret_val;
   13920     const char * filename; /* the filename */
   13921     int n_filename;
   13922 
   13923     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   13924         mem_base = xmlMemBlocks();
   13925         filename = gen_filepath(n_filename, 0);
   13926 
   13927         ret_val = xmlParseEntity(filename);
   13928         desret_xmlDocPtr(ret_val);
   13929         call_tests++;
   13930         des_filepath(n_filename, filename, 0);
   13931         xmlResetLastError();
   13932         if (mem_base != xmlMemBlocks()) {
   13933             printf("Leak of %d blocks found in xmlParseEntity",
   13934 	           xmlMemBlocks() - mem_base);
   13935 	    test_ret++;
   13936             printf(" %d", n_filename);
   13937             printf("\n");
   13938         }
   13939     }
   13940     function_tests++;
   13941 #endif
   13942 #endif
   13943 
   13944     return(test_ret);
   13945 }
   13946 
   13947 
   13948 static int
   13949 test_xmlParseExtParsedEnt(void) {
   13950     int test_ret = 0;
   13951 
   13952     int mem_base;
   13953     int ret_val;
   13954     xmlParserCtxtPtr ctxt; /* an XML parser context */
   13955     int n_ctxt;
   13956 
   13957     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   13958         mem_base = xmlMemBlocks();
   13959         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   13960 
   13961         ret_val = xmlParseExtParsedEnt(ctxt);
   13962         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
   13963         desret_int(ret_val);
   13964         call_tests++;
   13965         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   13966         xmlResetLastError();
   13967         if (mem_base != xmlMemBlocks()) {
   13968             printf("Leak of %d blocks found in xmlParseExtParsedEnt",
   13969 	           xmlMemBlocks() - mem_base);
   13970 	    test_ret++;
   13971             printf(" %d", n_ctxt);
   13972             printf("\n");
   13973         }
   13974     }
   13975     function_tests++;
   13976 
   13977     return(test_ret);
   13978 }
   13979 
   13980 
   13981 static int
   13982 test_xmlParseExternalEntity(void) {
   13983     int test_ret = 0;
   13984 
   13985 #if defined(LIBXML_SAX1_ENABLED)
   13986 #ifdef LIBXML_SAX1_ENABLED
   13987     int mem_base;
   13988     int ret_val;
   13989     xmlDocPtr doc; /* the document the chunk pertains to */
   13990     int n_doc;
   13991     xmlSAXHandlerPtr sax; /* the SAX handler bloc (possibly NULL) */
   13992     int n_sax;
   13993     void * user_data; /* The user data returned on SAX callbacks (possibly NULL) */
   13994     int n_user_data;
   13995     int depth; /* Used for loop detection, use 0 */
   13996     int n_depth;
   13997     xmlChar * URL; /* the URL for the entity to load */
   13998     int n_URL;
   13999     xmlChar * ID; /* the System ID for the entity to load */
   14000     int n_ID;
   14001     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
   14002     int n_lst;
   14003 
   14004     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   14005     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   14006     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   14007     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   14008     for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
   14009     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
   14010     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
   14011         mem_base = xmlMemBlocks();
   14012         doc = gen_xmlDocPtr(n_doc, 0);
   14013         sax = gen_xmlSAXHandlerPtr(n_sax, 1);
   14014         user_data = gen_userdata(n_user_data, 2);
   14015         depth = gen_int(n_depth, 3);
   14016         URL = gen_const_xmlChar_ptr(n_URL, 4);
   14017         ID = gen_const_xmlChar_ptr(n_ID, 5);
   14018         lst = gen_xmlNodePtr_ptr(n_lst, 6);
   14019 
   14020         ret_val = xmlParseExternalEntity(doc, sax, user_data, depth, (const xmlChar *)URL, (const xmlChar *)ID, lst);
   14021         desret_int(ret_val);
   14022         call_tests++;
   14023         des_xmlDocPtr(n_doc, doc, 0);
   14024         des_xmlSAXHandlerPtr(n_sax, sax, 1);
   14025         des_userdata(n_user_data, user_data, 2);
   14026         des_int(n_depth, depth, 3);
   14027         des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 4);
   14028         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 5);
   14029         des_xmlNodePtr_ptr(n_lst, lst, 6);
   14030         xmlResetLastError();
   14031         if (mem_base != xmlMemBlocks()) {
   14032             printf("Leak of %d blocks found in xmlParseExternalEntity",
   14033 	           xmlMemBlocks() - mem_base);
   14034 	    test_ret++;
   14035             printf(" %d", n_doc);
   14036             printf(" %d", n_sax);
   14037             printf(" %d", n_user_data);
   14038             printf(" %d", n_depth);
   14039             printf(" %d", n_URL);
   14040             printf(" %d", n_ID);
   14041             printf(" %d", n_lst);
   14042             printf("\n");
   14043         }
   14044     }
   14045     }
   14046     }
   14047     }
   14048     }
   14049     }
   14050     }
   14051     function_tests++;
   14052 #endif
   14053 #endif
   14054 
   14055     return(test_ret);
   14056 }
   14057 
   14058 
   14059 static int
   14060 test_xmlParseFile(void) {
   14061     int test_ret = 0;
   14062 
   14063 #if defined(LIBXML_SAX1_ENABLED)
   14064 #ifdef LIBXML_SAX1_ENABLED
   14065     int mem_base;
   14066     xmlDocPtr ret_val;
   14067     const char * filename; /* the filename */
   14068     int n_filename;
   14069 
   14070     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   14071         mem_base = xmlMemBlocks();
   14072         filename = gen_filepath(n_filename, 0);
   14073 
   14074         ret_val = xmlParseFile(filename);
   14075         desret_xmlDocPtr(ret_val);
   14076         call_tests++;
   14077         des_filepath(n_filename, filename, 0);
   14078         xmlResetLastError();
   14079         if (mem_base != xmlMemBlocks()) {
   14080             printf("Leak of %d blocks found in xmlParseFile",
   14081 	           xmlMemBlocks() - mem_base);
   14082 	    test_ret++;
   14083             printf(" %d", n_filename);
   14084             printf("\n");
   14085         }
   14086     }
   14087     function_tests++;
   14088 #endif
   14089 #endif
   14090 
   14091     return(test_ret);
   14092 }
   14093 
   14094 
   14095 static int
   14096 test_xmlParseInNodeContext(void) {
   14097     int test_ret = 0;
   14098 
   14099     int mem_base;
   14100     xmlParserErrors ret_val;
   14101     xmlNodePtr node; /* the context node */
   14102     int n_node;
   14103     char * data; /* the input string */
   14104     int n_data;
   14105     int datalen; /* the input string length in bytes */
   14106     int n_datalen;
   14107     int options; /* a combination of xmlParserOption */
   14108     int n_options;
   14109     xmlNodePtr * lst; /* the return value for the set of parsed nodes */
   14110     int n_lst;
   14111 
   14112     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   14113     for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
   14114     for (n_datalen = 0;n_datalen < gen_nb_int;n_datalen++) {
   14115     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   14116     for (n_lst = 0;n_lst < gen_nb_xmlNodePtr_ptr;n_lst++) {
   14117         mem_base = xmlMemBlocks();
   14118         node = gen_xmlNodePtr(n_node, 0);
   14119         data = gen_const_char_ptr(n_data, 1);
   14120         datalen = gen_int(n_datalen, 2);
   14121         options = gen_parseroptions(n_options, 3);
   14122         lst = gen_xmlNodePtr_ptr(n_lst, 4);
   14123 
   14124         ret_val = xmlParseInNodeContext(node, (const char *)data, datalen, options, lst);
   14125         desret_xmlParserErrors(ret_val);
   14126         call_tests++;
   14127         des_xmlNodePtr(n_node, node, 0);
   14128         des_const_char_ptr(n_data, (const char *)data, 1);
   14129         des_int(n_datalen, datalen, 2);
   14130         des_parseroptions(n_options, options, 3);
   14131         des_xmlNodePtr_ptr(n_lst, lst, 4);
   14132         xmlResetLastError();
   14133         if (mem_base != xmlMemBlocks()) {
   14134             printf("Leak of %d blocks found in xmlParseInNodeContext",
   14135 	           xmlMemBlocks() - mem_base);
   14136 	    test_ret++;
   14137             printf(" %d", n_node);
   14138             printf(" %d", n_data);
   14139             printf(" %d", n_datalen);
   14140             printf(" %d", n_options);
   14141             printf(" %d", n_lst);
   14142             printf("\n");
   14143         }
   14144     }
   14145     }
   14146     }
   14147     }
   14148     }
   14149     function_tests++;
   14150 
   14151     return(test_ret);
   14152 }
   14153 
   14154 
   14155 static int
   14156 test_xmlParseMemory(void) {
   14157     int test_ret = 0;
   14158 
   14159 #if defined(LIBXML_SAX1_ENABLED)
   14160 #ifdef LIBXML_SAX1_ENABLED
   14161     int mem_base;
   14162     xmlDocPtr ret_val;
   14163     char * buffer; /* an pointer to a char array */
   14164     int n_buffer;
   14165     int size; /* the size of the array */
   14166     int n_size;
   14167 
   14168     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   14169     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   14170         mem_base = xmlMemBlocks();
   14171         buffer = gen_const_char_ptr(n_buffer, 0);
   14172         size = gen_int(n_size, 1);
   14173 
   14174         ret_val = xmlParseMemory((const char *)buffer, size);
   14175         desret_xmlDocPtr(ret_val);
   14176         call_tests++;
   14177         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   14178         des_int(n_size, size, 1);
   14179         xmlResetLastError();
   14180         if (mem_base != xmlMemBlocks()) {
   14181             printf("Leak of %d blocks found in xmlParseMemory",
   14182 	           xmlMemBlocks() - mem_base);
   14183 	    test_ret++;
   14184             printf(" %d", n_buffer);
   14185             printf(" %d", n_size);
   14186             printf("\n");
   14187         }
   14188     }
   14189     }
   14190     function_tests++;
   14191 #endif
   14192 #endif
   14193 
   14194     return(test_ret);
   14195 }
   14196 
   14197 
   14198 #define gen_nb_const_xmlParserNodeInfoPtr 1
   14199 static xmlParserNodeInfoPtr gen_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14200     return(NULL);
   14201 }
   14202 static void des_const_xmlParserNodeInfoPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14203 }
   14204 
   14205 static int
   14206 test_xmlParserAddNodeInfo(void) {
   14207     int test_ret = 0;
   14208 
   14209     int mem_base;
   14210     xmlParserCtxtPtr ctxt; /* an XML parser context */
   14211     int n_ctxt;
   14212     xmlParserNodeInfoPtr info; /* a node info sequence pointer */
   14213     int n_info;
   14214 
   14215     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   14216     for (n_info = 0;n_info < gen_nb_const_xmlParserNodeInfoPtr;n_info++) {
   14217         mem_base = xmlMemBlocks();
   14218         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   14219         info = gen_const_xmlParserNodeInfoPtr(n_info, 1);
   14220 
   14221         xmlParserAddNodeInfo(ctxt, (const xmlParserNodeInfoPtr)info);
   14222         call_tests++;
   14223         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   14224         des_const_xmlParserNodeInfoPtr(n_info, (const xmlParserNodeInfoPtr)info, 1);
   14225         xmlResetLastError();
   14226         if (mem_base != xmlMemBlocks()) {
   14227             printf("Leak of %d blocks found in xmlParserAddNodeInfo",
   14228 	           xmlMemBlocks() - mem_base);
   14229 	    test_ret++;
   14230             printf(" %d", n_ctxt);
   14231             printf(" %d", n_info);
   14232             printf("\n");
   14233         }
   14234     }
   14235     }
   14236     function_tests++;
   14237 
   14238     return(test_ret);
   14239 }
   14240 
   14241 
   14242 #define gen_nb_const_xmlParserCtxtPtr 1
   14243 static xmlParserCtxtPtr gen_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14244     return(NULL);
   14245 }
   14246 static void des_const_xmlParserCtxtPtr(int no ATTRIBUTE_UNUSED, const xmlParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14247 }
   14248 
   14249 #define gen_nb_const_xmlNodePtr 1
   14250 static xmlNodePtr gen_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14251     return(NULL);
   14252 }
   14253 static void des_const_xmlNodePtr(int no ATTRIBUTE_UNUSED, const xmlNodePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14254 }
   14255 
   14256 static int
   14257 test_xmlParserFindNodeInfo(void) {
   14258     int test_ret = 0;
   14259 
   14260     int mem_base;
   14261     const xmlParserNodeInfo * ret_val;
   14262     xmlParserCtxtPtr ctx; /* an XML parser context */
   14263     int n_ctx;
   14264     xmlNodePtr node; /* an XML node within the tree */
   14265     int n_node;
   14266 
   14267     for (n_ctx = 0;n_ctx < gen_nb_const_xmlParserCtxtPtr;n_ctx++) {
   14268     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
   14269         mem_base = xmlMemBlocks();
   14270         ctx = gen_const_xmlParserCtxtPtr(n_ctx, 0);
   14271         node = gen_const_xmlNodePtr(n_node, 1);
   14272 
   14273         ret_val = xmlParserFindNodeInfo((const xmlParserCtxtPtr)ctx, (const xmlNodePtr)node);
   14274         desret_const_xmlParserNodeInfo_ptr(ret_val);
   14275         call_tests++;
   14276         des_const_xmlParserCtxtPtr(n_ctx, (const xmlParserCtxtPtr)ctx, 0);
   14277         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
   14278         xmlResetLastError();
   14279         if (mem_base != xmlMemBlocks()) {
   14280             printf("Leak of %d blocks found in xmlParserFindNodeInfo",
   14281 	           xmlMemBlocks() - mem_base);
   14282 	    test_ret++;
   14283             printf(" %d", n_ctx);
   14284             printf(" %d", n_node);
   14285             printf("\n");
   14286         }
   14287     }
   14288     }
   14289     function_tests++;
   14290 
   14291     return(test_ret);
   14292 }
   14293 
   14294 
   14295 #define gen_nb_const_xmlParserNodeInfoSeqPtr 1
   14296 static xmlParserNodeInfoSeqPtr gen_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14297     return(NULL);
   14298 }
   14299 static void des_const_xmlParserNodeInfoSeqPtr(int no ATTRIBUTE_UNUSED, const xmlParserNodeInfoSeqPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14300 }
   14301 
   14302 static int
   14303 test_xmlParserFindNodeInfoIndex(void) {
   14304     int test_ret = 0;
   14305 
   14306     int mem_base;
   14307     unsigned long ret_val;
   14308     xmlParserNodeInfoSeqPtr seq; /* a node info sequence pointer */
   14309     int n_seq;
   14310     xmlNodePtr node; /* an XML node pointer */
   14311     int n_node;
   14312 
   14313     for (n_seq = 0;n_seq < gen_nb_const_xmlParserNodeInfoSeqPtr;n_seq++) {
   14314     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
   14315         mem_base = xmlMemBlocks();
   14316         seq = gen_const_xmlParserNodeInfoSeqPtr(n_seq, 0);
   14317         node = gen_const_xmlNodePtr(n_node, 1);
   14318 
   14319         ret_val = xmlParserFindNodeInfoIndex((const xmlParserNodeInfoSeqPtr)seq, (const xmlNodePtr)node);
   14320         desret_unsigned_long(ret_val);
   14321         call_tests++;
   14322         des_const_xmlParserNodeInfoSeqPtr(n_seq, (const xmlParserNodeInfoSeqPtr)seq, 0);
   14323         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
   14324         xmlResetLastError();
   14325         if (mem_base != xmlMemBlocks()) {
   14326             printf("Leak of %d blocks found in xmlParserFindNodeInfoIndex",
   14327 	           xmlMemBlocks() - mem_base);
   14328 	    test_ret++;
   14329             printf(" %d", n_seq);
   14330             printf(" %d", n_node);
   14331             printf("\n");
   14332         }
   14333     }
   14334     }
   14335     function_tests++;
   14336 
   14337     return(test_ret);
   14338 }
   14339 
   14340 
   14341 #define gen_nb_xmlParserInputPtr 1
   14342 static xmlParserInputPtr gen_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14343     return(NULL);
   14344 }
   14345 static void des_xmlParserInputPtr(int no ATTRIBUTE_UNUSED, xmlParserInputPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   14346 }
   14347 
   14348 static int
   14349 test_xmlParserInputGrow(void) {
   14350     int test_ret = 0;
   14351 
   14352     int mem_base;
   14353     int ret_val;
   14354     xmlParserInputPtr in; /* an XML parser input */
   14355     int n_in;
   14356     int len; /* an indicative size for the lookahead */
   14357     int n_len;
   14358 
   14359     for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
   14360     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   14361         mem_base = xmlMemBlocks();
   14362         in = gen_xmlParserInputPtr(n_in, 0);
   14363         len = gen_int(n_len, 1);
   14364 
   14365         ret_val = xmlParserInputGrow(in, len);
   14366         desret_int(ret_val);
   14367         call_tests++;
   14368         des_xmlParserInputPtr(n_in, in, 0);
   14369         des_int(n_len, len, 1);
   14370         xmlResetLastError();
   14371         if (mem_base != xmlMemBlocks()) {
   14372             printf("Leak of %d blocks found in xmlParserInputGrow",
   14373 	           xmlMemBlocks() - mem_base);
   14374 	    test_ret++;
   14375             printf(" %d", n_in);
   14376             printf(" %d", n_len);
   14377             printf("\n");
   14378         }
   14379     }
   14380     }
   14381     function_tests++;
   14382 
   14383     return(test_ret);
   14384 }
   14385 
   14386 
   14387 static int
   14388 test_xmlParserInputRead(void) {
   14389     int test_ret = 0;
   14390 
   14391     int mem_base;
   14392     int ret_val;
   14393     xmlParserInputPtr in; /* an XML parser input */
   14394     int n_in;
   14395     int len; /* an indicative size for the lookahead */
   14396     int n_len;
   14397 
   14398     for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
   14399     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   14400         mem_base = xmlMemBlocks();
   14401         in = gen_xmlParserInputPtr(n_in, 0);
   14402         len = gen_int(n_len, 1);
   14403 
   14404         ret_val = xmlParserInputRead(in, len);
   14405         desret_int(ret_val);
   14406         call_tests++;
   14407         des_xmlParserInputPtr(n_in, in, 0);
   14408         des_int(n_len, len, 1);
   14409         xmlResetLastError();
   14410         if (mem_base != xmlMemBlocks()) {
   14411             printf("Leak of %d blocks found in xmlParserInputRead",
   14412 	           xmlMemBlocks() - mem_base);
   14413 	    test_ret++;
   14414             printf(" %d", n_in);
   14415             printf(" %d", n_len);
   14416             printf("\n");
   14417         }
   14418     }
   14419     }
   14420     function_tests++;
   14421 
   14422     return(test_ret);
   14423 }
   14424 
   14425 
   14426 static int
   14427 test_xmlPedanticParserDefault(void) {
   14428     int test_ret = 0;
   14429 
   14430     int mem_base;
   14431     int ret_val;
   14432     int val; /* int 0 or 1 */
   14433     int n_val;
   14434 
   14435     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   14436         mem_base = xmlMemBlocks();
   14437         val = gen_int(n_val, 0);
   14438 
   14439         ret_val = xmlPedanticParserDefault(val);
   14440         desret_int(ret_val);
   14441         call_tests++;
   14442         des_int(n_val, val, 0);
   14443         xmlResetLastError();
   14444         if (mem_base != xmlMemBlocks()) {
   14445             printf("Leak of %d blocks found in xmlPedanticParserDefault",
   14446 	           xmlMemBlocks() - mem_base);
   14447 	    test_ret++;
   14448             printf(" %d", n_val);
   14449             printf("\n");
   14450         }
   14451     }
   14452     function_tests++;
   14453 
   14454     return(test_ret);
   14455 }
   14456 
   14457 
   14458 static int
   14459 test_xmlReadDoc(void) {
   14460     int test_ret = 0;
   14461 
   14462     int mem_base;
   14463     xmlDocPtr ret_val;
   14464     xmlChar * cur; /* a pointer to a zero terminated string */
   14465     int n_cur;
   14466     const char * URL; /* the base URL to use for the document */
   14467     int n_URL;
   14468     char * encoding; /* the document encoding, or NULL */
   14469     int n_encoding;
   14470     int options; /* a combination of xmlParserOption */
   14471     int n_options;
   14472 
   14473     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   14474     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   14475     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   14476     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   14477         mem_base = xmlMemBlocks();
   14478         cur = gen_const_xmlChar_ptr(n_cur, 0);
   14479         URL = gen_filepath(n_URL, 1);
   14480         encoding = gen_const_char_ptr(n_encoding, 2);
   14481         options = gen_parseroptions(n_options, 3);
   14482 
   14483         ret_val = xmlReadDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
   14484         desret_xmlDocPtr(ret_val);
   14485         call_tests++;
   14486         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   14487         des_filepath(n_URL, URL, 1);
   14488         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   14489         des_parseroptions(n_options, options, 3);
   14490         xmlResetLastError();
   14491         if (mem_base != xmlMemBlocks()) {
   14492             printf("Leak of %d blocks found in xmlReadDoc",
   14493 	           xmlMemBlocks() - mem_base);
   14494 	    test_ret++;
   14495             printf(" %d", n_cur);
   14496             printf(" %d", n_URL);
   14497             printf(" %d", n_encoding);
   14498             printf(" %d", n_options);
   14499             printf("\n");
   14500         }
   14501     }
   14502     }
   14503     }
   14504     }
   14505     function_tests++;
   14506 
   14507     return(test_ret);
   14508 }
   14509 
   14510 
   14511 static int
   14512 test_xmlReadFile(void) {
   14513     int test_ret = 0;
   14514 
   14515     int mem_base;
   14516     xmlDocPtr ret_val;
   14517     const char * filename; /* a file or URL */
   14518     int n_filename;
   14519     char * encoding; /* the document encoding, or NULL */
   14520     int n_encoding;
   14521     int options; /* a combination of xmlParserOption */
   14522     int n_options;
   14523 
   14524     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   14525     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   14526     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   14527         mem_base = xmlMemBlocks();
   14528         filename = gen_filepath(n_filename, 0);
   14529         encoding = gen_const_char_ptr(n_encoding, 1);
   14530         options = gen_parseroptions(n_options, 2);
   14531 
   14532         ret_val = xmlReadFile(filename, (const char *)encoding, options);
   14533         desret_xmlDocPtr(ret_val);
   14534         call_tests++;
   14535         des_filepath(n_filename, filename, 0);
   14536         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   14537         des_parseroptions(n_options, options, 2);
   14538         xmlResetLastError();
   14539         if (mem_base != xmlMemBlocks()) {
   14540             printf("Leak of %d blocks found in xmlReadFile",
   14541 	           xmlMemBlocks() - mem_base);
   14542 	    test_ret++;
   14543             printf(" %d", n_filename);
   14544             printf(" %d", n_encoding);
   14545             printf(" %d", n_options);
   14546             printf("\n");
   14547         }
   14548     }
   14549     }
   14550     }
   14551     function_tests++;
   14552 
   14553     return(test_ret);
   14554 }
   14555 
   14556 
   14557 static int
   14558 test_xmlReadMemory(void) {
   14559     int test_ret = 0;
   14560 
   14561     int mem_base;
   14562     xmlDocPtr ret_val;
   14563     char * buffer; /* a pointer to a char array */
   14564     int n_buffer;
   14565     int size; /* the size of the array */
   14566     int n_size;
   14567     const char * URL; /* the base URL to use for the document */
   14568     int n_URL;
   14569     char * encoding; /* the document encoding, or NULL */
   14570     int n_encoding;
   14571     int options; /* a combination of xmlParserOption */
   14572     int n_options;
   14573 
   14574     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   14575     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   14576     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   14577     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   14578     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   14579         mem_base = xmlMemBlocks();
   14580         buffer = gen_const_char_ptr(n_buffer, 0);
   14581         size = gen_int(n_size, 1);
   14582         URL = gen_filepath(n_URL, 2);
   14583         encoding = gen_const_char_ptr(n_encoding, 3);
   14584         options = gen_parseroptions(n_options, 4);
   14585 
   14586         ret_val = xmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
   14587         desret_xmlDocPtr(ret_val);
   14588         call_tests++;
   14589         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   14590         des_int(n_size, size, 1);
   14591         des_filepath(n_URL, URL, 2);
   14592         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   14593         des_parseroptions(n_options, options, 4);
   14594         xmlResetLastError();
   14595         if (mem_base != xmlMemBlocks()) {
   14596             printf("Leak of %d blocks found in xmlReadMemory",
   14597 	           xmlMemBlocks() - mem_base);
   14598 	    test_ret++;
   14599             printf(" %d", n_buffer);
   14600             printf(" %d", n_size);
   14601             printf(" %d", n_URL);
   14602             printf(" %d", n_encoding);
   14603             printf(" %d", n_options);
   14604             printf("\n");
   14605         }
   14606     }
   14607     }
   14608     }
   14609     }
   14610     }
   14611     function_tests++;
   14612 
   14613     return(test_ret);
   14614 }
   14615 
   14616 
   14617 static int
   14618 test_xmlRecoverDoc(void) {
   14619     int test_ret = 0;
   14620 
   14621 #if defined(LIBXML_SAX1_ENABLED)
   14622 #ifdef LIBXML_SAX1_ENABLED
   14623     int mem_base;
   14624     xmlDocPtr ret_val;
   14625     xmlChar * cur; /* a pointer to an array of xmlChar */
   14626     int n_cur;
   14627 
   14628     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   14629         mem_base = xmlMemBlocks();
   14630         cur = gen_const_xmlChar_ptr(n_cur, 0);
   14631 
   14632         ret_val = xmlRecoverDoc((const xmlChar *)cur);
   14633         desret_xmlDocPtr(ret_val);
   14634         call_tests++;
   14635         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   14636         xmlResetLastError();
   14637         if (mem_base != xmlMemBlocks()) {
   14638             printf("Leak of %d blocks found in xmlRecoverDoc",
   14639 	           xmlMemBlocks() - mem_base);
   14640 	    test_ret++;
   14641             printf(" %d", n_cur);
   14642             printf("\n");
   14643         }
   14644     }
   14645     function_tests++;
   14646 #endif
   14647 #endif
   14648 
   14649     return(test_ret);
   14650 }
   14651 
   14652 
   14653 static int
   14654 test_xmlRecoverFile(void) {
   14655     int test_ret = 0;
   14656 
   14657 #if defined(LIBXML_SAX1_ENABLED)
   14658 #ifdef LIBXML_SAX1_ENABLED
   14659     int mem_base;
   14660     xmlDocPtr ret_val;
   14661     const char * filename; /* the filename */
   14662     int n_filename;
   14663 
   14664     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   14665         mem_base = xmlMemBlocks();
   14666         filename = gen_filepath(n_filename, 0);
   14667 
   14668         ret_val = xmlRecoverFile(filename);
   14669         desret_xmlDocPtr(ret_val);
   14670         call_tests++;
   14671         des_filepath(n_filename, filename, 0);
   14672         xmlResetLastError();
   14673         if (mem_base != xmlMemBlocks()) {
   14674             printf("Leak of %d blocks found in xmlRecoverFile",
   14675 	           xmlMemBlocks() - mem_base);
   14676 	    test_ret++;
   14677             printf(" %d", n_filename);
   14678             printf("\n");
   14679         }
   14680     }
   14681     function_tests++;
   14682 #endif
   14683 #endif
   14684 
   14685     return(test_ret);
   14686 }
   14687 
   14688 
   14689 static int
   14690 test_xmlRecoverMemory(void) {
   14691     int test_ret = 0;
   14692 
   14693 #if defined(LIBXML_SAX1_ENABLED)
   14694 #ifdef LIBXML_SAX1_ENABLED
   14695     int mem_base;
   14696     xmlDocPtr ret_val;
   14697     char * buffer; /* an pointer to a char array */
   14698     int n_buffer;
   14699     int size; /* the size of the array */
   14700     int n_size;
   14701 
   14702     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   14703     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   14704         mem_base = xmlMemBlocks();
   14705         buffer = gen_const_char_ptr(n_buffer, 0);
   14706         size = gen_int(n_size, 1);
   14707 
   14708         ret_val = xmlRecoverMemory((const char *)buffer, size);
   14709         desret_xmlDocPtr(ret_val);
   14710         call_tests++;
   14711         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   14712         des_int(n_size, size, 1);
   14713         xmlResetLastError();
   14714         if (mem_base != xmlMemBlocks()) {
   14715             printf("Leak of %d blocks found in xmlRecoverMemory",
   14716 	           xmlMemBlocks() - mem_base);
   14717 	    test_ret++;
   14718             printf(" %d", n_buffer);
   14719             printf(" %d", n_size);
   14720             printf("\n");
   14721         }
   14722     }
   14723     }
   14724     function_tests++;
   14725 #endif
   14726 #endif
   14727 
   14728     return(test_ret);
   14729 }
   14730 
   14731 
   14732 static int
   14733 test_xmlSAXParseDTD(void) {
   14734     int test_ret = 0;
   14735 
   14736 #if defined(LIBXML_VALID_ENABLED)
   14737 #ifdef LIBXML_SAX1_ENABLED
   14738     int mem_base;
   14739     xmlDtdPtr ret_val;
   14740     xmlSAXHandlerPtr sax; /* the SAX handler block */
   14741     int n_sax;
   14742     xmlChar * ExternalID; /* a NAME* containing the External ID of the DTD */
   14743     int n_ExternalID;
   14744     xmlChar * SystemID; /* a NAME* containing the URL to the DTD */
   14745     int n_SystemID;
   14746 
   14747     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   14748     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   14749     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   14750         mem_base = xmlMemBlocks();
   14751         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   14752         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 1);
   14753         SystemID = gen_const_xmlChar_ptr(n_SystemID, 2);
   14754 
   14755         ret_val = xmlSAXParseDTD(sax, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
   14756         desret_xmlDtdPtr(ret_val);
   14757         call_tests++;
   14758         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   14759         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 1);
   14760         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 2);
   14761         xmlResetLastError();
   14762         if (mem_base != xmlMemBlocks()) {
   14763             printf("Leak of %d blocks found in xmlSAXParseDTD",
   14764 	           xmlMemBlocks() - mem_base);
   14765 	    test_ret++;
   14766             printf(" %d", n_sax);
   14767             printf(" %d", n_ExternalID);
   14768             printf(" %d", n_SystemID);
   14769             printf("\n");
   14770         }
   14771     }
   14772     }
   14773     }
   14774     function_tests++;
   14775 #endif
   14776 #endif
   14777 
   14778     return(test_ret);
   14779 }
   14780 
   14781 
   14782 static int
   14783 test_xmlSAXParseDoc(void) {
   14784     int test_ret = 0;
   14785 
   14786 #if defined(LIBXML_SAX1_ENABLED)
   14787 #ifdef LIBXML_SAX1_ENABLED
   14788     int mem_base;
   14789     xmlDocPtr ret_val;
   14790     xmlSAXHandlerPtr sax; /* the SAX handler block */
   14791     int n_sax;
   14792     xmlChar * cur; /* a pointer to an array of xmlChar */
   14793     int n_cur;
   14794     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
   14795     int n_recovery;
   14796 
   14797     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   14798     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   14799     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
   14800         mem_base = xmlMemBlocks();
   14801         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   14802         cur = gen_const_xmlChar_ptr(n_cur, 1);
   14803         recovery = gen_int(n_recovery, 2);
   14804 
   14805         ret_val = xmlSAXParseDoc(sax, (const xmlChar *)cur, recovery);
   14806         desret_xmlDocPtr(ret_val);
   14807         call_tests++;
   14808         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   14809         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
   14810         des_int(n_recovery, recovery, 2);
   14811         xmlResetLastError();
   14812         if (mem_base != xmlMemBlocks()) {
   14813             printf("Leak of %d blocks found in xmlSAXParseDoc",
   14814 	           xmlMemBlocks() - mem_base);
   14815 	    test_ret++;
   14816             printf(" %d", n_sax);
   14817             printf(" %d", n_cur);
   14818             printf(" %d", n_recovery);
   14819             printf("\n");
   14820         }
   14821     }
   14822     }
   14823     }
   14824     function_tests++;
   14825 #endif
   14826 #endif
   14827 
   14828     return(test_ret);
   14829 }
   14830 
   14831 
   14832 static int
   14833 test_xmlSAXParseEntity(void) {
   14834     int test_ret = 0;
   14835 
   14836 #if defined(LIBXML_SAX1_ENABLED)
   14837 #ifdef LIBXML_SAX1_ENABLED
   14838     int mem_base;
   14839     xmlDocPtr ret_val;
   14840     xmlSAXHandlerPtr sax; /* the SAX handler block */
   14841     int n_sax;
   14842     const char * filename; /* the filename */
   14843     int n_filename;
   14844 
   14845     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   14846     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   14847         mem_base = xmlMemBlocks();
   14848         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   14849         filename = gen_filepath(n_filename, 1);
   14850 
   14851         ret_val = xmlSAXParseEntity(sax, filename);
   14852         desret_xmlDocPtr(ret_val);
   14853         call_tests++;
   14854         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   14855         des_filepath(n_filename, filename, 1);
   14856         xmlResetLastError();
   14857         if (mem_base != xmlMemBlocks()) {
   14858             printf("Leak of %d blocks found in xmlSAXParseEntity",
   14859 	           xmlMemBlocks() - mem_base);
   14860 	    test_ret++;
   14861             printf(" %d", n_sax);
   14862             printf(" %d", n_filename);
   14863             printf("\n");
   14864         }
   14865     }
   14866     }
   14867     function_tests++;
   14868 #endif
   14869 #endif
   14870 
   14871     return(test_ret);
   14872 }
   14873 
   14874 
   14875 static int
   14876 test_xmlSAXParseFile(void) {
   14877     int test_ret = 0;
   14878 
   14879 #if defined(LIBXML_SAX1_ENABLED)
   14880 #ifdef LIBXML_SAX1_ENABLED
   14881     int mem_base;
   14882     xmlDocPtr ret_val;
   14883     xmlSAXHandlerPtr sax; /* the SAX handler block */
   14884     int n_sax;
   14885     const char * filename; /* the filename */
   14886     int n_filename;
   14887     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
   14888     int n_recovery;
   14889 
   14890     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   14891     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   14892     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
   14893         mem_base = xmlMemBlocks();
   14894         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   14895         filename = gen_filepath(n_filename, 1);
   14896         recovery = gen_int(n_recovery, 2);
   14897 
   14898         ret_val = xmlSAXParseFile(sax, filename, recovery);
   14899         desret_xmlDocPtr(ret_val);
   14900         call_tests++;
   14901         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   14902         des_filepath(n_filename, filename, 1);
   14903         des_int(n_recovery, recovery, 2);
   14904         xmlResetLastError();
   14905         if (mem_base != xmlMemBlocks()) {
   14906             printf("Leak of %d blocks found in xmlSAXParseFile",
   14907 	           xmlMemBlocks() - mem_base);
   14908 	    test_ret++;
   14909             printf(" %d", n_sax);
   14910             printf(" %d", n_filename);
   14911             printf(" %d", n_recovery);
   14912             printf("\n");
   14913         }
   14914     }
   14915     }
   14916     }
   14917     function_tests++;
   14918 #endif
   14919 #endif
   14920 
   14921     return(test_ret);
   14922 }
   14923 
   14924 
   14925 static int
   14926 test_xmlSAXParseFileWithData(void) {
   14927     int test_ret = 0;
   14928 
   14929 #if defined(LIBXML_SAX1_ENABLED)
   14930 #ifdef LIBXML_SAX1_ENABLED
   14931     int mem_base;
   14932     xmlDocPtr ret_val;
   14933     xmlSAXHandlerPtr sax; /* the SAX handler block */
   14934     int n_sax;
   14935     const char * filename; /* the filename */
   14936     int n_filename;
   14937     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
   14938     int n_recovery;
   14939     void * data; /* the userdata */
   14940     int n_data;
   14941 
   14942     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   14943     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   14944     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
   14945     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   14946         mem_base = xmlMemBlocks();
   14947         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   14948         filename = gen_filepath(n_filename, 1);
   14949         recovery = gen_int(n_recovery, 2);
   14950         data = gen_userdata(n_data, 3);
   14951 
   14952         ret_val = xmlSAXParseFileWithData(sax, filename, recovery, data);
   14953         desret_xmlDocPtr(ret_val);
   14954         call_tests++;
   14955         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   14956         des_filepath(n_filename, filename, 1);
   14957         des_int(n_recovery, recovery, 2);
   14958         des_userdata(n_data, data, 3);
   14959         xmlResetLastError();
   14960         if (mem_base != xmlMemBlocks()) {
   14961             printf("Leak of %d blocks found in xmlSAXParseFileWithData",
   14962 	           xmlMemBlocks() - mem_base);
   14963 	    test_ret++;
   14964             printf(" %d", n_sax);
   14965             printf(" %d", n_filename);
   14966             printf(" %d", n_recovery);
   14967             printf(" %d", n_data);
   14968             printf("\n");
   14969         }
   14970     }
   14971     }
   14972     }
   14973     }
   14974     function_tests++;
   14975 #endif
   14976 #endif
   14977 
   14978     return(test_ret);
   14979 }
   14980 
   14981 
   14982 static int
   14983 test_xmlSAXParseMemory(void) {
   14984     int test_ret = 0;
   14985 
   14986 #if defined(LIBXML_SAX1_ENABLED)
   14987 #ifdef LIBXML_SAX1_ENABLED
   14988     int mem_base;
   14989     xmlDocPtr ret_val;
   14990     xmlSAXHandlerPtr sax; /* the SAX handler block */
   14991     int n_sax;
   14992     char * buffer; /* an pointer to a char array */
   14993     int n_buffer;
   14994     int size; /* the size of the array */
   14995     int n_size;
   14996     int recovery; /* work in recovery mode, i.e. tries to read not Well Formed documents */
   14997     int n_recovery;
   14998 
   14999     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   15000     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   15001     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   15002     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
   15003         mem_base = xmlMemBlocks();
   15004         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   15005         buffer = gen_const_char_ptr(n_buffer, 1);
   15006         size = gen_int(n_size, 2);
   15007         recovery = gen_int(n_recovery, 3);
   15008 
   15009         ret_val = xmlSAXParseMemory(sax, (const char *)buffer, size, recovery);
   15010         desret_xmlDocPtr(ret_val);
   15011         call_tests++;
   15012         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   15013         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
   15014         des_int(n_size, size, 2);
   15015         des_int(n_recovery, recovery, 3);
   15016         xmlResetLastError();
   15017         if (mem_base != xmlMemBlocks()) {
   15018             printf("Leak of %d blocks found in xmlSAXParseMemory",
   15019 	           xmlMemBlocks() - mem_base);
   15020 	    test_ret++;
   15021             printf(" %d", n_sax);
   15022             printf(" %d", n_buffer);
   15023             printf(" %d", n_size);
   15024             printf(" %d", n_recovery);
   15025             printf("\n");
   15026         }
   15027     }
   15028     }
   15029     }
   15030     }
   15031     function_tests++;
   15032 #endif
   15033 #endif
   15034 
   15035     return(test_ret);
   15036 }
   15037 
   15038 
   15039 static int
   15040 test_xmlSAXParseMemoryWithData(void) {
   15041     int test_ret = 0;
   15042 
   15043 #if defined(LIBXML_SAX1_ENABLED)
   15044 #ifdef LIBXML_SAX1_ENABLED
   15045     int mem_base;
   15046     xmlDocPtr ret_val;
   15047     xmlSAXHandlerPtr sax; /* the SAX handler block */
   15048     int n_sax;
   15049     char * buffer; /* an pointer to a char array */
   15050     int n_buffer;
   15051     int size; /* the size of the array */
   15052     int n_size;
   15053     int recovery; /* work in recovery mode, i.e. tries to read no Well Formed documents */
   15054     int n_recovery;
   15055     void * data; /* the userdata */
   15056     int n_data;
   15057 
   15058     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   15059     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   15060     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   15061     for (n_recovery = 0;n_recovery < gen_nb_int;n_recovery++) {
   15062     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   15063         mem_base = xmlMemBlocks();
   15064         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   15065         buffer = gen_const_char_ptr(n_buffer, 1);
   15066         size = gen_int(n_size, 2);
   15067         recovery = gen_int(n_recovery, 3);
   15068         data = gen_userdata(n_data, 4);
   15069 
   15070         ret_val = xmlSAXParseMemoryWithData(sax, (const char *)buffer, size, recovery, data);
   15071         desret_xmlDocPtr(ret_val);
   15072         call_tests++;
   15073         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   15074         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
   15075         des_int(n_size, size, 2);
   15076         des_int(n_recovery, recovery, 3);
   15077         des_userdata(n_data, data, 4);
   15078         xmlResetLastError();
   15079         if (mem_base != xmlMemBlocks()) {
   15080             printf("Leak of %d blocks found in xmlSAXParseMemoryWithData",
   15081 	           xmlMemBlocks() - mem_base);
   15082 	    test_ret++;
   15083             printf(" %d", n_sax);
   15084             printf(" %d", n_buffer);
   15085             printf(" %d", n_size);
   15086             printf(" %d", n_recovery);
   15087             printf(" %d", n_data);
   15088             printf("\n");
   15089         }
   15090     }
   15091     }
   15092     }
   15093     }
   15094     }
   15095     function_tests++;
   15096 #endif
   15097 #endif
   15098 
   15099     return(test_ret);
   15100 }
   15101 
   15102 
   15103 static int
   15104 test_xmlSAXUserParseFile(void) {
   15105     int test_ret = 0;
   15106 
   15107 #if defined(LIBXML_SAX1_ENABLED)
   15108 #ifdef LIBXML_SAX1_ENABLED
   15109     int mem_base;
   15110     int ret_val;
   15111     xmlSAXHandlerPtr sax; /* a SAX handler */
   15112     int n_sax;
   15113     void * user_data; /* The user data returned on SAX callbacks */
   15114     int n_user_data;
   15115     const char * filename; /* a file name */
   15116     int n_filename;
   15117 
   15118     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   15119     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   15120     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   15121         mem_base = xmlMemBlocks();
   15122         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   15123         user_data = gen_userdata(n_user_data, 1);
   15124         filename = gen_filepath(n_filename, 2);
   15125 
   15126 #ifdef LIBXML_SAX1_ENABLED
   15127         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
   15128 #endif
   15129 
   15130 
   15131         ret_val = xmlSAXUserParseFile(sax, user_data, filename);
   15132         desret_int(ret_val);
   15133         call_tests++;
   15134         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   15135         des_userdata(n_user_data, user_data, 1);
   15136         des_filepath(n_filename, filename, 2);
   15137         xmlResetLastError();
   15138         if (mem_base != xmlMemBlocks()) {
   15139             printf("Leak of %d blocks found in xmlSAXUserParseFile",
   15140 	           xmlMemBlocks() - mem_base);
   15141 	    test_ret++;
   15142             printf(" %d", n_sax);
   15143             printf(" %d", n_user_data);
   15144             printf(" %d", n_filename);
   15145             printf("\n");
   15146         }
   15147     }
   15148     }
   15149     }
   15150     function_tests++;
   15151 #endif
   15152 #endif
   15153 
   15154     return(test_ret);
   15155 }
   15156 
   15157 
   15158 static int
   15159 test_xmlSAXUserParseMemory(void) {
   15160     int test_ret = 0;
   15161 
   15162 #if defined(LIBXML_SAX1_ENABLED)
   15163 #ifdef LIBXML_SAX1_ENABLED
   15164     int mem_base;
   15165     int ret_val;
   15166     xmlSAXHandlerPtr sax; /* a SAX handler */
   15167     int n_sax;
   15168     void * user_data; /* The user data returned on SAX callbacks */
   15169     int n_user_data;
   15170     char * buffer; /* an in-memory XML document input */
   15171     int n_buffer;
   15172     int size; /* the length of the XML document in bytes */
   15173     int n_size;
   15174 
   15175     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   15176     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   15177     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   15178     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   15179         mem_base = xmlMemBlocks();
   15180         sax = gen_xmlSAXHandlerPtr(n_sax, 0);
   15181         user_data = gen_userdata(n_user_data, 1);
   15182         buffer = gen_const_char_ptr(n_buffer, 2);
   15183         size = gen_int(n_size, 3);
   15184 
   15185 #ifdef LIBXML_SAX1_ENABLED
   15186         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
   15187 #endif
   15188 
   15189 
   15190         ret_val = xmlSAXUserParseMemory(sax, user_data, (const char *)buffer, size);
   15191         desret_int(ret_val);
   15192         call_tests++;
   15193         des_xmlSAXHandlerPtr(n_sax, sax, 0);
   15194         des_userdata(n_user_data, user_data, 1);
   15195         des_const_char_ptr(n_buffer, (const char *)buffer, 2);
   15196         des_int(n_size, size, 3);
   15197         xmlResetLastError();
   15198         if (mem_base != xmlMemBlocks()) {
   15199             printf("Leak of %d blocks found in xmlSAXUserParseMemory",
   15200 	           xmlMemBlocks() - mem_base);
   15201 	    test_ret++;
   15202             printf(" %d", n_sax);
   15203             printf(" %d", n_user_data);
   15204             printf(" %d", n_buffer);
   15205             printf(" %d", n_size);
   15206             printf("\n");
   15207         }
   15208     }
   15209     }
   15210     }
   15211     }
   15212     function_tests++;
   15213 #endif
   15214 #endif
   15215 
   15216     return(test_ret);
   15217 }
   15218 
   15219 
   15220 static int
   15221 test_xmlSetExternalEntityLoader(void) {
   15222     int test_ret = 0;
   15223 
   15224 
   15225     /* missing type support */
   15226     return(test_ret);
   15227 }
   15228 
   15229 
   15230 static int
   15231 test_xmlSetFeature(void) {
   15232     int test_ret = 0;
   15233 
   15234 #if defined(LIBXML_LEGACY_ENABLED)
   15235 #ifdef LIBXML_LEGACY_ENABLED
   15236     int mem_base;
   15237     int ret_val;
   15238     xmlParserCtxtPtr ctxt; /* an XML/HTML parser context */
   15239     int n_ctxt;
   15240     char * name; /* the feature name */
   15241     int n_name;
   15242     void * value; /* pointer to the location of the new value */
   15243     int n_value;
   15244 
   15245     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15246     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
   15247     for (n_value = 0;n_value < gen_nb_void_ptr;n_value++) {
   15248         mem_base = xmlMemBlocks();
   15249         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15250         name = gen_const_char_ptr(n_name, 1);
   15251         value = gen_void_ptr(n_value, 2);
   15252 
   15253         ret_val = xmlSetFeature(ctxt, (const char *)name, value);
   15254         desret_int(ret_val);
   15255         call_tests++;
   15256         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15257         des_const_char_ptr(n_name, (const char *)name, 1);
   15258         des_void_ptr(n_value, value, 2);
   15259         xmlResetLastError();
   15260         if (mem_base != xmlMemBlocks()) {
   15261             printf("Leak of %d blocks found in xmlSetFeature",
   15262 	           xmlMemBlocks() - mem_base);
   15263 	    test_ret++;
   15264             printf(" %d", n_ctxt);
   15265             printf(" %d", n_name);
   15266             printf(" %d", n_value);
   15267             printf("\n");
   15268         }
   15269     }
   15270     }
   15271     }
   15272     function_tests++;
   15273 #endif
   15274 #endif
   15275 
   15276     return(test_ret);
   15277 }
   15278 
   15279 
   15280 static int
   15281 test_xmlSetupParserForBuffer(void) {
   15282     int test_ret = 0;
   15283 
   15284 #if defined(LIBXML_SAX1_ENABLED)
   15285 #ifdef LIBXML_SAX1_ENABLED
   15286     int mem_base;
   15287     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15288     int n_ctxt;
   15289     xmlChar * buffer; /* a xmlChar * buffer */
   15290     int n_buffer;
   15291     const char * filename; /* a file name */
   15292     int n_filename;
   15293 
   15294     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15295     for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
   15296     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   15297         mem_base = xmlMemBlocks();
   15298         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15299         buffer = gen_const_xmlChar_ptr(n_buffer, 1);
   15300         filename = gen_filepath(n_filename, 2);
   15301 
   15302         xmlSetupParserForBuffer(ctxt, (const xmlChar *)buffer, filename);
   15303         call_tests++;
   15304         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15305         des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
   15306         des_filepath(n_filename, filename, 2);
   15307         xmlResetLastError();
   15308         if (mem_base != xmlMemBlocks()) {
   15309             printf("Leak of %d blocks found in xmlSetupParserForBuffer",
   15310 	           xmlMemBlocks() - mem_base);
   15311 	    test_ret++;
   15312             printf(" %d", n_ctxt);
   15313             printf(" %d", n_buffer);
   15314             printf(" %d", n_filename);
   15315             printf("\n");
   15316         }
   15317     }
   15318     }
   15319     }
   15320     function_tests++;
   15321 #endif
   15322 #endif
   15323 
   15324     return(test_ret);
   15325 }
   15326 
   15327 
   15328 static int
   15329 test_xmlStopParser(void) {
   15330     int test_ret = 0;
   15331 
   15332 #ifdef LIBXML_PUSH_ENABLED
   15333     int mem_base;
   15334     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15335     int n_ctxt;
   15336 
   15337     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15338         mem_base = xmlMemBlocks();
   15339         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15340 
   15341         xmlStopParser(ctxt);
   15342         call_tests++;
   15343         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15344         xmlResetLastError();
   15345         if (mem_base != xmlMemBlocks()) {
   15346             printf("Leak of %d blocks found in xmlStopParser",
   15347 	           xmlMemBlocks() - mem_base);
   15348 	    test_ret++;
   15349             printf(" %d", n_ctxt);
   15350             printf("\n");
   15351         }
   15352     }
   15353     function_tests++;
   15354 #endif
   15355 
   15356     return(test_ret);
   15357 }
   15358 
   15359 
   15360 static int
   15361 test_xmlSubstituteEntitiesDefault(void) {
   15362     int test_ret = 0;
   15363 
   15364     int mem_base;
   15365     int ret_val;
   15366     int val; /* int 0 or 1 */
   15367     int n_val;
   15368 
   15369     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   15370         mem_base = xmlMemBlocks();
   15371         val = gen_int(n_val, 0);
   15372 
   15373         ret_val = xmlSubstituteEntitiesDefault(val);
   15374         desret_int(ret_val);
   15375         call_tests++;
   15376         des_int(n_val, val, 0);
   15377         xmlResetLastError();
   15378         if (mem_base != xmlMemBlocks()) {
   15379             printf("Leak of %d blocks found in xmlSubstituteEntitiesDefault",
   15380 	           xmlMemBlocks() - mem_base);
   15381 	    test_ret++;
   15382             printf(" %d", n_val);
   15383             printf("\n");
   15384         }
   15385     }
   15386     function_tests++;
   15387 
   15388     return(test_ret);
   15389 }
   15390 
   15391 static int
   15392 test_parser(void) {
   15393     int test_ret = 0;
   15394 
   15395     if (quiet == 0) printf("Testing parser : 61 of 70 functions ...\n");
   15396     test_ret += test_xmlByteConsumed();
   15397     test_ret += test_xmlClearNodeInfoSeq();
   15398     test_ret += test_xmlClearParserCtxt();
   15399     test_ret += test_xmlCreateDocParserCtxt();
   15400     test_ret += test_xmlCreatePushParserCtxt();
   15401     test_ret += test_xmlCtxtReadDoc();
   15402     test_ret += test_xmlCtxtReadFile();
   15403     test_ret += test_xmlCtxtReadMemory();
   15404     test_ret += test_xmlCtxtReset();
   15405     test_ret += test_xmlCtxtResetPush();
   15406     test_ret += test_xmlCtxtUseOptions();
   15407     test_ret += test_xmlGetExternalEntityLoader();
   15408     test_ret += test_xmlGetFeature();
   15409     test_ret += test_xmlGetFeaturesList();
   15410     test_ret += test_xmlHasFeature();
   15411     test_ret += test_xmlIOParseDTD();
   15412     test_ret += test_xmlInitNodeInfoSeq();
   15413     test_ret += test_xmlInitParser();
   15414     test_ret += test_xmlInitParserCtxt();
   15415     test_ret += test_xmlKeepBlanksDefault();
   15416     test_ret += test_xmlLineNumbersDefault();
   15417     test_ret += test_xmlLoadExternalEntity();
   15418     test_ret += test_xmlNewIOInputStream();
   15419     test_ret += test_xmlNewParserCtxt();
   15420     test_ret += test_xmlParseBalancedChunkMemory();
   15421     test_ret += test_xmlParseBalancedChunkMemoryRecover();
   15422     test_ret += test_xmlParseChunk();
   15423     test_ret += test_xmlParseCtxtExternalEntity();
   15424     test_ret += test_xmlParseDTD();
   15425     test_ret += test_xmlParseDoc();
   15426     test_ret += test_xmlParseDocument();
   15427     test_ret += test_xmlParseEntity();
   15428     test_ret += test_xmlParseExtParsedEnt();
   15429     test_ret += test_xmlParseExternalEntity();
   15430     test_ret += test_xmlParseFile();
   15431     test_ret += test_xmlParseInNodeContext();
   15432     test_ret += test_xmlParseMemory();
   15433     test_ret += test_xmlParserAddNodeInfo();
   15434     test_ret += test_xmlParserFindNodeInfo();
   15435     test_ret += test_xmlParserFindNodeInfoIndex();
   15436     test_ret += test_xmlParserInputGrow();
   15437     test_ret += test_xmlParserInputRead();
   15438     test_ret += test_xmlPedanticParserDefault();
   15439     test_ret += test_xmlReadDoc();
   15440     test_ret += test_xmlReadFile();
   15441     test_ret += test_xmlReadMemory();
   15442     test_ret += test_xmlRecoverDoc();
   15443     test_ret += test_xmlRecoverFile();
   15444     test_ret += test_xmlRecoverMemory();
   15445     test_ret += test_xmlSAXParseDTD();
   15446     test_ret += test_xmlSAXParseDoc();
   15447     test_ret += test_xmlSAXParseEntity();
   15448     test_ret += test_xmlSAXParseFile();
   15449     test_ret += test_xmlSAXParseFileWithData();
   15450     test_ret += test_xmlSAXParseMemory();
   15451     test_ret += test_xmlSAXParseMemoryWithData();
   15452     test_ret += test_xmlSAXUserParseFile();
   15453     test_ret += test_xmlSAXUserParseMemory();
   15454     test_ret += test_xmlSetExternalEntityLoader();
   15455     test_ret += test_xmlSetFeature();
   15456     test_ret += test_xmlSetupParserForBuffer();
   15457     test_ret += test_xmlStopParser();
   15458     test_ret += test_xmlSubstituteEntitiesDefault();
   15459 
   15460     if (test_ret != 0)
   15461 	printf("Module parser: %d errors\n", test_ret);
   15462     return(test_ret);
   15463 }
   15464 
   15465 static int
   15466 test_htmlCreateFileParserCtxt(void) {
   15467     int test_ret = 0;
   15468 
   15469 #if defined(LIBXML_HTML_ENABLED)
   15470     int mem_base;
   15471     htmlParserCtxtPtr ret_val;
   15472     const char * filename; /* the filename */
   15473     int n_filename;
   15474     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
   15475     int n_encoding;
   15476 
   15477     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   15478     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   15479         mem_base = xmlMemBlocks();
   15480         filename = gen_fileoutput(n_filename, 0);
   15481         encoding = gen_const_char_ptr(n_encoding, 1);
   15482 
   15483         ret_val = htmlCreateFileParserCtxt(filename, (const char *)encoding);
   15484         desret_htmlParserCtxtPtr(ret_val);
   15485         call_tests++;
   15486         des_fileoutput(n_filename, filename, 0);
   15487         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   15488         xmlResetLastError();
   15489         if (mem_base != xmlMemBlocks()) {
   15490             printf("Leak of %d blocks found in htmlCreateFileParserCtxt",
   15491 	           xmlMemBlocks() - mem_base);
   15492 	    test_ret++;
   15493             printf(" %d", n_filename);
   15494             printf(" %d", n_encoding);
   15495             printf("\n");
   15496         }
   15497     }
   15498     }
   15499     function_tests++;
   15500 #endif
   15501 
   15502     return(test_ret);
   15503 }
   15504 
   15505 
   15506 static int
   15507 test_htmlInitAutoClose(void) {
   15508     int test_ret = 0;
   15509 
   15510 #if defined(LIBXML_HTML_ENABLED)
   15511     int mem_base;
   15512 
   15513         mem_base = xmlMemBlocks();
   15514 
   15515         htmlInitAutoClose();
   15516         call_tests++;
   15517         xmlResetLastError();
   15518         if (mem_base != xmlMemBlocks()) {
   15519             printf("Leak of %d blocks found in htmlInitAutoClose",
   15520 	           xmlMemBlocks() - mem_base);
   15521 	    test_ret++;
   15522             printf("\n");
   15523         }
   15524     function_tests++;
   15525 #endif
   15526 
   15527     return(test_ret);
   15528 }
   15529 
   15530 
   15531 static int
   15532 test_inputPop(void) {
   15533     int test_ret = 0;
   15534 
   15535     int mem_base;
   15536     xmlParserInputPtr ret_val;
   15537     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15538     int n_ctxt;
   15539 
   15540     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15541         mem_base = xmlMemBlocks();
   15542         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15543 
   15544         ret_val = inputPop(ctxt);
   15545         desret_xmlParserInputPtr(ret_val);
   15546         call_tests++;
   15547         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15548         xmlResetLastError();
   15549         if (mem_base != xmlMemBlocks()) {
   15550             printf("Leak of %d blocks found in inputPop",
   15551 	           xmlMemBlocks() - mem_base);
   15552 	    test_ret++;
   15553             printf(" %d", n_ctxt);
   15554             printf("\n");
   15555         }
   15556     }
   15557     function_tests++;
   15558 
   15559     return(test_ret);
   15560 }
   15561 
   15562 
   15563 static int
   15564 test_inputPush(void) {
   15565     int test_ret = 0;
   15566 
   15567     int mem_base;
   15568     int ret_val;
   15569     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15570     int n_ctxt;
   15571     xmlParserInputPtr value; /* the parser input */
   15572     int n_value;
   15573 
   15574     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15575     for (n_value = 0;n_value < gen_nb_xmlParserInputPtr;n_value++) {
   15576         mem_base = xmlMemBlocks();
   15577         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15578         value = gen_xmlParserInputPtr(n_value, 1);
   15579 
   15580         ret_val = inputPush(ctxt, value);
   15581         desret_int(ret_val);
   15582         call_tests++;
   15583         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15584         des_xmlParserInputPtr(n_value, value, 1);
   15585         xmlResetLastError();
   15586         if (mem_base != xmlMemBlocks()) {
   15587             printf("Leak of %d blocks found in inputPush",
   15588 	           xmlMemBlocks() - mem_base);
   15589 	    test_ret++;
   15590             printf(" %d", n_ctxt);
   15591             printf(" %d", n_value);
   15592             printf("\n");
   15593         }
   15594     }
   15595     }
   15596     function_tests++;
   15597 
   15598     return(test_ret);
   15599 }
   15600 
   15601 
   15602 static int
   15603 test_namePop(void) {
   15604     int test_ret = 0;
   15605 
   15606     int mem_base;
   15607     const xmlChar * ret_val;
   15608     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15609     int n_ctxt;
   15610 
   15611     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15612         mem_base = xmlMemBlocks();
   15613         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15614 
   15615         ret_val = namePop(ctxt);
   15616         desret_const_xmlChar_ptr(ret_val);
   15617         call_tests++;
   15618         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15619         xmlResetLastError();
   15620         if (mem_base != xmlMemBlocks()) {
   15621             printf("Leak of %d blocks found in namePop",
   15622 	           xmlMemBlocks() - mem_base);
   15623 	    test_ret++;
   15624             printf(" %d", n_ctxt);
   15625             printf("\n");
   15626         }
   15627     }
   15628     function_tests++;
   15629 
   15630     return(test_ret);
   15631 }
   15632 
   15633 
   15634 static int
   15635 test_namePush(void) {
   15636     int test_ret = 0;
   15637 
   15638     int mem_base;
   15639     int ret_val;
   15640     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15641     int n_ctxt;
   15642     xmlChar * value; /* the element name */
   15643     int n_value;
   15644 
   15645     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15646     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   15647         mem_base = xmlMemBlocks();
   15648         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15649         value = gen_const_xmlChar_ptr(n_value, 1);
   15650 
   15651         ret_val = namePush(ctxt, (const xmlChar *)value);
   15652         desret_int(ret_val);
   15653         call_tests++;
   15654         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15655         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   15656         xmlResetLastError();
   15657         if (mem_base != xmlMemBlocks()) {
   15658             printf("Leak of %d blocks found in namePush",
   15659 	           xmlMemBlocks() - mem_base);
   15660 	    test_ret++;
   15661             printf(" %d", n_ctxt);
   15662             printf(" %d", n_value);
   15663             printf("\n");
   15664         }
   15665     }
   15666     }
   15667     function_tests++;
   15668 
   15669     return(test_ret);
   15670 }
   15671 
   15672 
   15673 static int
   15674 test_nodePop(void) {
   15675     int test_ret = 0;
   15676 
   15677     int mem_base;
   15678     xmlNodePtr ret_val;
   15679     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15680     int n_ctxt;
   15681 
   15682     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15683         mem_base = xmlMemBlocks();
   15684         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15685 
   15686         ret_val = nodePop(ctxt);
   15687         desret_xmlNodePtr(ret_val);
   15688         call_tests++;
   15689         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15690         xmlResetLastError();
   15691         if (mem_base != xmlMemBlocks()) {
   15692             printf("Leak of %d blocks found in nodePop",
   15693 	           xmlMemBlocks() - mem_base);
   15694 	    test_ret++;
   15695             printf(" %d", n_ctxt);
   15696             printf("\n");
   15697         }
   15698     }
   15699     function_tests++;
   15700 
   15701     return(test_ret);
   15702 }
   15703 
   15704 
   15705 static int
   15706 test_nodePush(void) {
   15707     int test_ret = 0;
   15708 
   15709     int mem_base;
   15710     int ret_val;
   15711     xmlParserCtxtPtr ctxt; /* an XML parser context */
   15712     int n_ctxt;
   15713     xmlNodePtr value; /* the element node */
   15714     int n_value;
   15715 
   15716     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   15717     for (n_value = 0;n_value < gen_nb_xmlNodePtr;n_value++) {
   15718         mem_base = xmlMemBlocks();
   15719         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   15720         value = gen_xmlNodePtr(n_value, 1);
   15721 
   15722         ret_val = nodePush(ctxt, value);
   15723         desret_int(ret_val);
   15724         call_tests++;
   15725         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   15726         des_xmlNodePtr(n_value, value, 1);
   15727         xmlResetLastError();
   15728         if (mem_base != xmlMemBlocks()) {
   15729             printf("Leak of %d blocks found in nodePush",
   15730 	           xmlMemBlocks() - mem_base);
   15731 	    test_ret++;
   15732             printf(" %d", n_ctxt);
   15733             printf(" %d", n_value);
   15734             printf("\n");
   15735         }
   15736     }
   15737     }
   15738     function_tests++;
   15739 
   15740     return(test_ret);
   15741 }
   15742 
   15743 
   15744 static int
   15745 test_xmlCheckLanguageID(void) {
   15746     int test_ret = 0;
   15747 
   15748     int mem_base;
   15749     int ret_val;
   15750     xmlChar * lang; /* pointer to the string value */
   15751     int n_lang;
   15752 
   15753     for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
   15754         mem_base = xmlMemBlocks();
   15755         lang = gen_const_xmlChar_ptr(n_lang, 0);
   15756 
   15757         ret_val = xmlCheckLanguageID((const xmlChar *)lang);
   15758         desret_int(ret_val);
   15759         call_tests++;
   15760         des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 0);
   15761         xmlResetLastError();
   15762         if (mem_base != xmlMemBlocks()) {
   15763             printf("Leak of %d blocks found in xmlCheckLanguageID",
   15764 	           xmlMemBlocks() - mem_base);
   15765 	    test_ret++;
   15766             printf(" %d", n_lang);
   15767             printf("\n");
   15768         }
   15769     }
   15770     function_tests++;
   15771 
   15772     return(test_ret);
   15773 }
   15774 
   15775 
   15776 static int
   15777 test_xmlCopyChar(void) {
   15778     int test_ret = 0;
   15779 
   15780     int mem_base;
   15781     int ret_val;
   15782     int len; /* Ignored, compatibility */
   15783     int n_len;
   15784     xmlChar * out; /* pointer to an array of xmlChar */
   15785     int n_out;
   15786     int val; /* the char value */
   15787     int n_val;
   15788 
   15789     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   15790     for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
   15791     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   15792         mem_base = xmlMemBlocks();
   15793         len = gen_int(n_len, 0);
   15794         out = gen_xmlChar_ptr(n_out, 1);
   15795         val = gen_int(n_val, 2);
   15796 
   15797         ret_val = xmlCopyChar(len, out, val);
   15798         desret_int(ret_val);
   15799         call_tests++;
   15800         des_int(n_len, len, 0);
   15801         des_xmlChar_ptr(n_out, out, 1);
   15802         des_int(n_val, val, 2);
   15803         xmlResetLastError();
   15804         if (mem_base != xmlMemBlocks()) {
   15805             printf("Leak of %d blocks found in xmlCopyChar",
   15806 	           xmlMemBlocks() - mem_base);
   15807 	    test_ret++;
   15808             printf(" %d", n_len);
   15809             printf(" %d", n_out);
   15810             printf(" %d", n_val);
   15811             printf("\n");
   15812         }
   15813     }
   15814     }
   15815     }
   15816     function_tests++;
   15817 
   15818     return(test_ret);
   15819 }
   15820 
   15821 
   15822 static int
   15823 test_xmlCopyCharMultiByte(void) {
   15824     int test_ret = 0;
   15825 
   15826     int mem_base;
   15827     int ret_val;
   15828     xmlChar * out; /* pointer to an array of xmlChar */
   15829     int n_out;
   15830     int val; /* the char value */
   15831     int n_val;
   15832 
   15833     for (n_out = 0;n_out < gen_nb_xmlChar_ptr;n_out++) {
   15834     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   15835         mem_base = xmlMemBlocks();
   15836         out = gen_xmlChar_ptr(n_out, 0);
   15837         val = gen_int(n_val, 1);
   15838 
   15839         ret_val = xmlCopyCharMultiByte(out, val);
   15840         desret_int(ret_val);
   15841         call_tests++;
   15842         des_xmlChar_ptr(n_out, out, 0);
   15843         des_int(n_val, val, 1);
   15844         xmlResetLastError();
   15845         if (mem_base != xmlMemBlocks()) {
   15846             printf("Leak of %d blocks found in xmlCopyCharMultiByte",
   15847 	           xmlMemBlocks() - mem_base);
   15848 	    test_ret++;
   15849             printf(" %d", n_out);
   15850             printf(" %d", n_val);
   15851             printf("\n");
   15852         }
   15853     }
   15854     }
   15855     function_tests++;
   15856 
   15857     return(test_ret);
   15858 }
   15859 
   15860 
   15861 static int
   15862 test_xmlCreateEntityParserCtxt(void) {
   15863     int test_ret = 0;
   15864 
   15865     int mem_base;
   15866     xmlParserCtxtPtr ret_val;
   15867     xmlChar * URL; /* the entity URL */
   15868     int n_URL;
   15869     xmlChar * ID; /* the entity PUBLIC ID */
   15870     int n_ID;
   15871     xmlChar * base; /* a possible base for the target URI */
   15872     int n_base;
   15873 
   15874     for (n_URL = 0;n_URL < gen_nb_const_xmlChar_ptr;n_URL++) {
   15875     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
   15876     for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
   15877         mem_base = xmlMemBlocks();
   15878         URL = gen_const_xmlChar_ptr(n_URL, 0);
   15879         ID = gen_const_xmlChar_ptr(n_ID, 1);
   15880         base = gen_const_xmlChar_ptr(n_base, 2);
   15881 
   15882         ret_val = xmlCreateEntityParserCtxt((const xmlChar *)URL, (const xmlChar *)ID, (const xmlChar *)base);
   15883         desret_xmlParserCtxtPtr(ret_val);
   15884         call_tests++;
   15885         des_const_xmlChar_ptr(n_URL, (const xmlChar *)URL, 0);
   15886         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
   15887         des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 2);
   15888         xmlResetLastError();
   15889         if (mem_base != xmlMemBlocks()) {
   15890             printf("Leak of %d blocks found in xmlCreateEntityParserCtxt",
   15891 	           xmlMemBlocks() - mem_base);
   15892 	    test_ret++;
   15893             printf(" %d", n_URL);
   15894             printf(" %d", n_ID);
   15895             printf(" %d", n_base);
   15896             printf("\n");
   15897         }
   15898     }
   15899     }
   15900     }
   15901     function_tests++;
   15902 
   15903     return(test_ret);
   15904 }
   15905 
   15906 
   15907 static int
   15908 test_xmlCreateFileParserCtxt(void) {
   15909     int test_ret = 0;
   15910 
   15911     int mem_base;
   15912     xmlParserCtxtPtr ret_val;
   15913     const char * filename; /* the filename */
   15914     int n_filename;
   15915 
   15916     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   15917         mem_base = xmlMemBlocks();
   15918         filename = gen_fileoutput(n_filename, 0);
   15919 
   15920         ret_val = xmlCreateFileParserCtxt(filename);
   15921         desret_xmlParserCtxtPtr(ret_val);
   15922         call_tests++;
   15923         des_fileoutput(n_filename, filename, 0);
   15924         xmlResetLastError();
   15925         if (mem_base != xmlMemBlocks()) {
   15926             printf("Leak of %d blocks found in xmlCreateFileParserCtxt",
   15927 	           xmlMemBlocks() - mem_base);
   15928 	    test_ret++;
   15929             printf(" %d", n_filename);
   15930             printf("\n");
   15931         }
   15932     }
   15933     function_tests++;
   15934 
   15935     return(test_ret);
   15936 }
   15937 
   15938 
   15939 static int
   15940 test_xmlCreateMemoryParserCtxt(void) {
   15941     int test_ret = 0;
   15942 
   15943     int mem_base;
   15944     xmlParserCtxtPtr ret_val;
   15945     char * buffer; /* a pointer to a char array */
   15946     int n_buffer;
   15947     int size; /* the size of the array */
   15948     int n_size;
   15949 
   15950     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   15951     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   15952         mem_base = xmlMemBlocks();
   15953         buffer = gen_const_char_ptr(n_buffer, 0);
   15954         size = gen_int(n_size, 1);
   15955 
   15956         ret_val = xmlCreateMemoryParserCtxt((const char *)buffer, size);
   15957         desret_xmlParserCtxtPtr(ret_val);
   15958         call_tests++;
   15959         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   15960         des_int(n_size, size, 1);
   15961         xmlResetLastError();
   15962         if (mem_base != xmlMemBlocks()) {
   15963             printf("Leak of %d blocks found in xmlCreateMemoryParserCtxt",
   15964 	           xmlMemBlocks() - mem_base);
   15965 	    test_ret++;
   15966             printf(" %d", n_buffer);
   15967             printf(" %d", n_size);
   15968             printf("\n");
   15969         }
   15970     }
   15971     }
   15972     function_tests++;
   15973 
   15974     return(test_ret);
   15975 }
   15976 
   15977 
   15978 static int
   15979 test_xmlCreateURLParserCtxt(void) {
   15980     int test_ret = 0;
   15981 
   15982     int mem_base;
   15983     xmlParserCtxtPtr ret_val;
   15984     const char * filename; /* the filename or URL */
   15985     int n_filename;
   15986     int options; /* a combination of xmlParserOption */
   15987     int n_options;
   15988 
   15989     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   15990     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   15991         mem_base = xmlMemBlocks();
   15992         filename = gen_fileoutput(n_filename, 0);
   15993         options = gen_int(n_options, 1);
   15994 
   15995         ret_val = xmlCreateURLParserCtxt(filename, options);
   15996         desret_xmlParserCtxtPtr(ret_val);
   15997         call_tests++;
   15998         des_fileoutput(n_filename, filename, 0);
   15999         des_int(n_options, options, 1);
   16000         xmlResetLastError();
   16001         if (mem_base != xmlMemBlocks()) {
   16002             printf("Leak of %d blocks found in xmlCreateURLParserCtxt",
   16003 	           xmlMemBlocks() - mem_base);
   16004 	    test_ret++;
   16005             printf(" %d", n_filename);
   16006             printf(" %d", n_options);
   16007             printf("\n");
   16008         }
   16009     }
   16010     }
   16011     function_tests++;
   16012 
   16013     return(test_ret);
   16014 }
   16015 
   16016 
   16017 static int
   16018 test_xmlCurrentChar(void) {
   16019     int test_ret = 0;
   16020 
   16021     int mem_base;
   16022     int ret_val;
   16023     xmlParserCtxtPtr ctxt; /* the XML parser context */
   16024     int n_ctxt;
   16025     int * len; /* pointer to the length of the char read */
   16026     int n_len;
   16027 
   16028     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16029     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
   16030         mem_base = xmlMemBlocks();
   16031         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16032         len = gen_int_ptr(n_len, 1);
   16033 
   16034         ret_val = xmlCurrentChar(ctxt, len);
   16035         desret_int(ret_val);
   16036         call_tests++;
   16037         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16038         des_int_ptr(n_len, len, 1);
   16039         xmlResetLastError();
   16040         if (mem_base != xmlMemBlocks()) {
   16041             printf("Leak of %d blocks found in xmlCurrentChar",
   16042 	           xmlMemBlocks() - mem_base);
   16043 	    test_ret++;
   16044             printf(" %d", n_ctxt);
   16045             printf(" %d", n_len);
   16046             printf("\n");
   16047         }
   16048     }
   16049     }
   16050     function_tests++;
   16051 
   16052     return(test_ret);
   16053 }
   16054 
   16055 
   16056 static int
   16057 test_xmlErrMemory(void) {
   16058     int test_ret = 0;
   16059 
   16060     int mem_base;
   16061     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16062     int n_ctxt;
   16063     char * extra; /* extra informations */
   16064     int n_extra;
   16065 
   16066     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16067     for (n_extra = 0;n_extra < gen_nb_const_char_ptr;n_extra++) {
   16068         mem_base = xmlMemBlocks();
   16069         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16070         extra = gen_const_char_ptr(n_extra, 1);
   16071 
   16072         xmlErrMemory(ctxt, (const char *)extra);
   16073         call_tests++;
   16074         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16075         des_const_char_ptr(n_extra, (const char *)extra, 1);
   16076         xmlResetLastError();
   16077         if (mem_base != xmlMemBlocks()) {
   16078             printf("Leak of %d blocks found in xmlErrMemory",
   16079 	           xmlMemBlocks() - mem_base);
   16080 	    test_ret++;
   16081             printf(" %d", n_ctxt);
   16082             printf(" %d", n_extra);
   16083             printf("\n");
   16084         }
   16085     }
   16086     }
   16087     function_tests++;
   16088 
   16089     return(test_ret);
   16090 }
   16091 
   16092 
   16093 static int
   16094 test_xmlIsLetter(void) {
   16095     int test_ret = 0;
   16096 
   16097     int mem_base;
   16098     int ret_val;
   16099     int c; /* an unicode character (int) */
   16100     int n_c;
   16101 
   16102     for (n_c = 0;n_c < gen_nb_int;n_c++) {
   16103         mem_base = xmlMemBlocks();
   16104         c = gen_int(n_c, 0);
   16105 
   16106         ret_val = xmlIsLetter(c);
   16107         desret_int(ret_val);
   16108         call_tests++;
   16109         des_int(n_c, c, 0);
   16110         xmlResetLastError();
   16111         if (mem_base != xmlMemBlocks()) {
   16112             printf("Leak of %d blocks found in xmlIsLetter",
   16113 	           xmlMemBlocks() - mem_base);
   16114 	    test_ret++;
   16115             printf(" %d", n_c);
   16116             printf("\n");
   16117         }
   16118     }
   16119     function_tests++;
   16120 
   16121     return(test_ret);
   16122 }
   16123 
   16124 
   16125 static int
   16126 test_xmlNewEntityInputStream(void) {
   16127     int test_ret = 0;
   16128 
   16129     int mem_base;
   16130     xmlParserInputPtr ret_val;
   16131     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16132     int n_ctxt;
   16133     xmlEntityPtr entity; /* an Entity pointer */
   16134     int n_entity;
   16135 
   16136     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16137     for (n_entity = 0;n_entity < gen_nb_xmlEntityPtr;n_entity++) {
   16138         mem_base = xmlMemBlocks();
   16139         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16140         entity = gen_xmlEntityPtr(n_entity, 1);
   16141 
   16142         ret_val = xmlNewEntityInputStream(ctxt, entity);
   16143         desret_xmlParserInputPtr(ret_val);
   16144         call_tests++;
   16145         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16146         des_xmlEntityPtr(n_entity, entity, 1);
   16147         xmlResetLastError();
   16148         if (mem_base != xmlMemBlocks()) {
   16149             printf("Leak of %d blocks found in xmlNewEntityInputStream",
   16150 	           xmlMemBlocks() - mem_base);
   16151 	    test_ret++;
   16152             printf(" %d", n_ctxt);
   16153             printf(" %d", n_entity);
   16154             printf("\n");
   16155         }
   16156     }
   16157     }
   16158     function_tests++;
   16159 
   16160     return(test_ret);
   16161 }
   16162 
   16163 
   16164 static int
   16165 test_xmlNewInputFromFile(void) {
   16166     int test_ret = 0;
   16167 
   16168     int mem_base;
   16169     xmlParserInputPtr ret_val;
   16170     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16171     int n_ctxt;
   16172     const char * filename; /* the filename to use as entity */
   16173     int n_filename;
   16174 
   16175     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16176     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   16177         mem_base = xmlMemBlocks();
   16178         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16179         filename = gen_filepath(n_filename, 1);
   16180 
   16181         ret_val = xmlNewInputFromFile(ctxt, filename);
   16182         desret_xmlParserInputPtr(ret_val);
   16183         call_tests++;
   16184         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16185         des_filepath(n_filename, filename, 1);
   16186         xmlResetLastError();
   16187         if (mem_base != xmlMemBlocks()) {
   16188             printf("Leak of %d blocks found in xmlNewInputFromFile",
   16189 	           xmlMemBlocks() - mem_base);
   16190 	    test_ret++;
   16191             printf(" %d", n_ctxt);
   16192             printf(" %d", n_filename);
   16193             printf("\n");
   16194         }
   16195     }
   16196     }
   16197     function_tests++;
   16198 
   16199     return(test_ret);
   16200 }
   16201 
   16202 
   16203 static int
   16204 test_xmlNewInputStream(void) {
   16205     int test_ret = 0;
   16206 
   16207     int mem_base;
   16208     xmlParserInputPtr ret_val;
   16209     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16210     int n_ctxt;
   16211 
   16212     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16213         mem_base = xmlMemBlocks();
   16214         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16215 
   16216         ret_val = xmlNewInputStream(ctxt);
   16217         desret_xmlParserInputPtr(ret_val);
   16218         call_tests++;
   16219         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16220         xmlResetLastError();
   16221         if (mem_base != xmlMemBlocks()) {
   16222             printf("Leak of %d blocks found in xmlNewInputStream",
   16223 	           xmlMemBlocks() - mem_base);
   16224 	    test_ret++;
   16225             printf(" %d", n_ctxt);
   16226             printf("\n");
   16227         }
   16228     }
   16229     function_tests++;
   16230 
   16231     return(test_ret);
   16232 }
   16233 
   16234 
   16235 static int
   16236 test_xmlNewStringInputStream(void) {
   16237     int test_ret = 0;
   16238 
   16239     int mem_base;
   16240     xmlParserInputPtr ret_val;
   16241     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16242     int n_ctxt;
   16243     xmlChar * buffer; /* an memory buffer */
   16244     int n_buffer;
   16245 
   16246     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16247     for (n_buffer = 0;n_buffer < gen_nb_const_xmlChar_ptr;n_buffer++) {
   16248         mem_base = xmlMemBlocks();
   16249         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16250         buffer = gen_const_xmlChar_ptr(n_buffer, 1);
   16251 
   16252         ret_val = xmlNewStringInputStream(ctxt, (const xmlChar *)buffer);
   16253         desret_xmlParserInputPtr(ret_val);
   16254         call_tests++;
   16255         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16256         des_const_xmlChar_ptr(n_buffer, (const xmlChar *)buffer, 1);
   16257         xmlResetLastError();
   16258         if (mem_base != xmlMemBlocks()) {
   16259             printf("Leak of %d blocks found in xmlNewStringInputStream",
   16260 	           xmlMemBlocks() - mem_base);
   16261 	    test_ret++;
   16262             printf(" %d", n_ctxt);
   16263             printf(" %d", n_buffer);
   16264             printf("\n");
   16265         }
   16266     }
   16267     }
   16268     function_tests++;
   16269 
   16270     return(test_ret);
   16271 }
   16272 
   16273 
   16274 static int
   16275 test_xmlNextChar(void) {
   16276     int test_ret = 0;
   16277 
   16278     int mem_base;
   16279     xmlParserCtxtPtr ctxt; /* the XML parser context */
   16280     int n_ctxt;
   16281 
   16282     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16283         mem_base = xmlMemBlocks();
   16284         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16285 
   16286         xmlNextChar(ctxt);
   16287         call_tests++;
   16288         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16289         xmlResetLastError();
   16290         if (mem_base != xmlMemBlocks()) {
   16291             printf("Leak of %d blocks found in xmlNextChar",
   16292 	           xmlMemBlocks() - mem_base);
   16293 	    test_ret++;
   16294             printf(" %d", n_ctxt);
   16295             printf("\n");
   16296         }
   16297     }
   16298     function_tests++;
   16299 
   16300     return(test_ret);
   16301 }
   16302 
   16303 
   16304 static int
   16305 test_xmlParserInputShrink(void) {
   16306     int test_ret = 0;
   16307 
   16308     int mem_base;
   16309     xmlParserInputPtr in; /* an XML parser input */
   16310     int n_in;
   16311 
   16312     for (n_in = 0;n_in < gen_nb_xmlParserInputPtr;n_in++) {
   16313         mem_base = xmlMemBlocks();
   16314         in = gen_xmlParserInputPtr(n_in, 0);
   16315 
   16316         xmlParserInputShrink(in);
   16317         call_tests++;
   16318         des_xmlParserInputPtr(n_in, in, 0);
   16319         xmlResetLastError();
   16320         if (mem_base != xmlMemBlocks()) {
   16321             printf("Leak of %d blocks found in xmlParserInputShrink",
   16322 	           xmlMemBlocks() - mem_base);
   16323 	    test_ret++;
   16324             printf(" %d", n_in);
   16325             printf("\n");
   16326         }
   16327     }
   16328     function_tests++;
   16329 
   16330     return(test_ret);
   16331 }
   16332 
   16333 
   16334 static int
   16335 test_xmlPopInput(void) {
   16336     int test_ret = 0;
   16337 
   16338     int mem_base;
   16339     xmlChar ret_val;
   16340     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16341     int n_ctxt;
   16342 
   16343     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16344         mem_base = xmlMemBlocks();
   16345         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16346 
   16347         ret_val = xmlPopInput(ctxt);
   16348         desret_xmlChar(ret_val);
   16349         call_tests++;
   16350         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16351         xmlResetLastError();
   16352         if (mem_base != xmlMemBlocks()) {
   16353             printf("Leak of %d blocks found in xmlPopInput",
   16354 	           xmlMemBlocks() - mem_base);
   16355 	    test_ret++;
   16356             printf(" %d", n_ctxt);
   16357             printf("\n");
   16358         }
   16359     }
   16360     function_tests++;
   16361 
   16362     return(test_ret);
   16363 }
   16364 
   16365 
   16366 static int
   16367 test_xmlPushInput(void) {
   16368     int test_ret = 0;
   16369 
   16370     int mem_base;
   16371     int ret_val;
   16372     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16373     int n_ctxt;
   16374     xmlParserInputPtr input; /* an XML parser input fragment (entity, XML fragment ...). */
   16375     int n_input;
   16376 
   16377     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16378     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
   16379         mem_base = xmlMemBlocks();
   16380         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16381         input = gen_xmlParserInputPtr(n_input, 1);
   16382 
   16383         ret_val = xmlPushInput(ctxt, input);
   16384         desret_int(ret_val);
   16385         call_tests++;
   16386         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16387         des_xmlParserInputPtr(n_input, input, 1);
   16388         xmlResetLastError();
   16389         if (mem_base != xmlMemBlocks()) {
   16390             printf("Leak of %d blocks found in xmlPushInput",
   16391 	           xmlMemBlocks() - mem_base);
   16392 	    test_ret++;
   16393             printf(" %d", n_ctxt);
   16394             printf(" %d", n_input);
   16395             printf("\n");
   16396         }
   16397     }
   16398     }
   16399     function_tests++;
   16400 
   16401     return(test_ret);
   16402 }
   16403 
   16404 
   16405 static int
   16406 test_xmlSetEntityReferenceFunc(void) {
   16407     int test_ret = 0;
   16408 
   16409 
   16410     /* missing type support */
   16411     return(test_ret);
   16412 }
   16413 
   16414 
   16415 static int
   16416 test_xmlSplitQName(void) {
   16417     int test_ret = 0;
   16418 
   16419     int mem_base;
   16420     xmlChar * ret_val;
   16421     xmlParserCtxtPtr ctxt; /* an XML parser context */
   16422     int n_ctxt;
   16423     xmlChar * name; /* an XML parser context */
   16424     int n_name;
   16425     xmlChar ** prefix; /* a xmlChar ** */
   16426     int n_prefix;
   16427 
   16428     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16429     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   16430     for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
   16431         mem_base = xmlMemBlocks();
   16432         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16433         name = gen_const_xmlChar_ptr(n_name, 1);
   16434         prefix = gen_xmlChar_ptr_ptr(n_prefix, 2);
   16435 
   16436         ret_val = xmlSplitQName(ctxt, (const xmlChar *)name, prefix);
   16437         desret_xmlChar_ptr(ret_val);
   16438         call_tests++;
   16439         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16440         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   16441         des_xmlChar_ptr_ptr(n_prefix, prefix, 2);
   16442         xmlResetLastError();
   16443         if (mem_base != xmlMemBlocks()) {
   16444             printf("Leak of %d blocks found in xmlSplitQName",
   16445 	           xmlMemBlocks() - mem_base);
   16446 	    test_ret++;
   16447             printf(" %d", n_ctxt);
   16448             printf(" %d", n_name);
   16449             printf(" %d", n_prefix);
   16450             printf("\n");
   16451         }
   16452     }
   16453     }
   16454     }
   16455     function_tests++;
   16456 
   16457     return(test_ret);
   16458 }
   16459 
   16460 
   16461 static int
   16462 test_xmlStringCurrentChar(void) {
   16463     int test_ret = 0;
   16464 
   16465     int mem_base;
   16466     int ret_val;
   16467     xmlParserCtxtPtr ctxt; /* the XML parser context */
   16468     int n_ctxt;
   16469     xmlChar * cur; /* pointer to the beginning of the char */
   16470     int n_cur;
   16471     int * len; /* pointer to the length of the char read */
   16472     int n_len;
   16473 
   16474     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16475     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   16476     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
   16477         mem_base = xmlMemBlocks();
   16478         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16479         cur = gen_const_xmlChar_ptr(n_cur, 1);
   16480         len = gen_int_ptr(n_len, 2);
   16481 
   16482         ret_val = xmlStringCurrentChar(ctxt, (const xmlChar *)cur, len);
   16483         desret_int(ret_val);
   16484         call_tests++;
   16485         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16486         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
   16487         des_int_ptr(n_len, len, 2);
   16488         xmlResetLastError();
   16489         if (mem_base != xmlMemBlocks()) {
   16490             printf("Leak of %d blocks found in xmlStringCurrentChar",
   16491 	           xmlMemBlocks() - mem_base);
   16492 	    test_ret++;
   16493             printf(" %d", n_ctxt);
   16494             printf(" %d", n_cur);
   16495             printf(" %d", n_len);
   16496             printf("\n");
   16497         }
   16498     }
   16499     }
   16500     }
   16501     function_tests++;
   16502 
   16503     return(test_ret);
   16504 }
   16505 
   16506 
   16507 static int
   16508 test_xmlStringDecodeEntities(void) {
   16509     int test_ret = 0;
   16510 
   16511     int mem_base;
   16512     xmlChar * ret_val;
   16513     xmlParserCtxtPtr ctxt; /* the parser context */
   16514     int n_ctxt;
   16515     xmlChar * str; /* the input string */
   16516     int n_str;
   16517     int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
   16518     int n_what;
   16519     xmlChar end; /* an end marker xmlChar, 0 if none */
   16520     int n_end;
   16521     xmlChar end2; /* an end marker xmlChar, 0 if none */
   16522     int n_end2;
   16523     xmlChar end3; /* an end marker xmlChar, 0 if none */
   16524     int n_end3;
   16525 
   16526     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16527     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   16528     for (n_what = 0;n_what < gen_nb_int;n_what++) {
   16529     for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
   16530     for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
   16531     for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
   16532         mem_base = xmlMemBlocks();
   16533         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16534         str = gen_const_xmlChar_ptr(n_str, 1);
   16535         what = gen_int(n_what, 2);
   16536         end = gen_xmlChar(n_end, 3);
   16537         end2 = gen_xmlChar(n_end2, 4);
   16538         end3 = gen_xmlChar(n_end3, 5);
   16539 
   16540         ret_val = xmlStringDecodeEntities(ctxt, (const xmlChar *)str, what, end, end2, end3);
   16541         desret_xmlChar_ptr(ret_val);
   16542         call_tests++;
   16543         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16544         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   16545         des_int(n_what, what, 2);
   16546         des_xmlChar(n_end, end, 3);
   16547         des_xmlChar(n_end2, end2, 4);
   16548         des_xmlChar(n_end3, end3, 5);
   16549         xmlResetLastError();
   16550         if (mem_base != xmlMemBlocks()) {
   16551             printf("Leak of %d blocks found in xmlStringDecodeEntities",
   16552 	           xmlMemBlocks() - mem_base);
   16553 	    test_ret++;
   16554             printf(" %d", n_ctxt);
   16555             printf(" %d", n_str);
   16556             printf(" %d", n_what);
   16557             printf(" %d", n_end);
   16558             printf(" %d", n_end2);
   16559             printf(" %d", n_end3);
   16560             printf("\n");
   16561         }
   16562     }
   16563     }
   16564     }
   16565     }
   16566     }
   16567     }
   16568     function_tests++;
   16569 
   16570     return(test_ret);
   16571 }
   16572 
   16573 
   16574 static int
   16575 test_xmlStringLenDecodeEntities(void) {
   16576     int test_ret = 0;
   16577 
   16578     int mem_base;
   16579     xmlChar * ret_val;
   16580     xmlParserCtxtPtr ctxt; /* the parser context */
   16581     int n_ctxt;
   16582     xmlChar * str; /* the input string */
   16583     int n_str;
   16584     int len; /* the string length */
   16585     int n_len;
   16586     int what; /* combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF */
   16587     int n_what;
   16588     xmlChar end; /* an end marker xmlChar, 0 if none */
   16589     int n_end;
   16590     xmlChar end2; /* an end marker xmlChar, 0 if none */
   16591     int n_end2;
   16592     xmlChar end3; /* an end marker xmlChar, 0 if none */
   16593     int n_end3;
   16594 
   16595     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16596     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   16597     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   16598     for (n_what = 0;n_what < gen_nb_int;n_what++) {
   16599     for (n_end = 0;n_end < gen_nb_xmlChar;n_end++) {
   16600     for (n_end2 = 0;n_end2 < gen_nb_xmlChar;n_end2++) {
   16601     for (n_end3 = 0;n_end3 < gen_nb_xmlChar;n_end3++) {
   16602         mem_base = xmlMemBlocks();
   16603         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16604         str = gen_const_xmlChar_ptr(n_str, 1);
   16605         len = gen_int(n_len, 2);
   16606         what = gen_int(n_what, 3);
   16607         end = gen_xmlChar(n_end, 4);
   16608         end2 = gen_xmlChar(n_end2, 5);
   16609         end3 = gen_xmlChar(n_end3, 6);
   16610 
   16611         ret_val = xmlStringLenDecodeEntities(ctxt, (const xmlChar *)str, len, what, end, end2, end3);
   16612         desret_xmlChar_ptr(ret_val);
   16613         call_tests++;
   16614         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16615         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   16616         des_int(n_len, len, 2);
   16617         des_int(n_what, what, 3);
   16618         des_xmlChar(n_end, end, 4);
   16619         des_xmlChar(n_end2, end2, 5);
   16620         des_xmlChar(n_end3, end3, 6);
   16621         xmlResetLastError();
   16622         if (mem_base != xmlMemBlocks()) {
   16623             printf("Leak of %d blocks found in xmlStringLenDecodeEntities",
   16624 	           xmlMemBlocks() - mem_base);
   16625 	    test_ret++;
   16626             printf(" %d", n_ctxt);
   16627             printf(" %d", n_str);
   16628             printf(" %d", n_len);
   16629             printf(" %d", n_what);
   16630             printf(" %d", n_end);
   16631             printf(" %d", n_end2);
   16632             printf(" %d", n_end3);
   16633             printf("\n");
   16634         }
   16635     }
   16636     }
   16637     }
   16638     }
   16639     }
   16640     }
   16641     }
   16642     function_tests++;
   16643 
   16644     return(test_ret);
   16645 }
   16646 
   16647 
   16648 static int
   16649 test_xmlSwitchEncoding(void) {
   16650     int test_ret = 0;
   16651 
   16652     int mem_base;
   16653     int ret_val;
   16654     xmlParserCtxtPtr ctxt; /* the parser context */
   16655     int n_ctxt;
   16656     xmlCharEncoding enc; /* the encoding value (number) */
   16657     int n_enc;
   16658 
   16659     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16660     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   16661         mem_base = xmlMemBlocks();
   16662         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16663         enc = gen_xmlCharEncoding(n_enc, 1);
   16664 
   16665         ret_val = xmlSwitchEncoding(ctxt, enc);
   16666         desret_int(ret_val);
   16667         call_tests++;
   16668         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16669         des_xmlCharEncoding(n_enc, enc, 1);
   16670         xmlResetLastError();
   16671         if (mem_base != xmlMemBlocks()) {
   16672             printf("Leak of %d blocks found in xmlSwitchEncoding",
   16673 	           xmlMemBlocks() - mem_base);
   16674 	    test_ret++;
   16675             printf(" %d", n_ctxt);
   16676             printf(" %d", n_enc);
   16677             printf("\n");
   16678         }
   16679     }
   16680     }
   16681     function_tests++;
   16682 
   16683     return(test_ret);
   16684 }
   16685 
   16686 
   16687 static int
   16688 test_xmlSwitchInputEncoding(void) {
   16689     int test_ret = 0;
   16690 
   16691     int mem_base;
   16692     int ret_val;
   16693     xmlParserCtxtPtr ctxt; /* the parser context */
   16694     int n_ctxt;
   16695     xmlParserInputPtr input; /* the input stream */
   16696     int n_input;
   16697     xmlCharEncodingHandlerPtr handler; /* the encoding handler */
   16698     int n_handler;
   16699 
   16700     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16701     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
   16702     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
   16703         mem_base = xmlMemBlocks();
   16704         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16705         input = gen_xmlParserInputPtr(n_input, 1);
   16706         handler = gen_xmlCharEncodingHandlerPtr(n_handler, 2);
   16707 
   16708         ret_val = xmlSwitchInputEncoding(ctxt, input, handler);
   16709         desret_int(ret_val);
   16710         call_tests++;
   16711         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16712         des_xmlParserInputPtr(n_input, input, 1);
   16713         des_xmlCharEncodingHandlerPtr(n_handler, handler, 2);
   16714         xmlResetLastError();
   16715         if (mem_base != xmlMemBlocks()) {
   16716             printf("Leak of %d blocks found in xmlSwitchInputEncoding",
   16717 	           xmlMemBlocks() - mem_base);
   16718 	    test_ret++;
   16719             printf(" %d", n_ctxt);
   16720             printf(" %d", n_input);
   16721             printf(" %d", n_handler);
   16722             printf("\n");
   16723         }
   16724     }
   16725     }
   16726     }
   16727     function_tests++;
   16728 
   16729     return(test_ret);
   16730 }
   16731 
   16732 
   16733 static int
   16734 test_xmlSwitchToEncoding(void) {
   16735     int test_ret = 0;
   16736 
   16737     int mem_base;
   16738     int ret_val;
   16739     xmlParserCtxtPtr ctxt; /* the parser context */
   16740     int n_ctxt;
   16741     xmlCharEncodingHandlerPtr handler; /* the encoding handler */
   16742     int n_handler;
   16743 
   16744     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   16745     for (n_handler = 0;n_handler < gen_nb_xmlCharEncodingHandlerPtr;n_handler++) {
   16746         mem_base = xmlMemBlocks();
   16747         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   16748         handler = gen_xmlCharEncodingHandlerPtr(n_handler, 1);
   16749 
   16750         ret_val = xmlSwitchToEncoding(ctxt, handler);
   16751         desret_int(ret_val);
   16752         call_tests++;
   16753         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   16754         des_xmlCharEncodingHandlerPtr(n_handler, handler, 1);
   16755         xmlResetLastError();
   16756         if (mem_base != xmlMemBlocks()) {
   16757             printf("Leak of %d blocks found in xmlSwitchToEncoding",
   16758 	           xmlMemBlocks() - mem_base);
   16759 	    test_ret++;
   16760             printf(" %d", n_ctxt);
   16761             printf(" %d", n_handler);
   16762             printf("\n");
   16763         }
   16764     }
   16765     }
   16766     function_tests++;
   16767 
   16768     return(test_ret);
   16769 }
   16770 
   16771 static int
   16772 test_parserInternals(void) {
   16773     int test_ret = 0;
   16774 
   16775     if (quiet == 0) printf("Testing parserInternals : 33 of 90 functions ...\n");
   16776     test_ret += test_htmlCreateFileParserCtxt();
   16777     test_ret += test_htmlInitAutoClose();
   16778     test_ret += test_inputPop();
   16779     test_ret += test_inputPush();
   16780     test_ret += test_namePop();
   16781     test_ret += test_namePush();
   16782     test_ret += test_nodePop();
   16783     test_ret += test_nodePush();
   16784     test_ret += test_xmlCheckLanguageID();
   16785     test_ret += test_xmlCopyChar();
   16786     test_ret += test_xmlCopyCharMultiByte();
   16787     test_ret += test_xmlCreateEntityParserCtxt();
   16788     test_ret += test_xmlCreateFileParserCtxt();
   16789     test_ret += test_xmlCreateMemoryParserCtxt();
   16790     test_ret += test_xmlCreateURLParserCtxt();
   16791     test_ret += test_xmlCurrentChar();
   16792     test_ret += test_xmlErrMemory();
   16793     test_ret += test_xmlIsLetter();
   16794     test_ret += test_xmlNewEntityInputStream();
   16795     test_ret += test_xmlNewInputFromFile();
   16796     test_ret += test_xmlNewInputStream();
   16797     test_ret += test_xmlNewStringInputStream();
   16798     test_ret += test_xmlNextChar();
   16799     test_ret += test_xmlParserInputShrink();
   16800     test_ret += test_xmlPopInput();
   16801     test_ret += test_xmlPushInput();
   16802     test_ret += test_xmlSetEntityReferenceFunc();
   16803     test_ret += test_xmlSplitQName();
   16804     test_ret += test_xmlStringCurrentChar();
   16805     test_ret += test_xmlStringDecodeEntities();
   16806     test_ret += test_xmlStringLenDecodeEntities();
   16807     test_ret += test_xmlSwitchEncoding();
   16808     test_ret += test_xmlSwitchInputEncoding();
   16809     test_ret += test_xmlSwitchToEncoding();
   16810 
   16811     if (test_ret != 0)
   16812 	printf("Module parserInternals: %d errors\n", test_ret);
   16813     return(test_ret);
   16814 }
   16815 
   16816 static int
   16817 test_xmlPatternFromRoot(void) {
   16818     int test_ret = 0;
   16819 
   16820 #if defined(LIBXML_PATTERN_ENABLED)
   16821     int mem_base;
   16822     int ret_val;
   16823     xmlPatternPtr comp; /* the precompiled pattern */
   16824     int n_comp;
   16825 
   16826     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
   16827         mem_base = xmlMemBlocks();
   16828         comp = gen_xmlPatternPtr(n_comp, 0);
   16829 
   16830         ret_val = xmlPatternFromRoot(comp);
   16831         desret_int(ret_val);
   16832         call_tests++;
   16833         des_xmlPatternPtr(n_comp, comp, 0);
   16834         xmlResetLastError();
   16835         if (mem_base != xmlMemBlocks()) {
   16836             printf("Leak of %d blocks found in xmlPatternFromRoot",
   16837 	           xmlMemBlocks() - mem_base);
   16838 	    test_ret++;
   16839             printf(" %d", n_comp);
   16840             printf("\n");
   16841         }
   16842     }
   16843     function_tests++;
   16844 #endif
   16845 
   16846     return(test_ret);
   16847 }
   16848 
   16849 
   16850 static int
   16851 test_xmlPatternGetStreamCtxt(void) {
   16852     int test_ret = 0;
   16853 
   16854 
   16855     /* missing type support */
   16856     return(test_ret);
   16857 }
   16858 
   16859 
   16860 static int
   16861 test_xmlPatternMatch(void) {
   16862     int test_ret = 0;
   16863 
   16864 #if defined(LIBXML_PATTERN_ENABLED)
   16865     int mem_base;
   16866     int ret_val;
   16867     xmlPatternPtr comp; /* the precompiled pattern */
   16868     int n_comp;
   16869     xmlNodePtr node; /* a node */
   16870     int n_node;
   16871 
   16872     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
   16873     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   16874         mem_base = xmlMemBlocks();
   16875         comp = gen_xmlPatternPtr(n_comp, 0);
   16876         node = gen_xmlNodePtr(n_node, 1);
   16877 
   16878         ret_val = xmlPatternMatch(comp, node);
   16879         desret_int(ret_val);
   16880         call_tests++;
   16881         des_xmlPatternPtr(n_comp, comp, 0);
   16882         des_xmlNodePtr(n_node, node, 1);
   16883         xmlResetLastError();
   16884         if (mem_base != xmlMemBlocks()) {
   16885             printf("Leak of %d blocks found in xmlPatternMatch",
   16886 	           xmlMemBlocks() - mem_base);
   16887 	    test_ret++;
   16888             printf(" %d", n_comp);
   16889             printf(" %d", n_node);
   16890             printf("\n");
   16891         }
   16892     }
   16893     }
   16894     function_tests++;
   16895 #endif
   16896 
   16897     return(test_ret);
   16898 }
   16899 
   16900 
   16901 static int
   16902 test_xmlPatternMaxDepth(void) {
   16903     int test_ret = 0;
   16904 
   16905 #if defined(LIBXML_PATTERN_ENABLED)
   16906     int mem_base;
   16907     int ret_val;
   16908     xmlPatternPtr comp; /* the precompiled pattern */
   16909     int n_comp;
   16910 
   16911     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
   16912         mem_base = xmlMemBlocks();
   16913         comp = gen_xmlPatternPtr(n_comp, 0);
   16914 
   16915         ret_val = xmlPatternMaxDepth(comp);
   16916         desret_int(ret_val);
   16917         call_tests++;
   16918         des_xmlPatternPtr(n_comp, comp, 0);
   16919         xmlResetLastError();
   16920         if (mem_base != xmlMemBlocks()) {
   16921             printf("Leak of %d blocks found in xmlPatternMaxDepth",
   16922 	           xmlMemBlocks() - mem_base);
   16923 	    test_ret++;
   16924             printf(" %d", n_comp);
   16925             printf("\n");
   16926         }
   16927     }
   16928     function_tests++;
   16929 #endif
   16930 
   16931     return(test_ret);
   16932 }
   16933 
   16934 
   16935 static int
   16936 test_xmlPatternMinDepth(void) {
   16937     int test_ret = 0;
   16938 
   16939 #if defined(LIBXML_PATTERN_ENABLED)
   16940     int mem_base;
   16941     int ret_val;
   16942     xmlPatternPtr comp; /* the precompiled pattern */
   16943     int n_comp;
   16944 
   16945     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
   16946         mem_base = xmlMemBlocks();
   16947         comp = gen_xmlPatternPtr(n_comp, 0);
   16948 
   16949         ret_val = xmlPatternMinDepth(comp);
   16950         desret_int(ret_val);
   16951         call_tests++;
   16952         des_xmlPatternPtr(n_comp, comp, 0);
   16953         xmlResetLastError();
   16954         if (mem_base != xmlMemBlocks()) {
   16955             printf("Leak of %d blocks found in xmlPatternMinDepth",
   16956 	           xmlMemBlocks() - mem_base);
   16957 	    test_ret++;
   16958             printf(" %d", n_comp);
   16959             printf("\n");
   16960         }
   16961     }
   16962     function_tests++;
   16963 #endif
   16964 
   16965     return(test_ret);
   16966 }
   16967 
   16968 
   16969 static int
   16970 test_xmlPatternStreamable(void) {
   16971     int test_ret = 0;
   16972 
   16973 #if defined(LIBXML_PATTERN_ENABLED)
   16974     int mem_base;
   16975     int ret_val;
   16976     xmlPatternPtr comp; /* the precompiled pattern */
   16977     int n_comp;
   16978 
   16979     for (n_comp = 0;n_comp < gen_nb_xmlPatternPtr;n_comp++) {
   16980         mem_base = xmlMemBlocks();
   16981         comp = gen_xmlPatternPtr(n_comp, 0);
   16982 
   16983         ret_val = xmlPatternStreamable(comp);
   16984         desret_int(ret_val);
   16985         call_tests++;
   16986         des_xmlPatternPtr(n_comp, comp, 0);
   16987         xmlResetLastError();
   16988         if (mem_base != xmlMemBlocks()) {
   16989             printf("Leak of %d blocks found in xmlPatternStreamable",
   16990 	           xmlMemBlocks() - mem_base);
   16991 	    test_ret++;
   16992             printf(" %d", n_comp);
   16993             printf("\n");
   16994         }
   16995     }
   16996     function_tests++;
   16997 #endif
   16998 
   16999     return(test_ret);
   17000 }
   17001 
   17002 
   17003 static int
   17004 test_xmlPatterncompile(void) {
   17005     int test_ret = 0;
   17006 
   17007 
   17008     /* missing type support */
   17009     return(test_ret);
   17010 }
   17011 
   17012 #ifdef LIBXML_PATTERN_ENABLED
   17013 
   17014 #define gen_nb_xmlStreamCtxtPtr 1
   17015 static xmlStreamCtxtPtr gen_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17016     return(NULL);
   17017 }
   17018 static void des_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, xmlStreamCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17019 }
   17020 #endif
   17021 
   17022 
   17023 static int
   17024 test_xmlStreamPop(void) {
   17025     int test_ret = 0;
   17026 
   17027 #if defined(LIBXML_PATTERN_ENABLED)
   17028     int mem_base;
   17029     int ret_val;
   17030     xmlStreamCtxtPtr stream; /* the stream context */
   17031     int n_stream;
   17032 
   17033     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
   17034         mem_base = xmlMemBlocks();
   17035         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
   17036 
   17037         ret_val = xmlStreamPop(stream);
   17038         desret_int(ret_val);
   17039         call_tests++;
   17040         des_xmlStreamCtxtPtr(n_stream, stream, 0);
   17041         xmlResetLastError();
   17042         if (mem_base != xmlMemBlocks()) {
   17043             printf("Leak of %d blocks found in xmlStreamPop",
   17044 	           xmlMemBlocks() - mem_base);
   17045 	    test_ret++;
   17046             printf(" %d", n_stream);
   17047             printf("\n");
   17048         }
   17049     }
   17050     function_tests++;
   17051 #endif
   17052 
   17053     return(test_ret);
   17054 }
   17055 
   17056 
   17057 static int
   17058 test_xmlStreamPush(void) {
   17059     int test_ret = 0;
   17060 
   17061 #if defined(LIBXML_PATTERN_ENABLED)
   17062     int mem_base;
   17063     int ret_val;
   17064     xmlStreamCtxtPtr stream; /* the stream context */
   17065     int n_stream;
   17066     xmlChar * name; /* the current name */
   17067     int n_name;
   17068     xmlChar * ns; /* the namespace name */
   17069     int n_ns;
   17070 
   17071     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
   17072     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   17073     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
   17074         mem_base = xmlMemBlocks();
   17075         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
   17076         name = gen_const_xmlChar_ptr(n_name, 1);
   17077         ns = gen_const_xmlChar_ptr(n_ns, 2);
   17078 
   17079         ret_val = xmlStreamPush(stream, (const xmlChar *)name, (const xmlChar *)ns);
   17080         desret_int(ret_val);
   17081         call_tests++;
   17082         des_xmlStreamCtxtPtr(n_stream, stream, 0);
   17083         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   17084         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
   17085         xmlResetLastError();
   17086         if (mem_base != xmlMemBlocks()) {
   17087             printf("Leak of %d blocks found in xmlStreamPush",
   17088 	           xmlMemBlocks() - mem_base);
   17089 	    test_ret++;
   17090             printf(" %d", n_stream);
   17091             printf(" %d", n_name);
   17092             printf(" %d", n_ns);
   17093             printf("\n");
   17094         }
   17095     }
   17096     }
   17097     }
   17098     function_tests++;
   17099 #endif
   17100 
   17101     return(test_ret);
   17102 }
   17103 
   17104 
   17105 static int
   17106 test_xmlStreamPushAttr(void) {
   17107     int test_ret = 0;
   17108 
   17109 #if defined(LIBXML_PATTERN_ENABLED)
   17110     int mem_base;
   17111     int ret_val;
   17112     xmlStreamCtxtPtr stream; /* the stream context */
   17113     int n_stream;
   17114     xmlChar * name; /* the current name */
   17115     int n_name;
   17116     xmlChar * ns; /* the namespace name */
   17117     int n_ns;
   17118 
   17119     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
   17120     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   17121     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
   17122         mem_base = xmlMemBlocks();
   17123         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
   17124         name = gen_const_xmlChar_ptr(n_name, 1);
   17125         ns = gen_const_xmlChar_ptr(n_ns, 2);
   17126 
   17127         ret_val = xmlStreamPushAttr(stream, (const xmlChar *)name, (const xmlChar *)ns);
   17128         desret_int(ret_val);
   17129         call_tests++;
   17130         des_xmlStreamCtxtPtr(n_stream, stream, 0);
   17131         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   17132         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
   17133         xmlResetLastError();
   17134         if (mem_base != xmlMemBlocks()) {
   17135             printf("Leak of %d blocks found in xmlStreamPushAttr",
   17136 	           xmlMemBlocks() - mem_base);
   17137 	    test_ret++;
   17138             printf(" %d", n_stream);
   17139             printf(" %d", n_name);
   17140             printf(" %d", n_ns);
   17141             printf("\n");
   17142         }
   17143     }
   17144     }
   17145     }
   17146     function_tests++;
   17147 #endif
   17148 
   17149     return(test_ret);
   17150 }
   17151 
   17152 
   17153 static int
   17154 test_xmlStreamPushNode(void) {
   17155     int test_ret = 0;
   17156 
   17157 #if defined(LIBXML_PATTERN_ENABLED)
   17158     int mem_base;
   17159     int ret_val;
   17160     xmlStreamCtxtPtr stream; /* the stream context */
   17161     int n_stream;
   17162     xmlChar * name; /* the current name */
   17163     int n_name;
   17164     xmlChar * ns; /* the namespace name */
   17165     int n_ns;
   17166     int nodeType; /* the type of the node being pushed */
   17167     int n_nodeType;
   17168 
   17169     for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
   17170     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   17171     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
   17172     for (n_nodeType = 0;n_nodeType < gen_nb_int;n_nodeType++) {
   17173         mem_base = xmlMemBlocks();
   17174         stream = gen_xmlStreamCtxtPtr(n_stream, 0);
   17175         name = gen_const_xmlChar_ptr(n_name, 1);
   17176         ns = gen_const_xmlChar_ptr(n_ns, 2);
   17177         nodeType = gen_int(n_nodeType, 3);
   17178 
   17179         ret_val = xmlStreamPushNode(stream, (const xmlChar *)name, (const xmlChar *)ns, nodeType);
   17180         desret_int(ret_val);
   17181         call_tests++;
   17182         des_xmlStreamCtxtPtr(n_stream, stream, 0);
   17183         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   17184         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
   17185         des_int(n_nodeType, nodeType, 3);
   17186         xmlResetLastError();
   17187         if (mem_base != xmlMemBlocks()) {
   17188             printf("Leak of %d blocks found in xmlStreamPushNode",
   17189 	           xmlMemBlocks() - mem_base);
   17190 	    test_ret++;
   17191             printf(" %d", n_stream);
   17192             printf(" %d", n_name);
   17193             printf(" %d", n_ns);
   17194             printf(" %d", n_nodeType);
   17195             printf("\n");
   17196         }
   17197     }
   17198     }
   17199     }
   17200     }
   17201     function_tests++;
   17202 #endif
   17203 
   17204     return(test_ret);
   17205 }
   17206 
   17207 
   17208 static int
   17209 test_xmlStreamWantsAnyNode(void) {
   17210     int test_ret = 0;
   17211 
   17212 #if defined(LIBXML_PATTERN_ENABLED)
   17213     int mem_base;
   17214     int ret_val;
   17215     xmlStreamCtxtPtr streamCtxt; /* the stream context */
   17216     int n_streamCtxt;
   17217 
   17218     for (n_streamCtxt = 0;n_streamCtxt < gen_nb_xmlStreamCtxtPtr;n_streamCtxt++) {
   17219         mem_base = xmlMemBlocks();
   17220         streamCtxt = gen_xmlStreamCtxtPtr(n_streamCtxt, 0);
   17221 
   17222         ret_val = xmlStreamWantsAnyNode(streamCtxt);
   17223         desret_int(ret_val);
   17224         call_tests++;
   17225         des_xmlStreamCtxtPtr(n_streamCtxt, streamCtxt, 0);
   17226         xmlResetLastError();
   17227         if (mem_base != xmlMemBlocks()) {
   17228             printf("Leak of %d blocks found in xmlStreamWantsAnyNode",
   17229 	           xmlMemBlocks() - mem_base);
   17230 	    test_ret++;
   17231             printf(" %d", n_streamCtxt);
   17232             printf("\n");
   17233         }
   17234     }
   17235     function_tests++;
   17236 #endif
   17237 
   17238     return(test_ret);
   17239 }
   17240 
   17241 static int
   17242 test_pattern(void) {
   17243     int test_ret = 0;
   17244 
   17245     if (quiet == 0) printf("Testing pattern : 10 of 15 functions ...\n");
   17246     test_ret += test_xmlPatternFromRoot();
   17247     test_ret += test_xmlPatternGetStreamCtxt();
   17248     test_ret += test_xmlPatternMatch();
   17249     test_ret += test_xmlPatternMaxDepth();
   17250     test_ret += test_xmlPatternMinDepth();
   17251     test_ret += test_xmlPatternStreamable();
   17252     test_ret += test_xmlPatterncompile();
   17253     test_ret += test_xmlStreamPop();
   17254     test_ret += test_xmlStreamPush();
   17255     test_ret += test_xmlStreamPushAttr();
   17256     test_ret += test_xmlStreamPushNode();
   17257     test_ret += test_xmlStreamWantsAnyNode();
   17258 
   17259     if (test_ret != 0)
   17260 	printf("Module pattern: %d errors\n", test_ret);
   17261     return(test_ret);
   17262 }
   17263 #ifdef LIBXML_SCHEMAS_ENABLED
   17264 
   17265 #define gen_nb_xmlRelaxNGPtr 1
   17266 static xmlRelaxNGPtr gen_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17267     return(NULL);
   17268 }
   17269 static void des_xmlRelaxNGPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17270 }
   17271 #endif
   17272 
   17273 
   17274 static int
   17275 test_xmlRelaxNGDump(void) {
   17276     int test_ret = 0;
   17277 
   17278 #if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   17279     int mem_base;
   17280     FILE * output; /* the file output */
   17281     int n_output;
   17282     xmlRelaxNGPtr schema; /* a schema structure */
   17283     int n_schema;
   17284 
   17285     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
   17286     for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
   17287         mem_base = xmlMemBlocks();
   17288         output = gen_FILE_ptr(n_output, 0);
   17289         schema = gen_xmlRelaxNGPtr(n_schema, 1);
   17290 
   17291         xmlRelaxNGDump(output, schema);
   17292         call_tests++;
   17293         des_FILE_ptr(n_output, output, 0);
   17294         des_xmlRelaxNGPtr(n_schema, schema, 1);
   17295         xmlResetLastError();
   17296         if (mem_base != xmlMemBlocks()) {
   17297             printf("Leak of %d blocks found in xmlRelaxNGDump",
   17298 	           xmlMemBlocks() - mem_base);
   17299 	    test_ret++;
   17300             printf(" %d", n_output);
   17301             printf(" %d", n_schema);
   17302             printf("\n");
   17303         }
   17304     }
   17305     }
   17306     function_tests++;
   17307 #endif
   17308 
   17309     return(test_ret);
   17310 }
   17311 
   17312 
   17313 static int
   17314 test_xmlRelaxNGDumpTree(void) {
   17315     int test_ret = 0;
   17316 
   17317 #if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   17318     int mem_base;
   17319     FILE * output; /* the file output */
   17320     int n_output;
   17321     xmlRelaxNGPtr schema; /* a schema structure */
   17322     int n_schema;
   17323 
   17324     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
   17325     for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
   17326         mem_base = xmlMemBlocks();
   17327         output = gen_FILE_ptr(n_output, 0);
   17328         schema = gen_xmlRelaxNGPtr(n_schema, 1);
   17329 
   17330         xmlRelaxNGDumpTree(output, schema);
   17331         call_tests++;
   17332         des_FILE_ptr(n_output, output, 0);
   17333         des_xmlRelaxNGPtr(n_schema, schema, 1);
   17334         xmlResetLastError();
   17335         if (mem_base != xmlMemBlocks()) {
   17336             printf("Leak of %d blocks found in xmlRelaxNGDumpTree",
   17337 	           xmlMemBlocks() - mem_base);
   17338 	    test_ret++;
   17339             printf(" %d", n_output);
   17340             printf(" %d", n_schema);
   17341             printf("\n");
   17342         }
   17343     }
   17344     }
   17345     function_tests++;
   17346 #endif
   17347 
   17348     return(test_ret);
   17349 }
   17350 
   17351 #ifdef LIBXML_SCHEMAS_ENABLED
   17352 
   17353 #define gen_nb_xmlRelaxNGParserCtxtPtr 1
   17354 static xmlRelaxNGParserCtxtPtr gen_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17355     return(NULL);
   17356 }
   17357 static void des_xmlRelaxNGParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17358 }
   17359 #endif
   17360 
   17361 #ifdef LIBXML_SCHEMAS_ENABLED
   17362 
   17363 #define gen_nb_xmlRelaxNGValidityErrorFunc_ptr 1
   17364 static xmlRelaxNGValidityErrorFunc * gen_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17365     return(NULL);
   17366 }
   17367 static void des_xmlRelaxNGValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17368 }
   17369 #endif
   17370 
   17371 #ifdef LIBXML_SCHEMAS_ENABLED
   17372 
   17373 #define gen_nb_xmlRelaxNGValidityWarningFunc_ptr 1
   17374 static xmlRelaxNGValidityWarningFunc * gen_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17375     return(NULL);
   17376 }
   17377 static void des_xmlRelaxNGValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17378 }
   17379 #endif
   17380 
   17381 
   17382 static int
   17383 test_xmlRelaxNGGetParserErrors(void) {
   17384     int test_ret = 0;
   17385 
   17386 #if defined(LIBXML_SCHEMAS_ENABLED)
   17387     int mem_base;
   17388     int ret_val;
   17389     xmlRelaxNGParserCtxtPtr ctxt; /* a Relax-NG validation context */
   17390     int n_ctxt;
   17391     xmlRelaxNGValidityErrorFunc * err; /* the error callback result */
   17392     int n_err;
   17393     xmlRelaxNGValidityWarningFunc * warn; /* the warning callback result */
   17394     int n_warn;
   17395     void ** ctx; /* contextual data for the callbacks result */
   17396     int n_ctx;
   17397 
   17398     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
   17399     for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
   17400     for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
   17401     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
   17402         mem_base = xmlMemBlocks();
   17403         ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
   17404         err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
   17405         warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
   17406         ctx = gen_void_ptr_ptr(n_ctx, 3);
   17407 
   17408         ret_val = xmlRelaxNGGetParserErrors(ctxt, err, warn, ctx);
   17409         desret_int(ret_val);
   17410         call_tests++;
   17411         des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
   17412         des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
   17413         des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
   17414         des_void_ptr_ptr(n_ctx, ctx, 3);
   17415         xmlResetLastError();
   17416         if (mem_base != xmlMemBlocks()) {
   17417             printf("Leak of %d blocks found in xmlRelaxNGGetParserErrors",
   17418 	           xmlMemBlocks() - mem_base);
   17419 	    test_ret++;
   17420             printf(" %d", n_ctxt);
   17421             printf(" %d", n_err);
   17422             printf(" %d", n_warn);
   17423             printf(" %d", n_ctx);
   17424             printf("\n");
   17425         }
   17426     }
   17427     }
   17428     }
   17429     }
   17430     function_tests++;
   17431 #endif
   17432 
   17433     return(test_ret);
   17434 }
   17435 
   17436 #ifdef LIBXML_SCHEMAS_ENABLED
   17437 
   17438 #define gen_nb_xmlRelaxNGValidCtxtPtr 1
   17439 static xmlRelaxNGValidCtxtPtr gen_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17440     return(NULL);
   17441 }
   17442 static void des_xmlRelaxNGValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRelaxNGValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   17443 }
   17444 #endif
   17445 
   17446 
   17447 static int
   17448 test_xmlRelaxNGGetValidErrors(void) {
   17449     int test_ret = 0;
   17450 
   17451 #if defined(LIBXML_SCHEMAS_ENABLED)
   17452     int mem_base;
   17453     int ret_val;
   17454     xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
   17455     int n_ctxt;
   17456     xmlRelaxNGValidityErrorFunc * err; /* the error function result */
   17457     int n_err;
   17458     xmlRelaxNGValidityWarningFunc * warn; /* the warning function result */
   17459     int n_warn;
   17460     void ** ctx; /* the functions context result */
   17461     int n_ctx;
   17462 
   17463     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
   17464     for (n_err = 0;n_err < gen_nb_xmlRelaxNGValidityErrorFunc_ptr;n_err++) {
   17465     for (n_warn = 0;n_warn < gen_nb_xmlRelaxNGValidityWarningFunc_ptr;n_warn++) {
   17466     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
   17467         mem_base = xmlMemBlocks();
   17468         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
   17469         err = gen_xmlRelaxNGValidityErrorFunc_ptr(n_err, 1);
   17470         warn = gen_xmlRelaxNGValidityWarningFunc_ptr(n_warn, 2);
   17471         ctx = gen_void_ptr_ptr(n_ctx, 3);
   17472 
   17473         ret_val = xmlRelaxNGGetValidErrors(ctxt, err, warn, ctx);
   17474         desret_int(ret_val);
   17475         call_tests++;
   17476         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
   17477         des_xmlRelaxNGValidityErrorFunc_ptr(n_err, err, 1);
   17478         des_xmlRelaxNGValidityWarningFunc_ptr(n_warn, warn, 2);
   17479         des_void_ptr_ptr(n_ctx, ctx, 3);
   17480         xmlResetLastError();
   17481         if (mem_base != xmlMemBlocks()) {
   17482             printf("Leak of %d blocks found in xmlRelaxNGGetValidErrors",
   17483 	           xmlMemBlocks() - mem_base);
   17484 	    test_ret++;
   17485             printf(" %d", n_ctxt);
   17486             printf(" %d", n_err);
   17487             printf(" %d", n_warn);
   17488             printf(" %d", n_ctx);
   17489             printf("\n");
   17490         }
   17491     }
   17492     }
   17493     }
   17494     }
   17495     function_tests++;
   17496 #endif
   17497 
   17498     return(test_ret);
   17499 }
   17500 
   17501 
   17502 static int
   17503 test_xmlRelaxNGInitTypes(void) {
   17504     int test_ret = 0;
   17505 
   17506 #if defined(LIBXML_SCHEMAS_ENABLED)
   17507     int mem_base;
   17508     int ret_val;
   17509 
   17510         mem_base = xmlMemBlocks();
   17511 
   17512         ret_val = xmlRelaxNGInitTypes();
   17513         desret_int(ret_val);
   17514         call_tests++;
   17515         xmlResetLastError();
   17516         if (mem_base != xmlMemBlocks()) {
   17517             printf("Leak of %d blocks found in xmlRelaxNGInitTypes",
   17518 	           xmlMemBlocks() - mem_base);
   17519 	    test_ret++;
   17520             printf("\n");
   17521         }
   17522     function_tests++;
   17523 #endif
   17524 
   17525     return(test_ret);
   17526 }
   17527 
   17528 
   17529 static int
   17530 test_xmlRelaxNGNewDocParserCtxt(void) {
   17531     int test_ret = 0;
   17532 
   17533 #if defined(LIBXML_SCHEMAS_ENABLED)
   17534     int mem_base;
   17535     xmlRelaxNGParserCtxtPtr ret_val;
   17536     xmlDocPtr doc; /* a preparsed document tree */
   17537     int n_doc;
   17538 
   17539     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   17540         mem_base = xmlMemBlocks();
   17541         doc = gen_xmlDocPtr(n_doc, 0);
   17542 
   17543         ret_val = xmlRelaxNGNewDocParserCtxt(doc);
   17544         desret_xmlRelaxNGParserCtxtPtr(ret_val);
   17545         call_tests++;
   17546         des_xmlDocPtr(n_doc, doc, 0);
   17547         xmlResetLastError();
   17548         if (mem_base != xmlMemBlocks()) {
   17549             printf("Leak of %d blocks found in xmlRelaxNGNewDocParserCtxt",
   17550 	           xmlMemBlocks() - mem_base);
   17551 	    test_ret++;
   17552             printf(" %d", n_doc);
   17553             printf("\n");
   17554         }
   17555     }
   17556     function_tests++;
   17557 #endif
   17558 
   17559     return(test_ret);
   17560 }
   17561 
   17562 
   17563 static int
   17564 test_xmlRelaxNGNewMemParserCtxt(void) {
   17565     int test_ret = 0;
   17566 
   17567 #if defined(LIBXML_SCHEMAS_ENABLED)
   17568     int mem_base;
   17569     xmlRelaxNGParserCtxtPtr ret_val;
   17570     char * buffer; /* a pointer to a char array containing the schemas */
   17571     int n_buffer;
   17572     int size; /* the size of the array */
   17573     int n_size;
   17574 
   17575     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   17576     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   17577         mem_base = xmlMemBlocks();
   17578         buffer = gen_const_char_ptr(n_buffer, 0);
   17579         size = gen_int(n_size, 1);
   17580 
   17581         ret_val = xmlRelaxNGNewMemParserCtxt((const char *)buffer, size);
   17582         desret_xmlRelaxNGParserCtxtPtr(ret_val);
   17583         call_tests++;
   17584         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   17585         des_int(n_size, size, 1);
   17586         xmlResetLastError();
   17587         if (mem_base != xmlMemBlocks()) {
   17588             printf("Leak of %d blocks found in xmlRelaxNGNewMemParserCtxt",
   17589 	           xmlMemBlocks() - mem_base);
   17590 	    test_ret++;
   17591             printf(" %d", n_buffer);
   17592             printf(" %d", n_size);
   17593             printf("\n");
   17594         }
   17595     }
   17596     }
   17597     function_tests++;
   17598 #endif
   17599 
   17600     return(test_ret);
   17601 }
   17602 
   17603 
   17604 static int
   17605 test_xmlRelaxNGNewParserCtxt(void) {
   17606     int test_ret = 0;
   17607 
   17608 #if defined(LIBXML_SCHEMAS_ENABLED)
   17609     int mem_base;
   17610     xmlRelaxNGParserCtxtPtr ret_val;
   17611     char * URL; /* the location of the schema */
   17612     int n_URL;
   17613 
   17614     for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
   17615         mem_base = xmlMemBlocks();
   17616         URL = gen_const_char_ptr(n_URL, 0);
   17617 
   17618         ret_val = xmlRelaxNGNewParserCtxt((const char *)URL);
   17619         desret_xmlRelaxNGParserCtxtPtr(ret_val);
   17620         call_tests++;
   17621         des_const_char_ptr(n_URL, (const char *)URL, 0);
   17622         xmlResetLastError();
   17623         if (mem_base != xmlMemBlocks()) {
   17624             printf("Leak of %d blocks found in xmlRelaxNGNewParserCtxt",
   17625 	           xmlMemBlocks() - mem_base);
   17626 	    test_ret++;
   17627             printf(" %d", n_URL);
   17628             printf("\n");
   17629         }
   17630     }
   17631     function_tests++;
   17632 #endif
   17633 
   17634     return(test_ret);
   17635 }
   17636 
   17637 
   17638 static int
   17639 test_xmlRelaxNGNewValidCtxt(void) {
   17640     int test_ret = 0;
   17641 
   17642 
   17643     /* missing type support */
   17644     return(test_ret);
   17645 }
   17646 
   17647 
   17648 static int
   17649 test_xmlRelaxNGParse(void) {
   17650     int test_ret = 0;
   17651 
   17652 
   17653     /* missing type support */
   17654     return(test_ret);
   17655 }
   17656 
   17657 
   17658 static int
   17659 test_xmlRelaxNGSetParserErrors(void) {
   17660     int test_ret = 0;
   17661 
   17662 
   17663     /* missing type support */
   17664     return(test_ret);
   17665 }
   17666 
   17667 
   17668 static int
   17669 test_xmlRelaxNGSetParserStructuredErrors(void) {
   17670     int test_ret = 0;
   17671 
   17672 
   17673     /* missing type support */
   17674     return(test_ret);
   17675 }
   17676 
   17677 
   17678 static int
   17679 test_xmlRelaxNGSetValidErrors(void) {
   17680     int test_ret = 0;
   17681 
   17682 
   17683     /* missing type support */
   17684     return(test_ret);
   17685 }
   17686 
   17687 
   17688 static int
   17689 test_xmlRelaxNGSetValidStructuredErrors(void) {
   17690     int test_ret = 0;
   17691 
   17692 
   17693     /* missing type support */
   17694     return(test_ret);
   17695 }
   17696 
   17697 
   17698 static int
   17699 test_xmlRelaxNGValidateDoc(void) {
   17700     int test_ret = 0;
   17701 
   17702 #if defined(LIBXML_SCHEMAS_ENABLED)
   17703     int mem_base;
   17704     int ret_val;
   17705     xmlRelaxNGValidCtxtPtr ctxt; /* a Relax-NG validation context */
   17706     int n_ctxt;
   17707     xmlDocPtr doc; /* a parsed document tree */
   17708     int n_doc;
   17709 
   17710     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
   17711     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   17712         mem_base = xmlMemBlocks();
   17713         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
   17714         doc = gen_xmlDocPtr(n_doc, 1);
   17715 
   17716         ret_val = xmlRelaxNGValidateDoc(ctxt, doc);
   17717         desret_int(ret_val);
   17718         call_tests++;
   17719         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
   17720         des_xmlDocPtr(n_doc, doc, 1);
   17721         xmlResetLastError();
   17722         if (mem_base != xmlMemBlocks()) {
   17723             printf("Leak of %d blocks found in xmlRelaxNGValidateDoc",
   17724 	           xmlMemBlocks() - mem_base);
   17725 	    test_ret++;
   17726             printf(" %d", n_ctxt);
   17727             printf(" %d", n_doc);
   17728             printf("\n");
   17729         }
   17730     }
   17731     }
   17732     function_tests++;
   17733 #endif
   17734 
   17735     return(test_ret);
   17736 }
   17737 
   17738 
   17739 static int
   17740 test_xmlRelaxNGValidateFullElement(void) {
   17741     int test_ret = 0;
   17742 
   17743 #if defined(LIBXML_SCHEMAS_ENABLED)
   17744     int mem_base;
   17745     int ret_val;
   17746     xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
   17747     int n_ctxt;
   17748     xmlDocPtr doc; /* a document instance */
   17749     int n_doc;
   17750     xmlNodePtr elem; /* an element instance */
   17751     int n_elem;
   17752 
   17753     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
   17754     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   17755     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   17756         mem_base = xmlMemBlocks();
   17757         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
   17758         doc = gen_xmlDocPtr(n_doc, 1);
   17759         elem = gen_xmlNodePtr(n_elem, 2);
   17760 
   17761         ret_val = xmlRelaxNGValidateFullElement(ctxt, doc, elem);
   17762         desret_int(ret_val);
   17763         call_tests++;
   17764         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
   17765         des_xmlDocPtr(n_doc, doc, 1);
   17766         des_xmlNodePtr(n_elem, elem, 2);
   17767         xmlResetLastError();
   17768         if (mem_base != xmlMemBlocks()) {
   17769             printf("Leak of %d blocks found in xmlRelaxNGValidateFullElement",
   17770 	           xmlMemBlocks() - mem_base);
   17771 	    test_ret++;
   17772             printf(" %d", n_ctxt);
   17773             printf(" %d", n_doc);
   17774             printf(" %d", n_elem);
   17775             printf("\n");
   17776         }
   17777     }
   17778     }
   17779     }
   17780     function_tests++;
   17781 #endif
   17782 
   17783     return(test_ret);
   17784 }
   17785 
   17786 
   17787 static int
   17788 test_xmlRelaxNGValidatePopElement(void) {
   17789     int test_ret = 0;
   17790 
   17791 #if defined(LIBXML_SCHEMAS_ENABLED)
   17792     int mem_base;
   17793     int ret_val;
   17794     xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
   17795     int n_ctxt;
   17796     xmlDocPtr doc; /* a document instance */
   17797     int n_doc;
   17798     xmlNodePtr elem; /* an element instance */
   17799     int n_elem;
   17800 
   17801     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
   17802     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   17803     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   17804         mem_base = xmlMemBlocks();
   17805         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
   17806         doc = gen_xmlDocPtr(n_doc, 1);
   17807         elem = gen_xmlNodePtr(n_elem, 2);
   17808 
   17809         ret_val = xmlRelaxNGValidatePopElement(ctxt, doc, elem);
   17810         desret_int(ret_val);
   17811         call_tests++;
   17812         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
   17813         des_xmlDocPtr(n_doc, doc, 1);
   17814         des_xmlNodePtr(n_elem, elem, 2);
   17815         xmlResetLastError();
   17816         if (mem_base != xmlMemBlocks()) {
   17817             printf("Leak of %d blocks found in xmlRelaxNGValidatePopElement",
   17818 	           xmlMemBlocks() - mem_base);
   17819 	    test_ret++;
   17820             printf(" %d", n_ctxt);
   17821             printf(" %d", n_doc);
   17822             printf(" %d", n_elem);
   17823             printf("\n");
   17824         }
   17825     }
   17826     }
   17827     }
   17828     function_tests++;
   17829 #endif
   17830 
   17831     return(test_ret);
   17832 }
   17833 
   17834 
   17835 static int
   17836 test_xmlRelaxNGValidatePushCData(void) {
   17837     int test_ret = 0;
   17838 
   17839 #if defined(LIBXML_SCHEMAS_ENABLED)
   17840     int mem_base;
   17841     int ret_val;
   17842     xmlRelaxNGValidCtxtPtr ctxt; /* the RelaxNG validation context */
   17843     int n_ctxt;
   17844     xmlChar * data; /* some character data read */
   17845     int n_data;
   17846     int len; /* the lenght of the data */
   17847     int n_len;
   17848 
   17849     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
   17850     for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
   17851     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   17852         mem_base = xmlMemBlocks();
   17853         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
   17854         data = gen_const_xmlChar_ptr(n_data, 1);
   17855         len = gen_int(n_len, 2);
   17856 
   17857         ret_val = xmlRelaxNGValidatePushCData(ctxt, (const xmlChar *)data, len);
   17858         desret_int(ret_val);
   17859         call_tests++;
   17860         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
   17861         des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
   17862         des_int(n_len, len, 2);
   17863         xmlResetLastError();
   17864         if (mem_base != xmlMemBlocks()) {
   17865             printf("Leak of %d blocks found in xmlRelaxNGValidatePushCData",
   17866 	           xmlMemBlocks() - mem_base);
   17867 	    test_ret++;
   17868             printf(" %d", n_ctxt);
   17869             printf(" %d", n_data);
   17870             printf(" %d", n_len);
   17871             printf("\n");
   17872         }
   17873     }
   17874     }
   17875     }
   17876     function_tests++;
   17877 #endif
   17878 
   17879     return(test_ret);
   17880 }
   17881 
   17882 
   17883 static int
   17884 test_xmlRelaxNGValidatePushElement(void) {
   17885     int test_ret = 0;
   17886 
   17887 #if defined(LIBXML_SCHEMAS_ENABLED)
   17888     int mem_base;
   17889     int ret_val;
   17890     xmlRelaxNGValidCtxtPtr ctxt; /* the validation context */
   17891     int n_ctxt;
   17892     xmlDocPtr doc; /* a document instance */
   17893     int n_doc;
   17894     xmlNodePtr elem; /* an element instance */
   17895     int n_elem;
   17896 
   17897     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGValidCtxtPtr;n_ctxt++) {
   17898     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   17899     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   17900         mem_base = xmlMemBlocks();
   17901         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
   17902         doc = gen_xmlDocPtr(n_doc, 1);
   17903         elem = gen_xmlNodePtr(n_elem, 2);
   17904 
   17905         ret_val = xmlRelaxNGValidatePushElement(ctxt, doc, elem);
   17906         desret_int(ret_val);
   17907         call_tests++;
   17908         des_xmlRelaxNGValidCtxtPtr(n_ctxt, ctxt, 0);
   17909         des_xmlDocPtr(n_doc, doc, 1);
   17910         des_xmlNodePtr(n_elem, elem, 2);
   17911         xmlResetLastError();
   17912         if (mem_base != xmlMemBlocks()) {
   17913             printf("Leak of %d blocks found in xmlRelaxNGValidatePushElement",
   17914 	           xmlMemBlocks() - mem_base);
   17915 	    test_ret++;
   17916             printf(" %d", n_ctxt);
   17917             printf(" %d", n_doc);
   17918             printf(" %d", n_elem);
   17919             printf("\n");
   17920         }
   17921     }
   17922     }
   17923     }
   17924     function_tests++;
   17925 #endif
   17926 
   17927     return(test_ret);
   17928 }
   17929 
   17930 
   17931 static int
   17932 test_xmlRelaxParserSetFlag(void) {
   17933     int test_ret = 0;
   17934 
   17935 #if defined(LIBXML_SCHEMAS_ENABLED)
   17936     int mem_base;
   17937     int ret_val;
   17938     xmlRelaxNGParserCtxtPtr ctxt; /* a RelaxNG parser context */
   17939     int n_ctxt;
   17940     int flags; /* a set of flags values */
   17941     int n_flags;
   17942 
   17943     for (n_ctxt = 0;n_ctxt < gen_nb_xmlRelaxNGParserCtxtPtr;n_ctxt++) {
   17944     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
   17945         mem_base = xmlMemBlocks();
   17946         ctxt = gen_xmlRelaxNGParserCtxtPtr(n_ctxt, 0);
   17947         flags = gen_int(n_flags, 1);
   17948 
   17949         ret_val = xmlRelaxParserSetFlag(ctxt, flags);
   17950         desret_int(ret_val);
   17951         call_tests++;
   17952         des_xmlRelaxNGParserCtxtPtr(n_ctxt, ctxt, 0);
   17953         des_int(n_flags, flags, 1);
   17954         xmlResetLastError();
   17955         if (mem_base != xmlMemBlocks()) {
   17956             printf("Leak of %d blocks found in xmlRelaxParserSetFlag",
   17957 	           xmlMemBlocks() - mem_base);
   17958 	    test_ret++;
   17959             printf(" %d", n_ctxt);
   17960             printf(" %d", n_flags);
   17961             printf("\n");
   17962         }
   17963     }
   17964     }
   17965     function_tests++;
   17966 #endif
   17967 
   17968     return(test_ret);
   17969 }
   17970 
   17971 static int
   17972 test_relaxng(void) {
   17973     int test_ret = 0;
   17974 
   17975     if (quiet == 0) printf("Testing relaxng : 14 of 24 functions ...\n");
   17976     test_ret += test_xmlRelaxNGDump();
   17977     test_ret += test_xmlRelaxNGDumpTree();
   17978     test_ret += test_xmlRelaxNGGetParserErrors();
   17979     test_ret += test_xmlRelaxNGGetValidErrors();
   17980     test_ret += test_xmlRelaxNGInitTypes();
   17981     test_ret += test_xmlRelaxNGNewDocParserCtxt();
   17982     test_ret += test_xmlRelaxNGNewMemParserCtxt();
   17983     test_ret += test_xmlRelaxNGNewParserCtxt();
   17984     test_ret += test_xmlRelaxNGNewValidCtxt();
   17985     test_ret += test_xmlRelaxNGParse();
   17986     test_ret += test_xmlRelaxNGSetParserErrors();
   17987     test_ret += test_xmlRelaxNGSetParserStructuredErrors();
   17988     test_ret += test_xmlRelaxNGSetValidErrors();
   17989     test_ret += test_xmlRelaxNGSetValidStructuredErrors();
   17990     test_ret += test_xmlRelaxNGValidateDoc();
   17991     test_ret += test_xmlRelaxNGValidateFullElement();
   17992     test_ret += test_xmlRelaxNGValidatePopElement();
   17993     test_ret += test_xmlRelaxNGValidatePushCData();
   17994     test_ret += test_xmlRelaxNGValidatePushElement();
   17995     test_ret += test_xmlRelaxParserSetFlag();
   17996 
   17997     if (test_ret != 0)
   17998 	printf("Module relaxng: %d errors\n", test_ret);
   17999     return(test_ret);
   18000 }
   18001 static int
   18002 test_schemasInternals(void) {
   18003     int test_ret = 0;
   18004 
   18005     if (quiet == 0) printf("Testing schemasInternals : 0 of 2 functions ...\n");
   18006 
   18007     if (test_ret != 0)
   18008 	printf("Module schemasInternals: %d errors\n", test_ret);
   18009     return(test_ret);
   18010 }
   18011 
   18012 static int
   18013 test_xmlSchematronNewDocParserCtxt(void) {
   18014     int test_ret = 0;
   18015 
   18016 
   18017     /* missing type support */
   18018     return(test_ret);
   18019 }
   18020 
   18021 
   18022 static int
   18023 test_xmlSchematronNewMemParserCtxt(void) {
   18024     int test_ret = 0;
   18025 
   18026 
   18027     /* missing type support */
   18028     return(test_ret);
   18029 }
   18030 
   18031 
   18032 static int
   18033 test_xmlSchematronNewParserCtxt(void) {
   18034     int test_ret = 0;
   18035 
   18036 
   18037     /* missing type support */
   18038     return(test_ret);
   18039 }
   18040 
   18041 #ifdef LIBXML_SCHEMATRON_ENABLED
   18042 
   18043 #define gen_nb_xmlSchematronPtr 1
   18044 static xmlSchematronPtr gen_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18045     return(NULL);
   18046 }
   18047 static void des_xmlSchematronPtr(int no ATTRIBUTE_UNUSED, xmlSchematronPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18048 }
   18049 #endif
   18050 
   18051 
   18052 static int
   18053 test_xmlSchematronNewValidCtxt(void) {
   18054     int test_ret = 0;
   18055 
   18056 
   18057     /* missing type support */
   18058     return(test_ret);
   18059 }
   18060 
   18061 #ifdef LIBXML_SCHEMATRON_ENABLED
   18062 
   18063 #define gen_nb_xmlSchematronParserCtxtPtr 1
   18064 static xmlSchematronParserCtxtPtr gen_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18065     return(NULL);
   18066 }
   18067 static void des_xmlSchematronParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18068 }
   18069 #endif
   18070 
   18071 
   18072 static int
   18073 test_xmlSchematronParse(void) {
   18074     int test_ret = 0;
   18075 
   18076 
   18077     /* missing type support */
   18078     return(test_ret);
   18079 }
   18080 
   18081 #ifdef LIBXML_SCHEMATRON_ENABLED
   18082 
   18083 #define gen_nb_xmlSchematronValidCtxtPtr 1
   18084 static xmlSchematronValidCtxtPtr gen_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18085     return(NULL);
   18086 }
   18087 static void des_xmlSchematronValidCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchematronValidCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18088 }
   18089 #endif
   18090 
   18091 
   18092 static int
   18093 test_xmlSchematronSetValidStructuredErrors(void) {
   18094     int test_ret = 0;
   18095 
   18096 
   18097     /* missing type support */
   18098     return(test_ret);
   18099 }
   18100 
   18101 
   18102 static int
   18103 test_xmlSchematronValidateDoc(void) {
   18104     int test_ret = 0;
   18105 
   18106 #if defined(LIBXML_SCHEMATRON_ENABLED)
   18107     int mem_base;
   18108     int ret_val;
   18109     xmlSchematronValidCtxtPtr ctxt; /* the schema validation context */
   18110     int n_ctxt;
   18111     xmlDocPtr instance; /* the document instace tree */
   18112     int n_instance;
   18113 
   18114     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchematronValidCtxtPtr;n_ctxt++) {
   18115     for (n_instance = 0;n_instance < gen_nb_xmlDocPtr;n_instance++) {
   18116         mem_base = xmlMemBlocks();
   18117         ctxt = gen_xmlSchematronValidCtxtPtr(n_ctxt, 0);
   18118         instance = gen_xmlDocPtr(n_instance, 1);
   18119 
   18120         ret_val = xmlSchematronValidateDoc(ctxt, instance);
   18121         desret_int(ret_val);
   18122         call_tests++;
   18123         des_xmlSchematronValidCtxtPtr(n_ctxt, ctxt, 0);
   18124         des_xmlDocPtr(n_instance, instance, 1);
   18125         xmlResetLastError();
   18126         if (mem_base != xmlMemBlocks()) {
   18127             printf("Leak of %d blocks found in xmlSchematronValidateDoc",
   18128 	           xmlMemBlocks() - mem_base);
   18129 	    test_ret++;
   18130             printf(" %d", n_ctxt);
   18131             printf(" %d", n_instance);
   18132             printf("\n");
   18133         }
   18134     }
   18135     }
   18136     function_tests++;
   18137 #endif
   18138 
   18139     return(test_ret);
   18140 }
   18141 
   18142 static int
   18143 test_schematron(void) {
   18144     int test_ret = 0;
   18145 
   18146     if (quiet == 0) printf("Testing schematron : 1 of 10 functions ...\n");
   18147     test_ret += test_xmlSchematronNewDocParserCtxt();
   18148     test_ret += test_xmlSchematronNewMemParserCtxt();
   18149     test_ret += test_xmlSchematronNewParserCtxt();
   18150     test_ret += test_xmlSchematronNewValidCtxt();
   18151     test_ret += test_xmlSchematronParse();
   18152     test_ret += test_xmlSchematronSetValidStructuredErrors();
   18153     test_ret += test_xmlSchematronValidateDoc();
   18154 
   18155     if (test_ret != 0)
   18156 	printf("Module schematron: %d errors\n", test_ret);
   18157     return(test_ret);
   18158 }
   18159 
   18160 static int
   18161 test_xmlAddChild(void) {
   18162     int test_ret = 0;
   18163 
   18164     int mem_base;
   18165     xmlNodePtr ret_val;
   18166     xmlNodePtr parent; /* the parent node */
   18167     int n_parent;
   18168     xmlNodePtr cur; /* the child node */
   18169     int n_cur;
   18170 
   18171     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   18172     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
   18173         mem_base = xmlMemBlocks();
   18174         parent = gen_xmlNodePtr(n_parent, 0);
   18175         cur = gen_xmlNodePtr_in(n_cur, 1);
   18176 
   18177         ret_val = xmlAddChild(parent, cur);
   18178         if (ret_val == NULL) { xmlFreeNode(cur) ; cur = NULL ; }
   18179         desret_xmlNodePtr(ret_val);
   18180         call_tests++;
   18181         des_xmlNodePtr(n_parent, parent, 0);
   18182         des_xmlNodePtr_in(n_cur, cur, 1);
   18183         xmlResetLastError();
   18184         if (mem_base != xmlMemBlocks()) {
   18185             printf("Leak of %d blocks found in xmlAddChild",
   18186 	           xmlMemBlocks() - mem_base);
   18187 	    test_ret++;
   18188             printf(" %d", n_parent);
   18189             printf(" %d", n_cur);
   18190             printf("\n");
   18191         }
   18192     }
   18193     }
   18194     function_tests++;
   18195 
   18196     return(test_ret);
   18197 }
   18198 
   18199 
   18200 static int
   18201 test_xmlAddChildList(void) {
   18202     int test_ret = 0;
   18203 
   18204     int mem_base;
   18205     xmlNodePtr ret_val;
   18206     xmlNodePtr parent; /* the parent node */
   18207     int n_parent;
   18208     xmlNodePtr cur; /* the first node in the list */
   18209     int n_cur;
   18210 
   18211     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   18212     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
   18213         mem_base = xmlMemBlocks();
   18214         parent = gen_xmlNodePtr(n_parent, 0);
   18215         cur = gen_xmlNodePtr_in(n_cur, 1);
   18216 
   18217         ret_val = xmlAddChildList(parent, cur);
   18218         if (ret_val == NULL) { xmlFreeNodeList(cur) ; cur = NULL ; }
   18219         desret_xmlNodePtr(ret_val);
   18220         call_tests++;
   18221         des_xmlNodePtr(n_parent, parent, 0);
   18222         des_xmlNodePtr_in(n_cur, cur, 1);
   18223         xmlResetLastError();
   18224         if (mem_base != xmlMemBlocks()) {
   18225             printf("Leak of %d blocks found in xmlAddChildList",
   18226 	           xmlMemBlocks() - mem_base);
   18227 	    test_ret++;
   18228             printf(" %d", n_parent);
   18229             printf(" %d", n_cur);
   18230             printf("\n");
   18231         }
   18232     }
   18233     }
   18234     function_tests++;
   18235 
   18236     return(test_ret);
   18237 }
   18238 
   18239 
   18240 static int
   18241 test_xmlAddNextSibling(void) {
   18242     int test_ret = 0;
   18243 
   18244     int mem_base;
   18245     xmlNodePtr ret_val;
   18246     xmlNodePtr cur; /* the child node */
   18247     int n_cur;
   18248     xmlNodePtr elem; /* the new node */
   18249     int n_elem;
   18250 
   18251     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   18252     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
   18253         mem_base = xmlMemBlocks();
   18254         cur = gen_xmlNodePtr(n_cur, 0);
   18255         elem = gen_xmlNodePtr_in(n_elem, 1);
   18256 
   18257         ret_val = xmlAddNextSibling(cur, elem);
   18258         if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
   18259         desret_xmlNodePtr(ret_val);
   18260         call_tests++;
   18261         des_xmlNodePtr(n_cur, cur, 0);
   18262         des_xmlNodePtr_in(n_elem, elem, 1);
   18263         xmlResetLastError();
   18264         if (mem_base != xmlMemBlocks()) {
   18265             printf("Leak of %d blocks found in xmlAddNextSibling",
   18266 	           xmlMemBlocks() - mem_base);
   18267 	    test_ret++;
   18268             printf(" %d", n_cur);
   18269             printf(" %d", n_elem);
   18270             printf("\n");
   18271         }
   18272     }
   18273     }
   18274     function_tests++;
   18275 
   18276     return(test_ret);
   18277 }
   18278 
   18279 
   18280 static int
   18281 test_xmlAddPrevSibling(void) {
   18282     int test_ret = 0;
   18283 
   18284 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   18285     int mem_base;
   18286     xmlNodePtr ret_val;
   18287     xmlNodePtr cur; /* the child node */
   18288     int n_cur;
   18289     xmlNodePtr elem; /* the new node */
   18290     int n_elem;
   18291 
   18292     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   18293     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
   18294         mem_base = xmlMemBlocks();
   18295         cur = gen_xmlNodePtr(n_cur, 0);
   18296         elem = gen_xmlNodePtr_in(n_elem, 1);
   18297 
   18298         ret_val = xmlAddPrevSibling(cur, elem);
   18299         if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
   18300         desret_xmlNodePtr(ret_val);
   18301         call_tests++;
   18302         des_xmlNodePtr(n_cur, cur, 0);
   18303         des_xmlNodePtr_in(n_elem, elem, 1);
   18304         xmlResetLastError();
   18305         if (mem_base != xmlMemBlocks()) {
   18306             printf("Leak of %d blocks found in xmlAddPrevSibling",
   18307 	           xmlMemBlocks() - mem_base);
   18308 	    test_ret++;
   18309             printf(" %d", n_cur);
   18310             printf(" %d", n_elem);
   18311             printf("\n");
   18312         }
   18313     }
   18314     }
   18315     function_tests++;
   18316 #endif
   18317 
   18318     return(test_ret);
   18319 }
   18320 
   18321 
   18322 static int
   18323 test_xmlAddSibling(void) {
   18324     int test_ret = 0;
   18325 
   18326     int mem_base;
   18327     xmlNodePtr ret_val;
   18328     xmlNodePtr cur; /* the child node */
   18329     int n_cur;
   18330     xmlNodePtr elem; /* the new node */
   18331     int n_elem;
   18332 
   18333     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   18334     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr_in;n_elem++) {
   18335         mem_base = xmlMemBlocks();
   18336         cur = gen_xmlNodePtr(n_cur, 0);
   18337         elem = gen_xmlNodePtr_in(n_elem, 1);
   18338 
   18339         ret_val = xmlAddSibling(cur, elem);
   18340         if (ret_val == NULL) { xmlFreeNode(elem) ; elem = NULL ; }
   18341         desret_xmlNodePtr(ret_val);
   18342         call_tests++;
   18343         des_xmlNodePtr(n_cur, cur, 0);
   18344         des_xmlNodePtr_in(n_elem, elem, 1);
   18345         xmlResetLastError();
   18346         if (mem_base != xmlMemBlocks()) {
   18347             printf("Leak of %d blocks found in xmlAddSibling",
   18348 	           xmlMemBlocks() - mem_base);
   18349 	    test_ret++;
   18350             printf(" %d", n_cur);
   18351             printf(" %d", n_elem);
   18352             printf("\n");
   18353         }
   18354     }
   18355     }
   18356     function_tests++;
   18357 
   18358     return(test_ret);
   18359 }
   18360 
   18361 
   18362 static int
   18363 test_xmlAttrSerializeTxtContent(void) {
   18364     int test_ret = 0;
   18365 
   18366 #if defined(LIBXML_OUTPUT_ENABLED)
   18367 #ifdef LIBXML_OUTPUT_ENABLED
   18368     int mem_base;
   18369     xmlBufferPtr buf; /* the XML buffer output */
   18370     int n_buf;
   18371     xmlDocPtr doc; /* the document */
   18372     int n_doc;
   18373     xmlAttrPtr attr; /* the attribute node */
   18374     int n_attr;
   18375     xmlChar * string; /* the text content */
   18376     int n_string;
   18377 
   18378     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18379     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   18380     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   18381     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
   18382         mem_base = xmlMemBlocks();
   18383         buf = gen_xmlBufferPtr(n_buf, 0);
   18384         doc = gen_xmlDocPtr(n_doc, 1);
   18385         attr = gen_xmlAttrPtr(n_attr, 2);
   18386         string = gen_const_xmlChar_ptr(n_string, 3);
   18387 
   18388         xmlAttrSerializeTxtContent(buf, doc, attr, (const xmlChar *)string);
   18389         call_tests++;
   18390         des_xmlBufferPtr(n_buf, buf, 0);
   18391         des_xmlDocPtr(n_doc, doc, 1);
   18392         des_xmlAttrPtr(n_attr, attr, 2);
   18393         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 3);
   18394         xmlResetLastError();
   18395         if (mem_base != xmlMemBlocks()) {
   18396             printf("Leak of %d blocks found in xmlAttrSerializeTxtContent",
   18397 	           xmlMemBlocks() - mem_base);
   18398 	    test_ret++;
   18399             printf(" %d", n_buf);
   18400             printf(" %d", n_doc);
   18401             printf(" %d", n_attr);
   18402             printf(" %d", n_string);
   18403             printf("\n");
   18404         }
   18405     }
   18406     }
   18407     }
   18408     }
   18409     function_tests++;
   18410 #endif
   18411 #endif
   18412 
   18413     return(test_ret);
   18414 }
   18415 
   18416 
   18417 static int
   18418 test_xmlBufferAdd(void) {
   18419     int test_ret = 0;
   18420 
   18421     int mem_base;
   18422     int ret_val;
   18423     xmlBufferPtr buf; /* the buffer to dump */
   18424     int n_buf;
   18425     xmlChar * str; /* the #xmlChar string */
   18426     int n_str;
   18427     int len; /* the number of #xmlChar to add */
   18428     int n_len;
   18429 
   18430     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18431     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   18432     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   18433         mem_base = xmlMemBlocks();
   18434         buf = gen_xmlBufferPtr(n_buf, 0);
   18435         str = gen_const_xmlChar_ptr(n_str, 1);
   18436         len = gen_int(n_len, 2);
   18437 
   18438         ret_val = xmlBufferAdd(buf, (const xmlChar *)str, len);
   18439         desret_int(ret_val);
   18440         call_tests++;
   18441         des_xmlBufferPtr(n_buf, buf, 0);
   18442         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   18443         des_int(n_len, len, 2);
   18444         xmlResetLastError();
   18445         if (mem_base != xmlMemBlocks()) {
   18446             printf("Leak of %d blocks found in xmlBufferAdd",
   18447 	           xmlMemBlocks() - mem_base);
   18448 	    test_ret++;
   18449             printf(" %d", n_buf);
   18450             printf(" %d", n_str);
   18451             printf(" %d", n_len);
   18452             printf("\n");
   18453         }
   18454     }
   18455     }
   18456     }
   18457     function_tests++;
   18458 
   18459     return(test_ret);
   18460 }
   18461 
   18462 
   18463 static int
   18464 test_xmlBufferAddHead(void) {
   18465     int test_ret = 0;
   18466 
   18467     int mem_base;
   18468     int ret_val;
   18469     xmlBufferPtr buf; /* the buffer */
   18470     int n_buf;
   18471     xmlChar * str; /* the #xmlChar string */
   18472     int n_str;
   18473     int len; /* the number of #xmlChar to add */
   18474     int n_len;
   18475 
   18476     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18477     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   18478     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   18479         mem_base = xmlMemBlocks();
   18480         buf = gen_xmlBufferPtr(n_buf, 0);
   18481         str = gen_const_xmlChar_ptr(n_str, 1);
   18482         len = gen_int(n_len, 2);
   18483 
   18484         ret_val = xmlBufferAddHead(buf, (const xmlChar *)str, len);
   18485         desret_int(ret_val);
   18486         call_tests++;
   18487         des_xmlBufferPtr(n_buf, buf, 0);
   18488         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   18489         des_int(n_len, len, 2);
   18490         xmlResetLastError();
   18491         if (mem_base != xmlMemBlocks()) {
   18492             printf("Leak of %d blocks found in xmlBufferAddHead",
   18493 	           xmlMemBlocks() - mem_base);
   18494 	    test_ret++;
   18495             printf(" %d", n_buf);
   18496             printf(" %d", n_str);
   18497             printf(" %d", n_len);
   18498             printf("\n");
   18499         }
   18500     }
   18501     }
   18502     }
   18503     function_tests++;
   18504 
   18505     return(test_ret);
   18506 }
   18507 
   18508 
   18509 static int
   18510 test_xmlBufferCCat(void) {
   18511     int test_ret = 0;
   18512 
   18513     int mem_base;
   18514     int ret_val;
   18515     xmlBufferPtr buf; /* the buffer to dump */
   18516     int n_buf;
   18517     char * str; /* the C char string */
   18518     int n_str;
   18519 
   18520     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18521     for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
   18522         mem_base = xmlMemBlocks();
   18523         buf = gen_xmlBufferPtr(n_buf, 0);
   18524         str = gen_const_char_ptr(n_str, 1);
   18525 
   18526         ret_val = xmlBufferCCat(buf, (const char *)str);
   18527         desret_int(ret_val);
   18528         call_tests++;
   18529         des_xmlBufferPtr(n_buf, buf, 0);
   18530         des_const_char_ptr(n_str, (const char *)str, 1);
   18531         xmlResetLastError();
   18532         if (mem_base != xmlMemBlocks()) {
   18533             printf("Leak of %d blocks found in xmlBufferCCat",
   18534 	           xmlMemBlocks() - mem_base);
   18535 	    test_ret++;
   18536             printf(" %d", n_buf);
   18537             printf(" %d", n_str);
   18538             printf("\n");
   18539         }
   18540     }
   18541     }
   18542     function_tests++;
   18543 
   18544     return(test_ret);
   18545 }
   18546 
   18547 
   18548 static int
   18549 test_xmlBufferCat(void) {
   18550     int test_ret = 0;
   18551 
   18552     int mem_base;
   18553     int ret_val;
   18554     xmlBufferPtr buf; /* the buffer to add to */
   18555     int n_buf;
   18556     xmlChar * str; /* the #xmlChar string */
   18557     int n_str;
   18558 
   18559     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18560     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   18561         mem_base = xmlMemBlocks();
   18562         buf = gen_xmlBufferPtr(n_buf, 0);
   18563         str = gen_const_xmlChar_ptr(n_str, 1);
   18564 
   18565         ret_val = xmlBufferCat(buf, (const xmlChar *)str);
   18566         desret_int(ret_val);
   18567         call_tests++;
   18568         des_xmlBufferPtr(n_buf, buf, 0);
   18569         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   18570         xmlResetLastError();
   18571         if (mem_base != xmlMemBlocks()) {
   18572             printf("Leak of %d blocks found in xmlBufferCat",
   18573 	           xmlMemBlocks() - mem_base);
   18574 	    test_ret++;
   18575             printf(" %d", n_buf);
   18576             printf(" %d", n_str);
   18577             printf("\n");
   18578         }
   18579     }
   18580     }
   18581     function_tests++;
   18582 
   18583     return(test_ret);
   18584 }
   18585 
   18586 
   18587 #define gen_nb_const_xmlBufferPtr 1
   18588 static xmlBufferPtr gen_const_xmlBufferPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18589     return(NULL);
   18590 }
   18591 static void des_const_xmlBufferPtr(int no ATTRIBUTE_UNUSED, const xmlBufferPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   18592 }
   18593 
   18594 static int
   18595 test_xmlBufferContent(void) {
   18596     int test_ret = 0;
   18597 
   18598     int mem_base;
   18599     const xmlChar * ret_val;
   18600     xmlBufferPtr buf; /* the buffer */
   18601     int n_buf;
   18602 
   18603     for (n_buf = 0;n_buf < gen_nb_const_xmlBufferPtr;n_buf++) {
   18604         mem_base = xmlMemBlocks();
   18605         buf = gen_const_xmlBufferPtr(n_buf, 0);
   18606 
   18607         ret_val = xmlBufferContent((const xmlBufferPtr)buf);
   18608         desret_const_xmlChar_ptr(ret_val);
   18609         call_tests++;
   18610         des_const_xmlBufferPtr(n_buf, (const xmlBufferPtr)buf, 0);
   18611         xmlResetLastError();
   18612         if (mem_base != xmlMemBlocks()) {
   18613             printf("Leak of %d blocks found in xmlBufferContent",
   18614 	           xmlMemBlocks() - mem_base);
   18615 	    test_ret++;
   18616             printf(" %d", n_buf);
   18617             printf("\n");
   18618         }
   18619     }
   18620     function_tests++;
   18621 
   18622     return(test_ret);
   18623 }
   18624 
   18625 
   18626 static int
   18627 test_xmlBufferCreate(void) {
   18628     int test_ret = 0;
   18629 
   18630     int mem_base;
   18631     xmlBufferPtr ret_val;
   18632 
   18633         mem_base = xmlMemBlocks();
   18634 
   18635         ret_val = xmlBufferCreate();
   18636         desret_xmlBufferPtr(ret_val);
   18637         call_tests++;
   18638         xmlResetLastError();
   18639         if (mem_base != xmlMemBlocks()) {
   18640             printf("Leak of %d blocks found in xmlBufferCreate",
   18641 	           xmlMemBlocks() - mem_base);
   18642 	    test_ret++;
   18643             printf("\n");
   18644         }
   18645     function_tests++;
   18646 
   18647     return(test_ret);
   18648 }
   18649 
   18650 
   18651 static int
   18652 test_xmlBufferCreateSize(void) {
   18653     int test_ret = 0;
   18654 
   18655 
   18656     /* missing type support */
   18657     return(test_ret);
   18658 }
   18659 
   18660 
   18661 static int
   18662 test_xmlBufferCreateStatic(void) {
   18663     int test_ret = 0;
   18664 
   18665 
   18666     /* missing type support */
   18667     return(test_ret);
   18668 }
   18669 
   18670 
   18671 static int
   18672 test_xmlBufferEmpty(void) {
   18673     int test_ret = 0;
   18674 
   18675     int mem_base;
   18676     xmlBufferPtr buf; /* the buffer */
   18677     int n_buf;
   18678 
   18679     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18680         mem_base = xmlMemBlocks();
   18681         buf = gen_xmlBufferPtr(n_buf, 0);
   18682 
   18683         xmlBufferEmpty(buf);
   18684         call_tests++;
   18685         des_xmlBufferPtr(n_buf, buf, 0);
   18686         xmlResetLastError();
   18687         if (mem_base != xmlMemBlocks()) {
   18688             printf("Leak of %d blocks found in xmlBufferEmpty",
   18689 	           xmlMemBlocks() - mem_base);
   18690 	    test_ret++;
   18691             printf(" %d", n_buf);
   18692             printf("\n");
   18693         }
   18694     }
   18695     function_tests++;
   18696 
   18697     return(test_ret);
   18698 }
   18699 
   18700 
   18701 static int
   18702 test_xmlBufferGrow(void) {
   18703     int test_ret = 0;
   18704 
   18705     int mem_base;
   18706     int ret_val;
   18707     xmlBufferPtr buf; /* the buffer */
   18708     int n_buf;
   18709     unsigned int len; /* the minimum free size to allocate */
   18710     int n_len;
   18711 
   18712     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18713     for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
   18714         mem_base = xmlMemBlocks();
   18715         buf = gen_xmlBufferPtr(n_buf, 0);
   18716         len = gen_unsigned_int(n_len, 1);
   18717 
   18718         ret_val = xmlBufferGrow(buf, len);
   18719         desret_int(ret_val);
   18720         call_tests++;
   18721         des_xmlBufferPtr(n_buf, buf, 0);
   18722         des_unsigned_int(n_len, len, 1);
   18723         xmlResetLastError();
   18724         if (mem_base != xmlMemBlocks()) {
   18725             printf("Leak of %d blocks found in xmlBufferGrow",
   18726 	           xmlMemBlocks() - mem_base);
   18727 	    test_ret++;
   18728             printf(" %d", n_buf);
   18729             printf(" %d", n_len);
   18730             printf("\n");
   18731         }
   18732     }
   18733     }
   18734     function_tests++;
   18735 
   18736     return(test_ret);
   18737 }
   18738 
   18739 
   18740 static int
   18741 test_xmlBufferLength(void) {
   18742     int test_ret = 0;
   18743 
   18744     int mem_base;
   18745     int ret_val;
   18746     xmlBufferPtr buf; /* the buffer */
   18747     int n_buf;
   18748 
   18749     for (n_buf = 0;n_buf < gen_nb_const_xmlBufferPtr;n_buf++) {
   18750         mem_base = xmlMemBlocks();
   18751         buf = gen_const_xmlBufferPtr(n_buf, 0);
   18752 
   18753         ret_val = xmlBufferLength((const xmlBufferPtr)buf);
   18754         desret_int(ret_val);
   18755         call_tests++;
   18756         des_const_xmlBufferPtr(n_buf, (const xmlBufferPtr)buf, 0);
   18757         xmlResetLastError();
   18758         if (mem_base != xmlMemBlocks()) {
   18759             printf("Leak of %d blocks found in xmlBufferLength",
   18760 	           xmlMemBlocks() - mem_base);
   18761 	    test_ret++;
   18762             printf(" %d", n_buf);
   18763             printf("\n");
   18764         }
   18765     }
   18766     function_tests++;
   18767 
   18768     return(test_ret);
   18769 }
   18770 
   18771 
   18772 static int
   18773 test_xmlBufferResize(void) {
   18774     int test_ret = 0;
   18775 
   18776     int mem_base;
   18777     int ret_val;
   18778     xmlBufferPtr buf; /* the buffer to resize */
   18779     int n_buf;
   18780     unsigned int size; /* the desired size */
   18781     int n_size;
   18782 
   18783     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18784     for (n_size = 0;n_size < gen_nb_unsigned_int;n_size++) {
   18785         mem_base = xmlMemBlocks();
   18786         buf = gen_xmlBufferPtr(n_buf, 0);
   18787         size = gen_unsigned_int(n_size, 1);
   18788 
   18789         ret_val = xmlBufferResize(buf, size);
   18790         desret_int(ret_val);
   18791         call_tests++;
   18792         des_xmlBufferPtr(n_buf, buf, 0);
   18793         des_unsigned_int(n_size, size, 1);
   18794         xmlResetLastError();
   18795         if (mem_base != xmlMemBlocks()) {
   18796             printf("Leak of %d blocks found in xmlBufferResize",
   18797 	           xmlMemBlocks() - mem_base);
   18798 	    test_ret++;
   18799             printf(" %d", n_buf);
   18800             printf(" %d", n_size);
   18801             printf("\n");
   18802         }
   18803     }
   18804     }
   18805     function_tests++;
   18806 
   18807     return(test_ret);
   18808 }
   18809 
   18810 
   18811 static int
   18812 test_xmlBufferSetAllocationScheme(void) {
   18813     int test_ret = 0;
   18814 
   18815     int mem_base;
   18816     xmlBufferPtr buf; /* the buffer to tune */
   18817     int n_buf;
   18818     xmlBufferAllocationScheme scheme; /* allocation scheme to use */
   18819     int n_scheme;
   18820 
   18821     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18822     for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
   18823         mem_base = xmlMemBlocks();
   18824         buf = gen_xmlBufferPtr(n_buf, 0);
   18825         scheme = gen_xmlBufferAllocationScheme(n_scheme, 1);
   18826 
   18827         xmlBufferSetAllocationScheme(buf, scheme);
   18828         if ((buf != NULL) && (scheme == XML_BUFFER_ALLOC_IMMUTABLE) && (buf->content != NULL) && (buf->content != static_buf_content)) { xmlFree(buf->content); buf->content = NULL;}
   18829         call_tests++;
   18830         des_xmlBufferPtr(n_buf, buf, 0);
   18831         des_xmlBufferAllocationScheme(n_scheme, scheme, 1);
   18832         xmlResetLastError();
   18833         if (mem_base != xmlMemBlocks()) {
   18834             printf("Leak of %d blocks found in xmlBufferSetAllocationScheme",
   18835 	           xmlMemBlocks() - mem_base);
   18836 	    test_ret++;
   18837             printf(" %d", n_buf);
   18838             printf(" %d", n_scheme);
   18839             printf("\n");
   18840         }
   18841     }
   18842     }
   18843     function_tests++;
   18844 
   18845     return(test_ret);
   18846 }
   18847 
   18848 
   18849 static int
   18850 test_xmlBufferShrink(void) {
   18851     int test_ret = 0;
   18852 
   18853     int mem_base;
   18854     int ret_val;
   18855     xmlBufferPtr buf; /* the buffer to dump */
   18856     int n_buf;
   18857     unsigned int len; /* the number of xmlChar to remove */
   18858     int n_len;
   18859 
   18860     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18861     for (n_len = 0;n_len < gen_nb_unsigned_int;n_len++) {
   18862         mem_base = xmlMemBlocks();
   18863         buf = gen_xmlBufferPtr(n_buf, 0);
   18864         len = gen_unsigned_int(n_len, 1);
   18865 
   18866         ret_val = xmlBufferShrink(buf, len);
   18867         desret_int(ret_val);
   18868         call_tests++;
   18869         des_xmlBufferPtr(n_buf, buf, 0);
   18870         des_unsigned_int(n_len, len, 1);
   18871         xmlResetLastError();
   18872         if (mem_base != xmlMemBlocks()) {
   18873             printf("Leak of %d blocks found in xmlBufferShrink",
   18874 	           xmlMemBlocks() - mem_base);
   18875 	    test_ret++;
   18876             printf(" %d", n_buf);
   18877             printf(" %d", n_len);
   18878             printf("\n");
   18879         }
   18880     }
   18881     }
   18882     function_tests++;
   18883 
   18884     return(test_ret);
   18885 }
   18886 
   18887 
   18888 static int
   18889 test_xmlBufferWriteCHAR(void) {
   18890     int test_ret = 0;
   18891 
   18892     int mem_base;
   18893     xmlBufferPtr buf; /* the XML buffer */
   18894     int n_buf;
   18895     xmlChar * string; /* the string to add */
   18896     int n_string;
   18897 
   18898     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18899     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
   18900         mem_base = xmlMemBlocks();
   18901         buf = gen_xmlBufferPtr(n_buf, 0);
   18902         string = gen_const_xmlChar_ptr(n_string, 1);
   18903 
   18904         xmlBufferWriteCHAR(buf, (const xmlChar *)string);
   18905         call_tests++;
   18906         des_xmlBufferPtr(n_buf, buf, 0);
   18907         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
   18908         xmlResetLastError();
   18909         if (mem_base != xmlMemBlocks()) {
   18910             printf("Leak of %d blocks found in xmlBufferWriteCHAR",
   18911 	           xmlMemBlocks() - mem_base);
   18912 	    test_ret++;
   18913             printf(" %d", n_buf);
   18914             printf(" %d", n_string);
   18915             printf("\n");
   18916         }
   18917     }
   18918     }
   18919     function_tests++;
   18920 
   18921     return(test_ret);
   18922 }
   18923 
   18924 
   18925 static int
   18926 test_xmlBufferWriteChar(void) {
   18927     int test_ret = 0;
   18928 
   18929     int mem_base;
   18930     xmlBufferPtr buf; /* the XML buffer output */
   18931     int n_buf;
   18932     char * string; /* the string to add */
   18933     int n_string;
   18934 
   18935     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18936     for (n_string = 0;n_string < gen_nb_const_char_ptr;n_string++) {
   18937         mem_base = xmlMemBlocks();
   18938         buf = gen_xmlBufferPtr(n_buf, 0);
   18939         string = gen_const_char_ptr(n_string, 1);
   18940 
   18941         xmlBufferWriteChar(buf, (const char *)string);
   18942         call_tests++;
   18943         des_xmlBufferPtr(n_buf, buf, 0);
   18944         des_const_char_ptr(n_string, (const char *)string, 1);
   18945         xmlResetLastError();
   18946         if (mem_base != xmlMemBlocks()) {
   18947             printf("Leak of %d blocks found in xmlBufferWriteChar",
   18948 	           xmlMemBlocks() - mem_base);
   18949 	    test_ret++;
   18950             printf(" %d", n_buf);
   18951             printf(" %d", n_string);
   18952             printf("\n");
   18953         }
   18954     }
   18955     }
   18956     function_tests++;
   18957 
   18958     return(test_ret);
   18959 }
   18960 
   18961 
   18962 static int
   18963 test_xmlBufferWriteQuotedString(void) {
   18964     int test_ret = 0;
   18965 
   18966     int mem_base;
   18967     xmlBufferPtr buf; /* the XML buffer output */
   18968     int n_buf;
   18969     xmlChar * string; /* the string to add */
   18970     int n_string;
   18971 
   18972     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   18973     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr;n_string++) {
   18974         mem_base = xmlMemBlocks();
   18975         buf = gen_xmlBufferPtr(n_buf, 0);
   18976         string = gen_const_xmlChar_ptr(n_string, 1);
   18977 
   18978         xmlBufferWriteQuotedString(buf, (const xmlChar *)string);
   18979         call_tests++;
   18980         des_xmlBufferPtr(n_buf, buf, 0);
   18981         des_const_xmlChar_ptr(n_string, (const xmlChar *)string, 1);
   18982         xmlResetLastError();
   18983         if (mem_base != xmlMemBlocks()) {
   18984             printf("Leak of %d blocks found in xmlBufferWriteQuotedString",
   18985 	           xmlMemBlocks() - mem_base);
   18986 	    test_ret++;
   18987             printf(" %d", n_buf);
   18988             printf(" %d", n_string);
   18989             printf("\n");
   18990         }
   18991     }
   18992     }
   18993     function_tests++;
   18994 
   18995     return(test_ret);
   18996 }
   18997 
   18998 
   18999 static int
   19000 test_xmlBuildQName(void) {
   19001     int test_ret = 0;
   19002 
   19003     int mem_base;
   19004     xmlChar * ret_val;
   19005     xmlChar * ncname; /* the Name */
   19006     int n_ncname;
   19007     xmlChar * prefix; /* the prefix */
   19008     int n_prefix;
   19009     xmlChar * memory; /* preallocated memory */
   19010     int n_memory;
   19011     int len; /* preallocated memory length */
   19012     int n_len;
   19013 
   19014     for (n_ncname = 0;n_ncname < gen_nb_const_xmlChar_ptr;n_ncname++) {
   19015     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   19016     for (n_memory = 0;n_memory < gen_nb_xmlChar_ptr;n_memory++) {
   19017     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   19018         mem_base = xmlMemBlocks();
   19019         ncname = gen_const_xmlChar_ptr(n_ncname, 0);
   19020         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   19021         memory = gen_xmlChar_ptr(n_memory, 2);
   19022         len = gen_int(n_len, 3);
   19023 
   19024         ret_val = xmlBuildQName((const xmlChar *)ncname, (const xmlChar *)prefix, memory, len);
   19025         if ((ret_val != NULL) && (ret_val != ncname) &&
   19026               (ret_val != prefix) && (ret_val != memory))
   19027               xmlFree(ret_val);
   19028 	  ret_val = NULL;
   19029         desret_xmlChar_ptr(ret_val);
   19030         call_tests++;
   19031         des_const_xmlChar_ptr(n_ncname, (const xmlChar *)ncname, 0);
   19032         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   19033         des_xmlChar_ptr(n_memory, memory, 2);
   19034         des_int(n_len, len, 3);
   19035         xmlResetLastError();
   19036         if (mem_base != xmlMemBlocks()) {
   19037             printf("Leak of %d blocks found in xmlBuildQName",
   19038 	           xmlMemBlocks() - mem_base);
   19039 	    test_ret++;
   19040             printf(" %d", n_ncname);
   19041             printf(" %d", n_prefix);
   19042             printf(" %d", n_memory);
   19043             printf(" %d", n_len);
   19044             printf("\n");
   19045         }
   19046     }
   19047     }
   19048     }
   19049     }
   19050     function_tests++;
   19051 
   19052     return(test_ret);
   19053 }
   19054 
   19055 
   19056 static int
   19057 test_xmlChildElementCount(void) {
   19058     int test_ret = 0;
   19059 
   19060 #if defined(LIBXML_TREE_ENABLED)
   19061     int mem_base;
   19062     unsigned long ret_val;
   19063     xmlNodePtr parent; /* the parent node */
   19064     int n_parent;
   19065 
   19066     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   19067         mem_base = xmlMemBlocks();
   19068         parent = gen_xmlNodePtr(n_parent, 0);
   19069 
   19070         ret_val = xmlChildElementCount(parent);
   19071         desret_unsigned_long(ret_val);
   19072         call_tests++;
   19073         des_xmlNodePtr(n_parent, parent, 0);
   19074         xmlResetLastError();
   19075         if (mem_base != xmlMemBlocks()) {
   19076             printf("Leak of %d blocks found in xmlChildElementCount",
   19077 	           xmlMemBlocks() - mem_base);
   19078 	    test_ret++;
   19079             printf(" %d", n_parent);
   19080             printf("\n");
   19081         }
   19082     }
   19083     function_tests++;
   19084 #endif
   19085 
   19086     return(test_ret);
   19087 }
   19088 
   19089 
   19090 static int
   19091 test_xmlCopyDoc(void) {
   19092     int test_ret = 0;
   19093 
   19094 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   19095     int mem_base;
   19096     xmlDocPtr ret_val;
   19097     xmlDocPtr doc; /* the document */
   19098     int n_doc;
   19099     int recursive; /* if not zero do a recursive copy. */
   19100     int n_recursive;
   19101 
   19102     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   19103     for (n_recursive = 0;n_recursive < gen_nb_int;n_recursive++) {
   19104         mem_base = xmlMemBlocks();
   19105         doc = gen_xmlDocPtr(n_doc, 0);
   19106         recursive = gen_int(n_recursive, 1);
   19107 
   19108         ret_val = xmlCopyDoc(doc, recursive);
   19109         desret_xmlDocPtr(ret_val);
   19110         call_tests++;
   19111         des_xmlDocPtr(n_doc, doc, 0);
   19112         des_int(n_recursive, recursive, 1);
   19113         xmlResetLastError();
   19114         if (mem_base != xmlMemBlocks()) {
   19115             printf("Leak of %d blocks found in xmlCopyDoc",
   19116 	           xmlMemBlocks() - mem_base);
   19117 	    test_ret++;
   19118             printf(" %d", n_doc);
   19119             printf(" %d", n_recursive);
   19120             printf("\n");
   19121         }
   19122     }
   19123     }
   19124     function_tests++;
   19125 #endif
   19126 
   19127     return(test_ret);
   19128 }
   19129 
   19130 
   19131 static int
   19132 test_xmlCopyDtd(void) {
   19133     int test_ret = 0;
   19134 
   19135 #if defined(LIBXML_TREE_ENABLED)
   19136     int mem_base;
   19137     xmlDtdPtr ret_val;
   19138     xmlDtdPtr dtd; /* the dtd */
   19139     int n_dtd;
   19140 
   19141     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   19142         mem_base = xmlMemBlocks();
   19143         dtd = gen_xmlDtdPtr(n_dtd, 0);
   19144 
   19145         ret_val = xmlCopyDtd(dtd);
   19146         desret_xmlDtdPtr(ret_val);
   19147         call_tests++;
   19148         des_xmlDtdPtr(n_dtd, dtd, 0);
   19149         xmlResetLastError();
   19150         if (mem_base != xmlMemBlocks()) {
   19151             printf("Leak of %d blocks found in xmlCopyDtd",
   19152 	           xmlMemBlocks() - mem_base);
   19153 	    test_ret++;
   19154             printf(" %d", n_dtd);
   19155             printf("\n");
   19156         }
   19157     }
   19158     function_tests++;
   19159 #endif
   19160 
   19161     return(test_ret);
   19162 }
   19163 
   19164 
   19165 static int
   19166 test_xmlCopyNamespace(void) {
   19167     int test_ret = 0;
   19168 
   19169     int mem_base;
   19170     xmlNsPtr ret_val;
   19171     xmlNsPtr cur; /* the namespace */
   19172     int n_cur;
   19173 
   19174     for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
   19175         mem_base = xmlMemBlocks();
   19176         cur = gen_xmlNsPtr(n_cur, 0);
   19177 
   19178         ret_val = xmlCopyNamespace(cur);
   19179         if (ret_val != NULL) xmlFreeNs(ret_val);
   19180         desret_xmlNsPtr(ret_val);
   19181         call_tests++;
   19182         des_xmlNsPtr(n_cur, cur, 0);
   19183         xmlResetLastError();
   19184         if (mem_base != xmlMemBlocks()) {
   19185             printf("Leak of %d blocks found in xmlCopyNamespace",
   19186 	           xmlMemBlocks() - mem_base);
   19187 	    test_ret++;
   19188             printf(" %d", n_cur);
   19189             printf("\n");
   19190         }
   19191     }
   19192     function_tests++;
   19193 
   19194     return(test_ret);
   19195 }
   19196 
   19197 
   19198 static int
   19199 test_xmlCopyNamespaceList(void) {
   19200     int test_ret = 0;
   19201 
   19202     int mem_base;
   19203     xmlNsPtr ret_val;
   19204     xmlNsPtr cur; /* the first namespace */
   19205     int n_cur;
   19206 
   19207     for (n_cur = 0;n_cur < gen_nb_xmlNsPtr;n_cur++) {
   19208         mem_base = xmlMemBlocks();
   19209         cur = gen_xmlNsPtr(n_cur, 0);
   19210 
   19211         ret_val = xmlCopyNamespaceList(cur);
   19212         if (ret_val != NULL) xmlFreeNsList(ret_val);
   19213         desret_xmlNsPtr(ret_val);
   19214         call_tests++;
   19215         des_xmlNsPtr(n_cur, cur, 0);
   19216         xmlResetLastError();
   19217         if (mem_base != xmlMemBlocks()) {
   19218             printf("Leak of %d blocks found in xmlCopyNamespaceList",
   19219 	           xmlMemBlocks() - mem_base);
   19220 	    test_ret++;
   19221             printf(" %d", n_cur);
   19222             printf("\n");
   19223         }
   19224     }
   19225     function_tests++;
   19226 
   19227     return(test_ret);
   19228 }
   19229 
   19230 
   19231 static int
   19232 test_xmlCopyNode(void) {
   19233     int test_ret = 0;
   19234 
   19235     int mem_base;
   19236     xmlNodePtr ret_val;
   19237     xmlNodePtr node; /* the node */
   19238     int n_node;
   19239     int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
   19240     int n_extended;
   19241 
   19242     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
   19243     for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
   19244         mem_base = xmlMemBlocks();
   19245         node = gen_const_xmlNodePtr(n_node, 0);
   19246         extended = gen_int(n_extended, 1);
   19247 
   19248         ret_val = xmlCopyNode((const xmlNodePtr)node, extended);
   19249         desret_xmlNodePtr(ret_val);
   19250         call_tests++;
   19251         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
   19252         des_int(n_extended, extended, 1);
   19253         xmlResetLastError();
   19254         if (mem_base != xmlMemBlocks()) {
   19255             printf("Leak of %d blocks found in xmlCopyNode",
   19256 	           xmlMemBlocks() - mem_base);
   19257 	    test_ret++;
   19258             printf(" %d", n_node);
   19259             printf(" %d", n_extended);
   19260             printf("\n");
   19261         }
   19262     }
   19263     }
   19264     function_tests++;
   19265 
   19266     return(test_ret);
   19267 }
   19268 
   19269 
   19270 static int
   19271 test_xmlCopyNodeList(void) {
   19272     int test_ret = 0;
   19273 
   19274     int mem_base;
   19275     xmlNodePtr ret_val;
   19276     xmlNodePtr node; /* the first node in the list. */
   19277     int n_node;
   19278 
   19279     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
   19280         mem_base = xmlMemBlocks();
   19281         node = gen_const_xmlNodePtr(n_node, 0);
   19282 
   19283         ret_val = xmlCopyNodeList((const xmlNodePtr)node);
   19284         desret_xmlNodePtr(ret_val);
   19285         call_tests++;
   19286         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
   19287         xmlResetLastError();
   19288         if (mem_base != xmlMemBlocks()) {
   19289             printf("Leak of %d blocks found in xmlCopyNodeList",
   19290 	           xmlMemBlocks() - mem_base);
   19291 	    test_ret++;
   19292             printf(" %d", n_node);
   19293             printf("\n");
   19294         }
   19295     }
   19296     function_tests++;
   19297 
   19298     return(test_ret);
   19299 }
   19300 
   19301 
   19302 static int
   19303 test_xmlCopyProp(void) {
   19304     int test_ret = 0;
   19305 
   19306     int mem_base;
   19307     xmlAttrPtr ret_val;
   19308     xmlNodePtr target; /* the element where the attribute will be grafted */
   19309     int n_target;
   19310     xmlAttrPtr cur; /* the attribute */
   19311     int n_cur;
   19312 
   19313     for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
   19314     for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
   19315         mem_base = xmlMemBlocks();
   19316         target = gen_xmlNodePtr(n_target, 0);
   19317         cur = gen_xmlAttrPtr(n_cur, 1);
   19318 
   19319         ret_val = xmlCopyProp(target, cur);
   19320         desret_xmlAttrPtr(ret_val);
   19321         call_tests++;
   19322         des_xmlNodePtr(n_target, target, 0);
   19323         des_xmlAttrPtr(n_cur, cur, 1);
   19324         xmlResetLastError();
   19325         if (mem_base != xmlMemBlocks()) {
   19326             printf("Leak of %d blocks found in xmlCopyProp",
   19327 	           xmlMemBlocks() - mem_base);
   19328 	    test_ret++;
   19329             printf(" %d", n_target);
   19330             printf(" %d", n_cur);
   19331             printf("\n");
   19332         }
   19333     }
   19334     }
   19335     function_tests++;
   19336 
   19337     return(test_ret);
   19338 }
   19339 
   19340 
   19341 static int
   19342 test_xmlCopyPropList(void) {
   19343     int test_ret = 0;
   19344 
   19345     int mem_base;
   19346     xmlAttrPtr ret_val;
   19347     xmlNodePtr target; /* the element where the attributes will be grafted */
   19348     int n_target;
   19349     xmlAttrPtr cur; /* the first attribute */
   19350     int n_cur;
   19351 
   19352     for (n_target = 0;n_target < gen_nb_xmlNodePtr;n_target++) {
   19353     for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
   19354         mem_base = xmlMemBlocks();
   19355         target = gen_xmlNodePtr(n_target, 0);
   19356         cur = gen_xmlAttrPtr(n_cur, 1);
   19357 
   19358         ret_val = xmlCopyPropList(target, cur);
   19359         desret_xmlAttrPtr(ret_val);
   19360         call_tests++;
   19361         des_xmlNodePtr(n_target, target, 0);
   19362         des_xmlAttrPtr(n_cur, cur, 1);
   19363         xmlResetLastError();
   19364         if (mem_base != xmlMemBlocks()) {
   19365             printf("Leak of %d blocks found in xmlCopyPropList",
   19366 	           xmlMemBlocks() - mem_base);
   19367 	    test_ret++;
   19368             printf(" %d", n_target);
   19369             printf(" %d", n_cur);
   19370             printf("\n");
   19371         }
   19372     }
   19373     }
   19374     function_tests++;
   19375 
   19376     return(test_ret);
   19377 }
   19378 
   19379 
   19380 static int
   19381 test_xmlCreateIntSubset(void) {
   19382     int test_ret = 0;
   19383 
   19384     int mem_base;
   19385     xmlDtdPtr ret_val;
   19386     xmlDocPtr doc; /* the document pointer */
   19387     int n_doc;
   19388     xmlChar * name; /* the DTD name */
   19389     int n_name;
   19390     xmlChar * ExternalID; /* the external (PUBLIC) ID */
   19391     int n_ExternalID;
   19392     xmlChar * SystemID; /* the system ID */
   19393     int n_SystemID;
   19394 
   19395     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   19396     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   19397     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   19398     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   19399         mem_base = xmlMemBlocks();
   19400         doc = gen_xmlDocPtr(n_doc, 0);
   19401         name = gen_const_xmlChar_ptr(n_name, 1);
   19402         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
   19403         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
   19404 
   19405         ret_val = xmlCreateIntSubset(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
   19406         desret_xmlDtdPtr(ret_val);
   19407         call_tests++;
   19408         des_xmlDocPtr(n_doc, doc, 0);
   19409         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   19410         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
   19411         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
   19412         xmlResetLastError();
   19413         if (mem_base != xmlMemBlocks()) {
   19414             printf("Leak of %d blocks found in xmlCreateIntSubset",
   19415 	           xmlMemBlocks() - mem_base);
   19416 	    test_ret++;
   19417             printf(" %d", n_doc);
   19418             printf(" %d", n_name);
   19419             printf(" %d", n_ExternalID);
   19420             printf(" %d", n_SystemID);
   19421             printf("\n");
   19422         }
   19423     }
   19424     }
   19425     }
   19426     }
   19427     function_tests++;
   19428 
   19429     return(test_ret);
   19430 }
   19431 
   19432 
   19433 #define gen_nb_xmlDOMWrapCtxtPtr 1
   19434 static xmlDOMWrapCtxtPtr gen_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   19435     return(NULL);
   19436 }
   19437 static void des_xmlDOMWrapCtxtPtr(int no ATTRIBUTE_UNUSED, xmlDOMWrapCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   19438 }
   19439 
   19440 static int
   19441 test_xmlDOMWrapAdoptNode(void) {
   19442     int test_ret = 0;
   19443 
   19444     int mem_base;
   19445     int ret_val;
   19446     xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
   19447     int n_ctxt;
   19448     xmlDocPtr sourceDoc; /* the optional sourceDoc */
   19449     int n_sourceDoc;
   19450     xmlNodePtr node; /* the node to start with */
   19451     int n_node;
   19452     xmlDocPtr destDoc; /* the destination doc */
   19453     int n_destDoc;
   19454     xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
   19455     int n_destParent;
   19456     int options; /* option flags */
   19457     int n_options;
   19458 
   19459     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
   19460     for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
   19461     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   19462     for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
   19463     for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
   19464     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   19465         mem_base = xmlMemBlocks();
   19466         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
   19467         sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
   19468         node = gen_xmlNodePtr(n_node, 2);
   19469         destDoc = gen_xmlDocPtr(n_destDoc, 3);
   19470         destParent = gen_xmlNodePtr(n_destParent, 4);
   19471         options = gen_int(n_options, 5);
   19472 
   19473         ret_val = xmlDOMWrapAdoptNode(ctxt, sourceDoc, node, destDoc, destParent, options);
   19474         if ((node != NULL) && (node->parent == NULL)) {xmlUnlinkNode(node);xmlFreeNode(node);node = NULL;}
   19475         desret_int(ret_val);
   19476         call_tests++;
   19477         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
   19478         des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
   19479         des_xmlNodePtr(n_node, node, 2);
   19480         des_xmlDocPtr(n_destDoc, destDoc, 3);
   19481         des_xmlNodePtr(n_destParent, destParent, 4);
   19482         des_int(n_options, options, 5);
   19483         xmlResetLastError();
   19484         if (mem_base != xmlMemBlocks()) {
   19485             printf("Leak of %d blocks found in xmlDOMWrapAdoptNode",
   19486 	           xmlMemBlocks() - mem_base);
   19487 	    test_ret++;
   19488             printf(" %d", n_ctxt);
   19489             printf(" %d", n_sourceDoc);
   19490             printf(" %d", n_node);
   19491             printf(" %d", n_destDoc);
   19492             printf(" %d", n_destParent);
   19493             printf(" %d", n_options);
   19494             printf("\n");
   19495         }
   19496     }
   19497     }
   19498     }
   19499     }
   19500     }
   19501     }
   19502     function_tests++;
   19503 
   19504     return(test_ret);
   19505 }
   19506 
   19507 
   19508 static int
   19509 test_xmlDOMWrapCloneNode(void) {
   19510     int test_ret = 0;
   19511 
   19512     int mem_base;
   19513     int ret_val;
   19514     xmlDOMWrapCtxtPtr ctxt; /* the optional context for custom processing */
   19515     int n_ctxt;
   19516     xmlDocPtr sourceDoc; /* the optional sourceDoc */
   19517     int n_sourceDoc;
   19518     xmlNodePtr node; /* the node to start with */
   19519     int n_node;
   19520     xmlNodePtr * resNode; /* the clone of the given @node */
   19521     int n_resNode;
   19522     xmlDocPtr destDoc; /* the destination doc */
   19523     int n_destDoc;
   19524     xmlNodePtr destParent; /* the optional new parent of @node in @destDoc */
   19525     int n_destParent;
   19526     int deep; /* descend into child if set */
   19527     int n_deep;
   19528     int options; /* option flags */
   19529     int n_options;
   19530 
   19531     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
   19532     for (n_sourceDoc = 0;n_sourceDoc < gen_nb_xmlDocPtr;n_sourceDoc++) {
   19533     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   19534     for (n_resNode = 0;n_resNode < gen_nb_xmlNodePtr_ptr;n_resNode++) {
   19535     for (n_destDoc = 0;n_destDoc < gen_nb_xmlDocPtr;n_destDoc++) {
   19536     for (n_destParent = 0;n_destParent < gen_nb_xmlNodePtr;n_destParent++) {
   19537     for (n_deep = 0;n_deep < gen_nb_int;n_deep++) {
   19538     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   19539         mem_base = xmlMemBlocks();
   19540         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
   19541         sourceDoc = gen_xmlDocPtr(n_sourceDoc, 1);
   19542         node = gen_xmlNodePtr(n_node, 2);
   19543         resNode = gen_xmlNodePtr_ptr(n_resNode, 3);
   19544         destDoc = gen_xmlDocPtr(n_destDoc, 4);
   19545         destParent = gen_xmlNodePtr(n_destParent, 5);
   19546         deep = gen_int(n_deep, 6);
   19547         options = gen_int(n_options, 7);
   19548 
   19549         ret_val = xmlDOMWrapCloneNode(ctxt, sourceDoc, node, resNode, destDoc, destParent, deep, options);
   19550         desret_int(ret_val);
   19551         call_tests++;
   19552         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
   19553         des_xmlDocPtr(n_sourceDoc, sourceDoc, 1);
   19554         des_xmlNodePtr(n_node, node, 2);
   19555         des_xmlNodePtr_ptr(n_resNode, resNode, 3);
   19556         des_xmlDocPtr(n_destDoc, destDoc, 4);
   19557         des_xmlNodePtr(n_destParent, destParent, 5);
   19558         des_int(n_deep, deep, 6);
   19559         des_int(n_options, options, 7);
   19560         xmlResetLastError();
   19561         if (mem_base != xmlMemBlocks()) {
   19562             printf("Leak of %d blocks found in xmlDOMWrapCloneNode",
   19563 	           xmlMemBlocks() - mem_base);
   19564 	    test_ret++;
   19565             printf(" %d", n_ctxt);
   19566             printf(" %d", n_sourceDoc);
   19567             printf(" %d", n_node);
   19568             printf(" %d", n_resNode);
   19569             printf(" %d", n_destDoc);
   19570             printf(" %d", n_destParent);
   19571             printf(" %d", n_deep);
   19572             printf(" %d", n_options);
   19573             printf("\n");
   19574         }
   19575     }
   19576     }
   19577     }
   19578     }
   19579     }
   19580     }
   19581     }
   19582     }
   19583     function_tests++;
   19584 
   19585     return(test_ret);
   19586 }
   19587 
   19588 
   19589 static int
   19590 test_xmlDOMWrapNewCtxt(void) {
   19591     int test_ret = 0;
   19592 
   19593 
   19594     /* missing type support */
   19595     return(test_ret);
   19596 }
   19597 
   19598 
   19599 static int
   19600 test_xmlDOMWrapReconcileNamespaces(void) {
   19601     int test_ret = 0;
   19602 
   19603     int mem_base;
   19604     int ret_val;
   19605     xmlDOMWrapCtxtPtr ctxt; /* DOM wrapper context, unused at the moment */
   19606     int n_ctxt;
   19607     xmlNodePtr elem; /* the element-node */
   19608     int n_elem;
   19609     int options; /* option flags */
   19610     int n_options;
   19611 
   19612     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
   19613     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   19614     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   19615         mem_base = xmlMemBlocks();
   19616         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
   19617         elem = gen_xmlNodePtr(n_elem, 1);
   19618         options = gen_int(n_options, 2);
   19619 
   19620         ret_val = xmlDOMWrapReconcileNamespaces(ctxt, elem, options);
   19621         desret_int(ret_val);
   19622         call_tests++;
   19623         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
   19624         des_xmlNodePtr(n_elem, elem, 1);
   19625         des_int(n_options, options, 2);
   19626         xmlResetLastError();
   19627         if (mem_base != xmlMemBlocks()) {
   19628             printf("Leak of %d blocks found in xmlDOMWrapReconcileNamespaces",
   19629 	           xmlMemBlocks() - mem_base);
   19630 	    test_ret++;
   19631             printf(" %d", n_ctxt);
   19632             printf(" %d", n_elem);
   19633             printf(" %d", n_options);
   19634             printf("\n");
   19635         }
   19636     }
   19637     }
   19638     }
   19639     function_tests++;
   19640 
   19641     return(test_ret);
   19642 }
   19643 
   19644 
   19645 static int
   19646 test_xmlDOMWrapRemoveNode(void) {
   19647     int test_ret = 0;
   19648 
   19649     int mem_base;
   19650     int ret_val;
   19651     xmlDOMWrapCtxtPtr ctxt; /* a DOM wrapper context */
   19652     int n_ctxt;
   19653     xmlDocPtr doc; /* the doc */
   19654     int n_doc;
   19655     xmlNodePtr node; /* the node to be removed. */
   19656     int n_node;
   19657     int options; /* set of options, unused at the moment */
   19658     int n_options;
   19659 
   19660     for (n_ctxt = 0;n_ctxt < gen_nb_xmlDOMWrapCtxtPtr;n_ctxt++) {
   19661     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   19662     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   19663     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   19664         mem_base = xmlMemBlocks();
   19665         ctxt = gen_xmlDOMWrapCtxtPtr(n_ctxt, 0);
   19666         doc = gen_xmlDocPtr(n_doc, 1);
   19667         node = gen_xmlNodePtr(n_node, 2);
   19668         options = gen_int(n_options, 3);
   19669 
   19670         ret_val = xmlDOMWrapRemoveNode(ctxt, doc, node, options);
   19671         desret_int(ret_val);
   19672         call_tests++;
   19673         des_xmlDOMWrapCtxtPtr(n_ctxt, ctxt, 0);
   19674         des_xmlDocPtr(n_doc, doc, 1);
   19675         des_xmlNodePtr(n_node, node, 2);
   19676         des_int(n_options, options, 3);
   19677         xmlResetLastError();
   19678         if (mem_base != xmlMemBlocks()) {
   19679             printf("Leak of %d blocks found in xmlDOMWrapRemoveNode",
   19680 	           xmlMemBlocks() - mem_base);
   19681 	    test_ret++;
   19682             printf(" %d", n_ctxt);
   19683             printf(" %d", n_doc);
   19684             printf(" %d", n_node);
   19685             printf(" %d", n_options);
   19686             printf("\n");
   19687         }
   19688     }
   19689     }
   19690     }
   19691     }
   19692     function_tests++;
   19693 
   19694     return(test_ret);
   19695 }
   19696 
   19697 
   19698 static int
   19699 test_xmlDocCopyNode(void) {
   19700     int test_ret = 0;
   19701 
   19702     int mem_base;
   19703     xmlNodePtr ret_val;
   19704     xmlNodePtr node; /* the node */
   19705     int n_node;
   19706     xmlDocPtr doc; /* the document */
   19707     int n_doc;
   19708     int extended; /* if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable) */
   19709     int n_extended;
   19710 
   19711     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
   19712     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   19713     for (n_extended = 0;n_extended < gen_nb_int;n_extended++) {
   19714         mem_base = xmlMemBlocks();
   19715         node = gen_const_xmlNodePtr(n_node, 0);
   19716         doc = gen_xmlDocPtr(n_doc, 1);
   19717         extended = gen_int(n_extended, 2);
   19718 
   19719         ret_val = xmlDocCopyNode((const xmlNodePtr)node, doc, extended);
   19720         desret_xmlNodePtr(ret_val);
   19721         call_tests++;
   19722         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 0);
   19723         des_xmlDocPtr(n_doc, doc, 1);
   19724         des_int(n_extended, extended, 2);
   19725         xmlResetLastError();
   19726         if (mem_base != xmlMemBlocks()) {
   19727             printf("Leak of %d blocks found in xmlDocCopyNode",
   19728 	           xmlMemBlocks() - mem_base);
   19729 	    test_ret++;
   19730             printf(" %d", n_node);
   19731             printf(" %d", n_doc);
   19732             printf(" %d", n_extended);
   19733             printf("\n");
   19734         }
   19735     }
   19736     }
   19737     }
   19738     function_tests++;
   19739 
   19740     return(test_ret);
   19741 }
   19742 
   19743 
   19744 static int
   19745 test_xmlDocCopyNodeList(void) {
   19746     int test_ret = 0;
   19747 
   19748     int mem_base;
   19749     xmlNodePtr ret_val;
   19750     xmlDocPtr doc; /* the target document */
   19751     int n_doc;
   19752     xmlNodePtr node; /* the first node in the list. */
   19753     int n_node;
   19754 
   19755     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   19756     for (n_node = 0;n_node < gen_nb_const_xmlNodePtr;n_node++) {
   19757         mem_base = xmlMemBlocks();
   19758         doc = gen_xmlDocPtr(n_doc, 0);
   19759         node = gen_const_xmlNodePtr(n_node, 1);
   19760 
   19761         ret_val = xmlDocCopyNodeList(doc, (const xmlNodePtr)node);
   19762         desret_xmlNodePtr(ret_val);
   19763         call_tests++;
   19764         des_xmlDocPtr(n_doc, doc, 0);
   19765         des_const_xmlNodePtr(n_node, (const xmlNodePtr)node, 1);
   19766         xmlResetLastError();
   19767         if (mem_base != xmlMemBlocks()) {
   19768             printf("Leak of %d blocks found in xmlDocCopyNodeList",
   19769 	           xmlMemBlocks() - mem_base);
   19770 	    test_ret++;
   19771             printf(" %d", n_doc);
   19772             printf(" %d", n_node);
   19773             printf("\n");
   19774         }
   19775     }
   19776     }
   19777     function_tests++;
   19778 
   19779     return(test_ret);
   19780 }
   19781 
   19782 
   19783 static int
   19784 test_xmlDocDump(void) {
   19785     int test_ret = 0;
   19786 
   19787 #if defined(LIBXML_OUTPUT_ENABLED)
   19788     int mem_base;
   19789     int ret_val;
   19790     FILE * f; /* the FILE* */
   19791     int n_f;
   19792     xmlDocPtr cur; /* the document */
   19793     int n_cur;
   19794 
   19795     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
   19796     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   19797         mem_base = xmlMemBlocks();
   19798         f = gen_FILE_ptr(n_f, 0);
   19799         cur = gen_xmlDocPtr(n_cur, 1);
   19800 
   19801         ret_val = xmlDocDump(f, cur);
   19802         desret_int(ret_val);
   19803         call_tests++;
   19804         des_FILE_ptr(n_f, f, 0);
   19805         des_xmlDocPtr(n_cur, cur, 1);
   19806         xmlResetLastError();
   19807         if (mem_base != xmlMemBlocks()) {
   19808             printf("Leak of %d blocks found in xmlDocDump",
   19809 	           xmlMemBlocks() - mem_base);
   19810 	    test_ret++;
   19811             printf(" %d", n_f);
   19812             printf(" %d", n_cur);
   19813             printf("\n");
   19814         }
   19815     }
   19816     }
   19817     function_tests++;
   19818 #endif
   19819 
   19820     return(test_ret);
   19821 }
   19822 
   19823 
   19824 static int
   19825 test_xmlDocDumpFormatMemory(void) {
   19826     int test_ret = 0;
   19827 
   19828 #if defined(LIBXML_OUTPUT_ENABLED)
   19829     int mem_base;
   19830     xmlDocPtr cur; /* the document */
   19831     int n_cur;
   19832     xmlChar ** mem; /* OUT: the memory pointer */
   19833     int n_mem;
   19834     int * size; /* OUT: the memory length */
   19835     int n_size;
   19836     int format; /* should formatting spaces been added */
   19837     int n_format;
   19838 
   19839     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   19840     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
   19841     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
   19842     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   19843         mem_base = xmlMemBlocks();
   19844         cur = gen_xmlDocPtr(n_cur, 0);
   19845         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
   19846         size = gen_int_ptr(n_size, 2);
   19847         format = gen_int(n_format, 3);
   19848 
   19849         xmlDocDumpFormatMemory(cur, mem, size, format);
   19850         call_tests++;
   19851         des_xmlDocPtr(n_cur, cur, 0);
   19852         des_xmlChar_ptr_ptr(n_mem, mem, 1);
   19853         des_int_ptr(n_size, size, 2);
   19854         des_int(n_format, format, 3);
   19855         xmlResetLastError();
   19856         if (mem_base != xmlMemBlocks()) {
   19857             printf("Leak of %d blocks found in xmlDocDumpFormatMemory",
   19858 	           xmlMemBlocks() - mem_base);
   19859 	    test_ret++;
   19860             printf(" %d", n_cur);
   19861             printf(" %d", n_mem);
   19862             printf(" %d", n_size);
   19863             printf(" %d", n_format);
   19864             printf("\n");
   19865         }
   19866     }
   19867     }
   19868     }
   19869     }
   19870     function_tests++;
   19871 #endif
   19872 
   19873     return(test_ret);
   19874 }
   19875 
   19876 
   19877 static int
   19878 test_xmlDocDumpFormatMemoryEnc(void) {
   19879     int test_ret = 0;
   19880 
   19881 #if defined(LIBXML_OUTPUT_ENABLED)
   19882     int mem_base;
   19883     xmlDocPtr out_doc; /* Document to generate XML text from */
   19884     int n_out_doc;
   19885     xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
   19886     int n_doc_txt_ptr;
   19887     int * doc_txt_len; /* Length of the generated XML text */
   19888     int n_doc_txt_len;
   19889     char * txt_encoding; /* Character encoding to use when generating XML text */
   19890     int n_txt_encoding;
   19891     int format; /* should formatting spaces been added */
   19892     int n_format;
   19893 
   19894     for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
   19895     for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
   19896     for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
   19897     for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
   19898     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   19899         mem_base = xmlMemBlocks();
   19900         out_doc = gen_xmlDocPtr(n_out_doc, 0);
   19901         doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
   19902         doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
   19903         txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
   19904         format = gen_int(n_format, 4);
   19905 
   19906         xmlDocDumpFormatMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding, format);
   19907         call_tests++;
   19908         des_xmlDocPtr(n_out_doc, out_doc, 0);
   19909         des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
   19910         des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
   19911         des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
   19912         des_int(n_format, format, 4);
   19913         xmlResetLastError();
   19914         if (mem_base != xmlMemBlocks()) {
   19915             printf("Leak of %d blocks found in xmlDocDumpFormatMemoryEnc",
   19916 	           xmlMemBlocks() - mem_base);
   19917 	    test_ret++;
   19918             printf(" %d", n_out_doc);
   19919             printf(" %d", n_doc_txt_ptr);
   19920             printf(" %d", n_doc_txt_len);
   19921             printf(" %d", n_txt_encoding);
   19922             printf(" %d", n_format);
   19923             printf("\n");
   19924         }
   19925     }
   19926     }
   19927     }
   19928     }
   19929     }
   19930     function_tests++;
   19931 #endif
   19932 
   19933     return(test_ret);
   19934 }
   19935 
   19936 
   19937 static int
   19938 test_xmlDocDumpMemory(void) {
   19939     int test_ret = 0;
   19940 
   19941 #if defined(LIBXML_OUTPUT_ENABLED)
   19942     int mem_base;
   19943     xmlDocPtr cur; /* the document */
   19944     int n_cur;
   19945     xmlChar ** mem; /* OUT: the memory pointer */
   19946     int n_mem;
   19947     int * size; /* OUT: the memory length */
   19948     int n_size;
   19949 
   19950     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   19951     for (n_mem = 0;n_mem < gen_nb_xmlChar_ptr_ptr;n_mem++) {
   19952     for (n_size = 0;n_size < gen_nb_int_ptr;n_size++) {
   19953         mem_base = xmlMemBlocks();
   19954         cur = gen_xmlDocPtr(n_cur, 0);
   19955         mem = gen_xmlChar_ptr_ptr(n_mem, 1);
   19956         size = gen_int_ptr(n_size, 2);
   19957 
   19958         xmlDocDumpMemory(cur, mem, size);
   19959         call_tests++;
   19960         des_xmlDocPtr(n_cur, cur, 0);
   19961         des_xmlChar_ptr_ptr(n_mem, mem, 1);
   19962         des_int_ptr(n_size, size, 2);
   19963         xmlResetLastError();
   19964         if (mem_base != xmlMemBlocks()) {
   19965             printf("Leak of %d blocks found in xmlDocDumpMemory",
   19966 	           xmlMemBlocks() - mem_base);
   19967 	    test_ret++;
   19968             printf(" %d", n_cur);
   19969             printf(" %d", n_mem);
   19970             printf(" %d", n_size);
   19971             printf("\n");
   19972         }
   19973     }
   19974     }
   19975     }
   19976     function_tests++;
   19977 #endif
   19978 
   19979     return(test_ret);
   19980 }
   19981 
   19982 
   19983 static int
   19984 test_xmlDocDumpMemoryEnc(void) {
   19985     int test_ret = 0;
   19986 
   19987 #if defined(LIBXML_OUTPUT_ENABLED)
   19988     int mem_base;
   19989     xmlDocPtr out_doc; /* Document to generate XML text from */
   19990     int n_out_doc;
   19991     xmlChar ** doc_txt_ptr; /* Memory pointer for allocated XML text */
   19992     int n_doc_txt_ptr;
   19993     int * doc_txt_len; /* Length of the generated XML text */
   19994     int n_doc_txt_len;
   19995     char * txt_encoding; /* Character encoding to use when generating XML text */
   19996     int n_txt_encoding;
   19997 
   19998     for (n_out_doc = 0;n_out_doc < gen_nb_xmlDocPtr;n_out_doc++) {
   19999     for (n_doc_txt_ptr = 0;n_doc_txt_ptr < gen_nb_xmlChar_ptr_ptr;n_doc_txt_ptr++) {
   20000     for (n_doc_txt_len = 0;n_doc_txt_len < gen_nb_int_ptr;n_doc_txt_len++) {
   20001     for (n_txt_encoding = 0;n_txt_encoding < gen_nb_const_char_ptr;n_txt_encoding++) {
   20002         mem_base = xmlMemBlocks();
   20003         out_doc = gen_xmlDocPtr(n_out_doc, 0);
   20004         doc_txt_ptr = gen_xmlChar_ptr_ptr(n_doc_txt_ptr, 1);
   20005         doc_txt_len = gen_int_ptr(n_doc_txt_len, 2);
   20006         txt_encoding = gen_const_char_ptr(n_txt_encoding, 3);
   20007 
   20008         xmlDocDumpMemoryEnc(out_doc, doc_txt_ptr, doc_txt_len, (const char *)txt_encoding);
   20009         call_tests++;
   20010         des_xmlDocPtr(n_out_doc, out_doc, 0);
   20011         des_xmlChar_ptr_ptr(n_doc_txt_ptr, doc_txt_ptr, 1);
   20012         des_int_ptr(n_doc_txt_len, doc_txt_len, 2);
   20013         des_const_char_ptr(n_txt_encoding, (const char *)txt_encoding, 3);
   20014         xmlResetLastError();
   20015         if (mem_base != xmlMemBlocks()) {
   20016             printf("Leak of %d blocks found in xmlDocDumpMemoryEnc",
   20017 	           xmlMemBlocks() - mem_base);
   20018 	    test_ret++;
   20019             printf(" %d", n_out_doc);
   20020             printf(" %d", n_doc_txt_ptr);
   20021             printf(" %d", n_doc_txt_len);
   20022             printf(" %d", n_txt_encoding);
   20023             printf("\n");
   20024         }
   20025     }
   20026     }
   20027     }
   20028     }
   20029     function_tests++;
   20030 #endif
   20031 
   20032     return(test_ret);
   20033 }
   20034 
   20035 
   20036 static int
   20037 test_xmlDocFormatDump(void) {
   20038     int test_ret = 0;
   20039 
   20040 #if defined(LIBXML_OUTPUT_ENABLED)
   20041     int mem_base;
   20042     int ret_val;
   20043     FILE * f; /* the FILE* */
   20044     int n_f;
   20045     xmlDocPtr cur; /* the document */
   20046     int n_cur;
   20047     int format; /* should formatting spaces been added */
   20048     int n_format;
   20049 
   20050     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
   20051     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   20052     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   20053         mem_base = xmlMemBlocks();
   20054         f = gen_FILE_ptr(n_f, 0);
   20055         cur = gen_xmlDocPtr(n_cur, 1);
   20056         format = gen_int(n_format, 2);
   20057 
   20058         ret_val = xmlDocFormatDump(f, cur, format);
   20059         desret_int(ret_val);
   20060         call_tests++;
   20061         des_FILE_ptr(n_f, f, 0);
   20062         des_xmlDocPtr(n_cur, cur, 1);
   20063         des_int(n_format, format, 2);
   20064         xmlResetLastError();
   20065         if (mem_base != xmlMemBlocks()) {
   20066             printf("Leak of %d blocks found in xmlDocFormatDump",
   20067 	           xmlMemBlocks() - mem_base);
   20068 	    test_ret++;
   20069             printf(" %d", n_f);
   20070             printf(" %d", n_cur);
   20071             printf(" %d", n_format);
   20072             printf("\n");
   20073         }
   20074     }
   20075     }
   20076     }
   20077     function_tests++;
   20078 #endif
   20079 
   20080     return(test_ret);
   20081 }
   20082 
   20083 
   20084 static int
   20085 test_xmlDocGetRootElement(void) {
   20086     int test_ret = 0;
   20087 
   20088     int mem_base;
   20089     xmlNodePtr ret_val;
   20090     xmlDocPtr doc; /* the document */
   20091     int n_doc;
   20092 
   20093     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20094         mem_base = xmlMemBlocks();
   20095         doc = gen_xmlDocPtr(n_doc, 0);
   20096 
   20097         ret_val = xmlDocGetRootElement(doc);
   20098         desret_xmlNodePtr(ret_val);
   20099         call_tests++;
   20100         des_xmlDocPtr(n_doc, doc, 0);
   20101         xmlResetLastError();
   20102         if (mem_base != xmlMemBlocks()) {
   20103             printf("Leak of %d blocks found in xmlDocGetRootElement",
   20104 	           xmlMemBlocks() - mem_base);
   20105 	    test_ret++;
   20106             printf(" %d", n_doc);
   20107             printf("\n");
   20108         }
   20109     }
   20110     function_tests++;
   20111 
   20112     return(test_ret);
   20113 }
   20114 
   20115 
   20116 static int
   20117 test_xmlDocSetRootElement(void) {
   20118     int test_ret = 0;
   20119 
   20120 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
   20121     int mem_base;
   20122     xmlNodePtr ret_val;
   20123     xmlDocPtr doc; /* the document */
   20124     int n_doc;
   20125     xmlNodePtr root; /* the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead. */
   20126     int n_root;
   20127 
   20128     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20129     for (n_root = 0;n_root < gen_nb_xmlNodePtr_in;n_root++) {
   20130         mem_base = xmlMemBlocks();
   20131         doc = gen_xmlDocPtr(n_doc, 0);
   20132         root = gen_xmlNodePtr_in(n_root, 1);
   20133 
   20134         ret_val = xmlDocSetRootElement(doc, root);
   20135         if (doc == NULL) { xmlFreeNode(root) ; root = NULL ; }
   20136         desret_xmlNodePtr(ret_val);
   20137         call_tests++;
   20138         des_xmlDocPtr(n_doc, doc, 0);
   20139         des_xmlNodePtr_in(n_root, root, 1);
   20140         xmlResetLastError();
   20141         if (mem_base != xmlMemBlocks()) {
   20142             printf("Leak of %d blocks found in xmlDocSetRootElement",
   20143 	           xmlMemBlocks() - mem_base);
   20144 	    test_ret++;
   20145             printf(" %d", n_doc);
   20146             printf(" %d", n_root);
   20147             printf("\n");
   20148         }
   20149     }
   20150     }
   20151     function_tests++;
   20152 #endif
   20153 
   20154     return(test_ret);
   20155 }
   20156 
   20157 
   20158 static int
   20159 test_xmlElemDump(void) {
   20160     int test_ret = 0;
   20161 
   20162 #if defined(LIBXML_OUTPUT_ENABLED)
   20163     int mem_base;
   20164     FILE * f; /* the FILE * for the output */
   20165     int n_f;
   20166     xmlDocPtr doc; /* the document */
   20167     int n_doc;
   20168     xmlNodePtr cur; /* the current node */
   20169     int n_cur;
   20170 
   20171     for (n_f = 0;n_f < gen_nb_FILE_ptr;n_f++) {
   20172     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20173     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   20174         mem_base = xmlMemBlocks();
   20175         f = gen_FILE_ptr(n_f, 0);
   20176         doc = gen_xmlDocPtr(n_doc, 1);
   20177         cur = gen_xmlNodePtr(n_cur, 2);
   20178 
   20179         xmlElemDump(f, doc, cur);
   20180         call_tests++;
   20181         des_FILE_ptr(n_f, f, 0);
   20182         des_xmlDocPtr(n_doc, doc, 1);
   20183         des_xmlNodePtr(n_cur, cur, 2);
   20184         xmlResetLastError();
   20185         if (mem_base != xmlMemBlocks()) {
   20186             printf("Leak of %d blocks found in xmlElemDump",
   20187 	           xmlMemBlocks() - mem_base);
   20188 	    test_ret++;
   20189             printf(" %d", n_f);
   20190             printf(" %d", n_doc);
   20191             printf(" %d", n_cur);
   20192             printf("\n");
   20193         }
   20194     }
   20195     }
   20196     }
   20197     function_tests++;
   20198 #endif
   20199 
   20200     return(test_ret);
   20201 }
   20202 
   20203 
   20204 static int
   20205 test_xmlFirstElementChild(void) {
   20206     int test_ret = 0;
   20207 
   20208 #if defined(LIBXML_TREE_ENABLED)
   20209     int mem_base;
   20210     xmlNodePtr ret_val;
   20211     xmlNodePtr parent; /* the parent node */
   20212     int n_parent;
   20213 
   20214     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   20215         mem_base = xmlMemBlocks();
   20216         parent = gen_xmlNodePtr(n_parent, 0);
   20217 
   20218         ret_val = xmlFirstElementChild(parent);
   20219         desret_xmlNodePtr(ret_val);
   20220         call_tests++;
   20221         des_xmlNodePtr(n_parent, parent, 0);
   20222         xmlResetLastError();
   20223         if (mem_base != xmlMemBlocks()) {
   20224             printf("Leak of %d blocks found in xmlFirstElementChild",
   20225 	           xmlMemBlocks() - mem_base);
   20226 	    test_ret++;
   20227             printf(" %d", n_parent);
   20228             printf("\n");
   20229         }
   20230     }
   20231     function_tests++;
   20232 #endif
   20233 
   20234     return(test_ret);
   20235 }
   20236 
   20237 
   20238 static int
   20239 test_xmlGetBufferAllocationScheme(void) {
   20240     int test_ret = 0;
   20241 
   20242     int mem_base;
   20243     xmlBufferAllocationScheme ret_val;
   20244 
   20245         mem_base = xmlMemBlocks();
   20246 
   20247         ret_val = xmlGetBufferAllocationScheme();
   20248         desret_xmlBufferAllocationScheme(ret_val);
   20249         call_tests++;
   20250         xmlResetLastError();
   20251         if (mem_base != xmlMemBlocks()) {
   20252             printf("Leak of %d blocks found in xmlGetBufferAllocationScheme",
   20253 	           xmlMemBlocks() - mem_base);
   20254 	    test_ret++;
   20255             printf("\n");
   20256         }
   20257     function_tests++;
   20258 
   20259     return(test_ret);
   20260 }
   20261 
   20262 
   20263 static int
   20264 test_xmlGetCompressMode(void) {
   20265     int test_ret = 0;
   20266 
   20267     int mem_base;
   20268     int ret_val;
   20269 
   20270         mem_base = xmlMemBlocks();
   20271 
   20272         ret_val = xmlGetCompressMode();
   20273         desret_int(ret_val);
   20274         call_tests++;
   20275         xmlResetLastError();
   20276         if (mem_base != xmlMemBlocks()) {
   20277             printf("Leak of %d blocks found in xmlGetCompressMode",
   20278 	           xmlMemBlocks() - mem_base);
   20279 	    test_ret++;
   20280             printf("\n");
   20281         }
   20282     function_tests++;
   20283 
   20284     return(test_ret);
   20285 }
   20286 
   20287 
   20288 static int
   20289 test_xmlGetDocCompressMode(void) {
   20290     int test_ret = 0;
   20291 
   20292     int mem_base;
   20293     int ret_val;
   20294     xmlDocPtr doc; /* the document */
   20295     int n_doc;
   20296 
   20297     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20298         mem_base = xmlMemBlocks();
   20299         doc = gen_xmlDocPtr(n_doc, 0);
   20300 
   20301         ret_val = xmlGetDocCompressMode(doc);
   20302         desret_int(ret_val);
   20303         call_tests++;
   20304         des_xmlDocPtr(n_doc, doc, 0);
   20305         xmlResetLastError();
   20306         if (mem_base != xmlMemBlocks()) {
   20307             printf("Leak of %d blocks found in xmlGetDocCompressMode",
   20308 	           xmlMemBlocks() - mem_base);
   20309 	    test_ret++;
   20310             printf(" %d", n_doc);
   20311             printf("\n");
   20312         }
   20313     }
   20314     function_tests++;
   20315 
   20316     return(test_ret);
   20317 }
   20318 
   20319 
   20320 static int
   20321 test_xmlGetIntSubset(void) {
   20322     int test_ret = 0;
   20323 
   20324     int mem_base;
   20325     xmlDtdPtr ret_val;
   20326     xmlDocPtr doc; /* the document pointer */
   20327     int n_doc;
   20328 
   20329     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20330         mem_base = xmlMemBlocks();
   20331         doc = gen_xmlDocPtr(n_doc, 0);
   20332 
   20333         ret_val = xmlGetIntSubset(doc);
   20334         desret_xmlDtdPtr(ret_val);
   20335         call_tests++;
   20336         des_xmlDocPtr(n_doc, doc, 0);
   20337         xmlResetLastError();
   20338         if (mem_base != xmlMemBlocks()) {
   20339             printf("Leak of %d blocks found in xmlGetIntSubset",
   20340 	           xmlMemBlocks() - mem_base);
   20341 	    test_ret++;
   20342             printf(" %d", n_doc);
   20343             printf("\n");
   20344         }
   20345     }
   20346     function_tests++;
   20347 
   20348     return(test_ret);
   20349 }
   20350 
   20351 
   20352 static int
   20353 test_xmlGetLastChild(void) {
   20354     int test_ret = 0;
   20355 
   20356     int mem_base;
   20357     xmlNodePtr ret_val;
   20358     xmlNodePtr parent; /* the parent node */
   20359     int n_parent;
   20360 
   20361     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   20362         mem_base = xmlMemBlocks();
   20363         parent = gen_xmlNodePtr(n_parent, 0);
   20364 
   20365         ret_val = xmlGetLastChild(parent);
   20366         desret_xmlNodePtr(ret_val);
   20367         call_tests++;
   20368         des_xmlNodePtr(n_parent, parent, 0);
   20369         xmlResetLastError();
   20370         if (mem_base != xmlMemBlocks()) {
   20371             printf("Leak of %d blocks found in xmlGetLastChild",
   20372 	           xmlMemBlocks() - mem_base);
   20373 	    test_ret++;
   20374             printf(" %d", n_parent);
   20375             printf("\n");
   20376         }
   20377     }
   20378     function_tests++;
   20379 
   20380     return(test_ret);
   20381 }
   20382 
   20383 
   20384 static int
   20385 test_xmlGetLineNo(void) {
   20386     int test_ret = 0;
   20387 
   20388     int mem_base;
   20389     long ret_val;
   20390     xmlNodePtr node; /* valid node */
   20391     int n_node;
   20392 
   20393     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20394         mem_base = xmlMemBlocks();
   20395         node = gen_xmlNodePtr(n_node, 0);
   20396 
   20397         ret_val = xmlGetLineNo(node);
   20398         desret_long(ret_val);
   20399         call_tests++;
   20400         des_xmlNodePtr(n_node, node, 0);
   20401         xmlResetLastError();
   20402         if (mem_base != xmlMemBlocks()) {
   20403             printf("Leak of %d blocks found in xmlGetLineNo",
   20404 	           xmlMemBlocks() - mem_base);
   20405 	    test_ret++;
   20406             printf(" %d", n_node);
   20407             printf("\n");
   20408         }
   20409     }
   20410     function_tests++;
   20411 
   20412     return(test_ret);
   20413 }
   20414 
   20415 
   20416 static int
   20417 test_xmlGetNoNsProp(void) {
   20418     int test_ret = 0;
   20419 
   20420     int mem_base;
   20421     xmlChar * ret_val;
   20422     xmlNodePtr node; /* the node */
   20423     int n_node;
   20424     xmlChar * name; /* the attribute name */
   20425     int n_name;
   20426 
   20427     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20428     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   20429         mem_base = xmlMemBlocks();
   20430         node = gen_xmlNodePtr(n_node, 0);
   20431         name = gen_const_xmlChar_ptr(n_name, 1);
   20432 
   20433         ret_val = xmlGetNoNsProp(node, (const xmlChar *)name);
   20434         desret_xmlChar_ptr(ret_val);
   20435         call_tests++;
   20436         des_xmlNodePtr(n_node, node, 0);
   20437         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   20438         xmlResetLastError();
   20439         if (mem_base != xmlMemBlocks()) {
   20440             printf("Leak of %d blocks found in xmlGetNoNsProp",
   20441 	           xmlMemBlocks() - mem_base);
   20442 	    test_ret++;
   20443             printf(" %d", n_node);
   20444             printf(" %d", n_name);
   20445             printf("\n");
   20446         }
   20447     }
   20448     }
   20449     function_tests++;
   20450 
   20451     return(test_ret);
   20452 }
   20453 
   20454 
   20455 static int
   20456 test_xmlGetNodePath(void) {
   20457     int test_ret = 0;
   20458 
   20459 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
   20460     int mem_base;
   20461     xmlChar * ret_val;
   20462     xmlNodePtr node; /* a node */
   20463     int n_node;
   20464 
   20465     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20466         mem_base = xmlMemBlocks();
   20467         node = gen_xmlNodePtr(n_node, 0);
   20468 
   20469         ret_val = xmlGetNodePath(node);
   20470         desret_xmlChar_ptr(ret_val);
   20471         call_tests++;
   20472         des_xmlNodePtr(n_node, node, 0);
   20473         xmlResetLastError();
   20474         if (mem_base != xmlMemBlocks()) {
   20475             printf("Leak of %d blocks found in xmlGetNodePath",
   20476 	           xmlMemBlocks() - mem_base);
   20477 	    test_ret++;
   20478             printf(" %d", n_node);
   20479             printf("\n");
   20480         }
   20481     }
   20482     function_tests++;
   20483 #endif
   20484 
   20485     return(test_ret);
   20486 }
   20487 
   20488 
   20489 static int
   20490 test_xmlGetNsList(void) {
   20491     int test_ret = 0;
   20492 
   20493 
   20494     /* missing type support */
   20495     return(test_ret);
   20496 }
   20497 
   20498 
   20499 static int
   20500 test_xmlGetNsProp(void) {
   20501     int test_ret = 0;
   20502 
   20503     int mem_base;
   20504     xmlChar * ret_val;
   20505     xmlNodePtr node; /* the node */
   20506     int n_node;
   20507     xmlChar * name; /* the attribute name */
   20508     int n_name;
   20509     xmlChar * nameSpace; /* the URI of the namespace */
   20510     int n_nameSpace;
   20511 
   20512     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20513     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   20514     for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
   20515         mem_base = xmlMemBlocks();
   20516         node = gen_xmlNodePtr(n_node, 0);
   20517         name = gen_const_xmlChar_ptr(n_name, 1);
   20518         nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
   20519 
   20520         ret_val = xmlGetNsProp(node, (const xmlChar *)name, (const xmlChar *)nameSpace);
   20521         desret_xmlChar_ptr(ret_val);
   20522         call_tests++;
   20523         des_xmlNodePtr(n_node, node, 0);
   20524         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   20525         des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
   20526         xmlResetLastError();
   20527         if (mem_base != xmlMemBlocks()) {
   20528             printf("Leak of %d blocks found in xmlGetNsProp",
   20529 	           xmlMemBlocks() - mem_base);
   20530 	    test_ret++;
   20531             printf(" %d", n_node);
   20532             printf(" %d", n_name);
   20533             printf(" %d", n_nameSpace);
   20534             printf("\n");
   20535         }
   20536     }
   20537     }
   20538     }
   20539     function_tests++;
   20540 
   20541     return(test_ret);
   20542 }
   20543 
   20544 
   20545 static int
   20546 test_xmlGetProp(void) {
   20547     int test_ret = 0;
   20548 
   20549     int mem_base;
   20550     xmlChar * ret_val;
   20551     xmlNodePtr node; /* the node */
   20552     int n_node;
   20553     xmlChar * name; /* the attribute name */
   20554     int n_name;
   20555 
   20556     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20557     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   20558         mem_base = xmlMemBlocks();
   20559         node = gen_xmlNodePtr(n_node, 0);
   20560         name = gen_const_xmlChar_ptr(n_name, 1);
   20561 
   20562         ret_val = xmlGetProp(node, (const xmlChar *)name);
   20563         desret_xmlChar_ptr(ret_val);
   20564         call_tests++;
   20565         des_xmlNodePtr(n_node, node, 0);
   20566         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   20567         xmlResetLastError();
   20568         if (mem_base != xmlMemBlocks()) {
   20569             printf("Leak of %d blocks found in xmlGetProp",
   20570 	           xmlMemBlocks() - mem_base);
   20571 	    test_ret++;
   20572             printf(" %d", n_node);
   20573             printf(" %d", n_name);
   20574             printf("\n");
   20575         }
   20576     }
   20577     }
   20578     function_tests++;
   20579 
   20580     return(test_ret);
   20581 }
   20582 
   20583 
   20584 static int
   20585 test_xmlHasNsProp(void) {
   20586     int test_ret = 0;
   20587 
   20588     int mem_base;
   20589     xmlAttrPtr ret_val;
   20590     xmlNodePtr node; /* the node */
   20591     int n_node;
   20592     xmlChar * name; /* the attribute name */
   20593     int n_name;
   20594     xmlChar * nameSpace; /* the URI of the namespace */
   20595     int n_nameSpace;
   20596 
   20597     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20598     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   20599     for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
   20600         mem_base = xmlMemBlocks();
   20601         node = gen_xmlNodePtr(n_node, 0);
   20602         name = gen_const_xmlChar_ptr(n_name, 1);
   20603         nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
   20604 
   20605         ret_val = xmlHasNsProp(node, (const xmlChar *)name, (const xmlChar *)nameSpace);
   20606         desret_xmlAttrPtr(ret_val);
   20607         call_tests++;
   20608         des_xmlNodePtr(n_node, node, 0);
   20609         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   20610         des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
   20611         xmlResetLastError();
   20612         if (mem_base != xmlMemBlocks()) {
   20613             printf("Leak of %d blocks found in xmlHasNsProp",
   20614 	           xmlMemBlocks() - mem_base);
   20615 	    test_ret++;
   20616             printf(" %d", n_node);
   20617             printf(" %d", n_name);
   20618             printf(" %d", n_nameSpace);
   20619             printf("\n");
   20620         }
   20621     }
   20622     }
   20623     }
   20624     function_tests++;
   20625 
   20626     return(test_ret);
   20627 }
   20628 
   20629 
   20630 static int
   20631 test_xmlHasProp(void) {
   20632     int test_ret = 0;
   20633 
   20634     int mem_base;
   20635     xmlAttrPtr ret_val;
   20636     xmlNodePtr node; /* the node */
   20637     int n_node;
   20638     xmlChar * name; /* the attribute name */
   20639     int n_name;
   20640 
   20641     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20642     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   20643         mem_base = xmlMemBlocks();
   20644         node = gen_xmlNodePtr(n_node, 0);
   20645         name = gen_const_xmlChar_ptr(n_name, 1);
   20646 
   20647         ret_val = xmlHasProp(node, (const xmlChar *)name);
   20648         desret_xmlAttrPtr(ret_val);
   20649         call_tests++;
   20650         des_xmlNodePtr(n_node, node, 0);
   20651         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   20652         xmlResetLastError();
   20653         if (mem_base != xmlMemBlocks()) {
   20654             printf("Leak of %d blocks found in xmlHasProp",
   20655 	           xmlMemBlocks() - mem_base);
   20656 	    test_ret++;
   20657             printf(" %d", n_node);
   20658             printf(" %d", n_name);
   20659             printf("\n");
   20660         }
   20661     }
   20662     }
   20663     function_tests++;
   20664 
   20665     return(test_ret);
   20666 }
   20667 
   20668 
   20669 static int
   20670 test_xmlIsBlankNode(void) {
   20671     int test_ret = 0;
   20672 
   20673     int mem_base;
   20674     int ret_val;
   20675     xmlNodePtr node; /* the node */
   20676     int n_node;
   20677 
   20678     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   20679         mem_base = xmlMemBlocks();
   20680         node = gen_xmlNodePtr(n_node, 0);
   20681 
   20682         ret_val = xmlIsBlankNode(node);
   20683         desret_int(ret_val);
   20684         call_tests++;
   20685         des_xmlNodePtr(n_node, node, 0);
   20686         xmlResetLastError();
   20687         if (mem_base != xmlMemBlocks()) {
   20688             printf("Leak of %d blocks found in xmlIsBlankNode",
   20689 	           xmlMemBlocks() - mem_base);
   20690 	    test_ret++;
   20691             printf(" %d", n_node);
   20692             printf("\n");
   20693         }
   20694     }
   20695     function_tests++;
   20696 
   20697     return(test_ret);
   20698 }
   20699 
   20700 
   20701 static int
   20702 test_xmlIsXHTML(void) {
   20703     int test_ret = 0;
   20704 
   20705     int mem_base;
   20706     int ret_val;
   20707     xmlChar * systemID; /* the system identifier */
   20708     int n_systemID;
   20709     xmlChar * publicID; /* the public identifier */
   20710     int n_publicID;
   20711 
   20712     for (n_systemID = 0;n_systemID < gen_nb_const_xmlChar_ptr;n_systemID++) {
   20713     for (n_publicID = 0;n_publicID < gen_nb_const_xmlChar_ptr;n_publicID++) {
   20714         mem_base = xmlMemBlocks();
   20715         systemID = gen_const_xmlChar_ptr(n_systemID, 0);
   20716         publicID = gen_const_xmlChar_ptr(n_publicID, 1);
   20717 
   20718         ret_val = xmlIsXHTML((const xmlChar *)systemID, (const xmlChar *)publicID);
   20719         desret_int(ret_val);
   20720         call_tests++;
   20721         des_const_xmlChar_ptr(n_systemID, (const xmlChar *)systemID, 0);
   20722         des_const_xmlChar_ptr(n_publicID, (const xmlChar *)publicID, 1);
   20723         xmlResetLastError();
   20724         if (mem_base != xmlMemBlocks()) {
   20725             printf("Leak of %d blocks found in xmlIsXHTML",
   20726 	           xmlMemBlocks() - mem_base);
   20727 	    test_ret++;
   20728             printf(" %d", n_systemID);
   20729             printf(" %d", n_publicID);
   20730             printf("\n");
   20731         }
   20732     }
   20733     }
   20734     function_tests++;
   20735 
   20736     return(test_ret);
   20737 }
   20738 
   20739 
   20740 static int
   20741 test_xmlLastElementChild(void) {
   20742     int test_ret = 0;
   20743 
   20744 #if defined(LIBXML_TREE_ENABLED)
   20745     int mem_base;
   20746     xmlNodePtr ret_val;
   20747     xmlNodePtr parent; /* the parent node */
   20748     int n_parent;
   20749 
   20750     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   20751         mem_base = xmlMemBlocks();
   20752         parent = gen_xmlNodePtr(n_parent, 0);
   20753 
   20754         ret_val = xmlLastElementChild(parent);
   20755         desret_xmlNodePtr(ret_val);
   20756         call_tests++;
   20757         des_xmlNodePtr(n_parent, parent, 0);
   20758         xmlResetLastError();
   20759         if (mem_base != xmlMemBlocks()) {
   20760             printf("Leak of %d blocks found in xmlLastElementChild",
   20761 	           xmlMemBlocks() - mem_base);
   20762 	    test_ret++;
   20763             printf(" %d", n_parent);
   20764             printf("\n");
   20765         }
   20766     }
   20767     function_tests++;
   20768 #endif
   20769 
   20770     return(test_ret);
   20771 }
   20772 
   20773 
   20774 static int
   20775 test_xmlNewCDataBlock(void) {
   20776     int test_ret = 0;
   20777 
   20778     int mem_base;
   20779     xmlNodePtr ret_val;
   20780     xmlDocPtr doc; /* the document */
   20781     int n_doc;
   20782     xmlChar * content; /* the CDATA block content content */
   20783     int n_content;
   20784     int len; /* the length of the block */
   20785     int n_len;
   20786 
   20787     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20788     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   20789     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   20790         mem_base = xmlMemBlocks();
   20791         doc = gen_xmlDocPtr(n_doc, 0);
   20792         content = gen_const_xmlChar_ptr(n_content, 1);
   20793         len = gen_int(n_len, 2);
   20794 
   20795         ret_val = xmlNewCDataBlock(doc, (const xmlChar *)content, len);
   20796         desret_xmlNodePtr(ret_val);
   20797         call_tests++;
   20798         des_xmlDocPtr(n_doc, doc, 0);
   20799         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   20800         des_int(n_len, len, 2);
   20801         xmlResetLastError();
   20802         if (mem_base != xmlMemBlocks()) {
   20803             printf("Leak of %d blocks found in xmlNewCDataBlock",
   20804 	           xmlMemBlocks() - mem_base);
   20805 	    test_ret++;
   20806             printf(" %d", n_doc);
   20807             printf(" %d", n_content);
   20808             printf(" %d", n_len);
   20809             printf("\n");
   20810         }
   20811     }
   20812     }
   20813     }
   20814     function_tests++;
   20815 
   20816     return(test_ret);
   20817 }
   20818 
   20819 
   20820 static int
   20821 test_xmlNewCharRef(void) {
   20822     int test_ret = 0;
   20823 
   20824     int mem_base;
   20825     xmlNodePtr ret_val;
   20826     xmlDocPtr doc; /* the document */
   20827     int n_doc;
   20828     xmlChar * name; /* the char ref string, starting with # or "&# ... ;" */
   20829     int n_name;
   20830 
   20831     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20832     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   20833         mem_base = xmlMemBlocks();
   20834         doc = gen_xmlDocPtr(n_doc, 0);
   20835         name = gen_const_xmlChar_ptr(n_name, 1);
   20836 
   20837         ret_val = xmlNewCharRef(doc, (const xmlChar *)name);
   20838         desret_xmlNodePtr(ret_val);
   20839         call_tests++;
   20840         des_xmlDocPtr(n_doc, doc, 0);
   20841         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   20842         xmlResetLastError();
   20843         if (mem_base != xmlMemBlocks()) {
   20844             printf("Leak of %d blocks found in xmlNewCharRef",
   20845 	           xmlMemBlocks() - mem_base);
   20846 	    test_ret++;
   20847             printf(" %d", n_doc);
   20848             printf(" %d", n_name);
   20849             printf("\n");
   20850         }
   20851     }
   20852     }
   20853     function_tests++;
   20854 
   20855     return(test_ret);
   20856 }
   20857 
   20858 
   20859 static int
   20860 test_xmlNewChild(void) {
   20861     int test_ret = 0;
   20862 
   20863 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   20864 #ifdef LIBXML_TREE_ENABLED
   20865     int mem_base;
   20866     xmlNodePtr ret_val;
   20867     xmlNodePtr parent; /* the parent node */
   20868     int n_parent;
   20869     xmlNsPtr ns; /* a namespace if any */
   20870     int n_ns;
   20871     xmlChar * name; /* the name of the child */
   20872     int n_name;
   20873     xmlChar * content; /* the XML content of the child if any. */
   20874     int n_content;
   20875 
   20876     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   20877     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   20878     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   20879     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   20880         mem_base = xmlMemBlocks();
   20881         parent = gen_xmlNodePtr(n_parent, 0);
   20882         ns = gen_xmlNsPtr(n_ns, 1);
   20883         name = gen_const_xmlChar_ptr(n_name, 2);
   20884         content = gen_const_xmlChar_ptr(n_content, 3);
   20885 
   20886         ret_val = xmlNewChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
   20887         desret_xmlNodePtr(ret_val);
   20888         call_tests++;
   20889         des_xmlNodePtr(n_parent, parent, 0);
   20890         des_xmlNsPtr(n_ns, ns, 1);
   20891         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   20892         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
   20893         xmlResetLastError();
   20894         if (mem_base != xmlMemBlocks()) {
   20895             printf("Leak of %d blocks found in xmlNewChild",
   20896 	           xmlMemBlocks() - mem_base);
   20897 	    test_ret++;
   20898             printf(" %d", n_parent);
   20899             printf(" %d", n_ns);
   20900             printf(" %d", n_name);
   20901             printf(" %d", n_content);
   20902             printf("\n");
   20903         }
   20904     }
   20905     }
   20906     }
   20907     }
   20908     function_tests++;
   20909 #endif
   20910 #endif
   20911 
   20912     return(test_ret);
   20913 }
   20914 
   20915 
   20916 static int
   20917 test_xmlNewComment(void) {
   20918     int test_ret = 0;
   20919 
   20920     int mem_base;
   20921     xmlNodePtr ret_val;
   20922     xmlChar * content; /* the comment content */
   20923     int n_content;
   20924 
   20925     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   20926         mem_base = xmlMemBlocks();
   20927         content = gen_const_xmlChar_ptr(n_content, 0);
   20928 
   20929         ret_val = xmlNewComment((const xmlChar *)content);
   20930         desret_xmlNodePtr(ret_val);
   20931         call_tests++;
   20932         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
   20933         xmlResetLastError();
   20934         if (mem_base != xmlMemBlocks()) {
   20935             printf("Leak of %d blocks found in xmlNewComment",
   20936 	           xmlMemBlocks() - mem_base);
   20937 	    test_ret++;
   20938             printf(" %d", n_content);
   20939             printf("\n");
   20940         }
   20941     }
   20942     function_tests++;
   20943 
   20944     return(test_ret);
   20945 }
   20946 
   20947 
   20948 static int
   20949 test_xmlNewDoc(void) {
   20950     int test_ret = 0;
   20951 
   20952     int mem_base;
   20953     xmlDocPtr ret_val;
   20954     xmlChar * version; /* xmlChar string giving the version of XML "1.0" */
   20955     int n_version;
   20956 
   20957     for (n_version = 0;n_version < gen_nb_const_xmlChar_ptr;n_version++) {
   20958         mem_base = xmlMemBlocks();
   20959         version = gen_const_xmlChar_ptr(n_version, 0);
   20960 
   20961         ret_val = xmlNewDoc((const xmlChar *)version);
   20962         desret_xmlDocPtr(ret_val);
   20963         call_tests++;
   20964         des_const_xmlChar_ptr(n_version, (const xmlChar *)version, 0);
   20965         xmlResetLastError();
   20966         if (mem_base != xmlMemBlocks()) {
   20967             printf("Leak of %d blocks found in xmlNewDoc",
   20968 	           xmlMemBlocks() - mem_base);
   20969 	    test_ret++;
   20970             printf(" %d", n_version);
   20971             printf("\n");
   20972         }
   20973     }
   20974     function_tests++;
   20975 
   20976     return(test_ret);
   20977 }
   20978 
   20979 
   20980 static int
   20981 test_xmlNewDocComment(void) {
   20982     int test_ret = 0;
   20983 
   20984     int mem_base;
   20985     xmlNodePtr ret_val;
   20986     xmlDocPtr doc; /* the document */
   20987     int n_doc;
   20988     xmlChar * content; /* the comment content */
   20989     int n_content;
   20990 
   20991     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   20992     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   20993         mem_base = xmlMemBlocks();
   20994         doc = gen_xmlDocPtr(n_doc, 0);
   20995         content = gen_const_xmlChar_ptr(n_content, 1);
   20996 
   20997         ret_val = xmlNewDocComment(doc, (const xmlChar *)content);
   20998         desret_xmlNodePtr(ret_val);
   20999         call_tests++;
   21000         des_xmlDocPtr(n_doc, doc, 0);
   21001         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   21002         xmlResetLastError();
   21003         if (mem_base != xmlMemBlocks()) {
   21004             printf("Leak of %d blocks found in xmlNewDocComment",
   21005 	           xmlMemBlocks() - mem_base);
   21006 	    test_ret++;
   21007             printf(" %d", n_doc);
   21008             printf(" %d", n_content);
   21009             printf("\n");
   21010         }
   21011     }
   21012     }
   21013     function_tests++;
   21014 
   21015     return(test_ret);
   21016 }
   21017 
   21018 
   21019 static int
   21020 test_xmlNewDocFragment(void) {
   21021     int test_ret = 0;
   21022 
   21023 #if defined(LIBXML_TREE_ENABLED)
   21024     int mem_base;
   21025     xmlNodePtr ret_val;
   21026     xmlDocPtr doc; /* the document owning the fragment */
   21027     int n_doc;
   21028 
   21029     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21030         mem_base = xmlMemBlocks();
   21031         doc = gen_xmlDocPtr(n_doc, 0);
   21032 
   21033         ret_val = xmlNewDocFragment(doc);
   21034         desret_xmlNodePtr(ret_val);
   21035         call_tests++;
   21036         des_xmlDocPtr(n_doc, doc, 0);
   21037         xmlResetLastError();
   21038         if (mem_base != xmlMemBlocks()) {
   21039             printf("Leak of %d blocks found in xmlNewDocFragment",
   21040 	           xmlMemBlocks() - mem_base);
   21041 	    test_ret++;
   21042             printf(" %d", n_doc);
   21043             printf("\n");
   21044         }
   21045     }
   21046     function_tests++;
   21047 #endif
   21048 
   21049     return(test_ret);
   21050 }
   21051 
   21052 
   21053 static int
   21054 test_xmlNewDocNode(void) {
   21055     int test_ret = 0;
   21056 
   21057     int mem_base;
   21058     xmlNodePtr ret_val;
   21059     xmlDocPtr doc; /* the document */
   21060     int n_doc;
   21061     xmlNsPtr ns; /* namespace if any */
   21062     int n_ns;
   21063     xmlChar * name; /* the node name */
   21064     int n_name;
   21065     xmlChar * content; /* the XML text content if any */
   21066     int n_content;
   21067 
   21068     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21069     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21070     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21071     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21072         mem_base = xmlMemBlocks();
   21073         doc = gen_xmlDocPtr(n_doc, 0);
   21074         ns = gen_xmlNsPtr(n_ns, 1);
   21075         name = gen_const_xmlChar_ptr(n_name, 2);
   21076         content = gen_const_xmlChar_ptr(n_content, 3);
   21077 
   21078         ret_val = xmlNewDocNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
   21079         desret_xmlNodePtr(ret_val);
   21080         call_tests++;
   21081         des_xmlDocPtr(n_doc, doc, 0);
   21082         des_xmlNsPtr(n_ns, ns, 1);
   21083         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   21084         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
   21085         xmlResetLastError();
   21086         if (mem_base != xmlMemBlocks()) {
   21087             printf("Leak of %d blocks found in xmlNewDocNode",
   21088 	           xmlMemBlocks() - mem_base);
   21089 	    test_ret++;
   21090             printf(" %d", n_doc);
   21091             printf(" %d", n_ns);
   21092             printf(" %d", n_name);
   21093             printf(" %d", n_content);
   21094             printf("\n");
   21095         }
   21096     }
   21097     }
   21098     }
   21099     }
   21100     function_tests++;
   21101 
   21102     return(test_ret);
   21103 }
   21104 
   21105 
   21106 static int
   21107 test_xmlNewDocNodeEatName(void) {
   21108     int test_ret = 0;
   21109 
   21110     int mem_base;
   21111     xmlNodePtr ret_val;
   21112     xmlDocPtr doc; /* the document */
   21113     int n_doc;
   21114     xmlNsPtr ns; /* namespace if any */
   21115     int n_ns;
   21116     xmlChar * name; /* the node name */
   21117     int n_name;
   21118     xmlChar * content; /* the XML text content if any */
   21119     int n_content;
   21120 
   21121     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21122     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21123     for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
   21124     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21125         mem_base = xmlMemBlocks();
   21126         doc = gen_xmlDocPtr(n_doc, 0);
   21127         ns = gen_xmlNsPtr(n_ns, 1);
   21128         name = gen_eaten_name(n_name, 2);
   21129         content = gen_const_xmlChar_ptr(n_content, 3);
   21130 
   21131         ret_val = xmlNewDocNodeEatName(doc, ns, name, (const xmlChar *)content);
   21132         desret_xmlNodePtr(ret_val);
   21133         call_tests++;
   21134         des_xmlDocPtr(n_doc, doc, 0);
   21135         des_xmlNsPtr(n_ns, ns, 1);
   21136         des_eaten_name(n_name, name, 2);
   21137         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
   21138         xmlResetLastError();
   21139         if (mem_base != xmlMemBlocks()) {
   21140             printf("Leak of %d blocks found in xmlNewDocNodeEatName",
   21141 	           xmlMemBlocks() - mem_base);
   21142 	    test_ret++;
   21143             printf(" %d", n_doc);
   21144             printf(" %d", n_ns);
   21145             printf(" %d", n_name);
   21146             printf(" %d", n_content);
   21147             printf("\n");
   21148         }
   21149     }
   21150     }
   21151     }
   21152     }
   21153     function_tests++;
   21154 
   21155     return(test_ret);
   21156 }
   21157 
   21158 
   21159 static int
   21160 test_xmlNewDocPI(void) {
   21161     int test_ret = 0;
   21162 
   21163     int mem_base;
   21164     xmlNodePtr ret_val;
   21165     xmlDocPtr doc; /* the target document */
   21166     int n_doc;
   21167     xmlChar * name; /* the processing instruction name */
   21168     int n_name;
   21169     xmlChar * content; /* the PI content */
   21170     int n_content;
   21171 
   21172     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21173     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21174     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21175         mem_base = xmlMemBlocks();
   21176         doc = gen_xmlDocPtr(n_doc, 0);
   21177         name = gen_const_xmlChar_ptr(n_name, 1);
   21178         content = gen_const_xmlChar_ptr(n_content, 2);
   21179 
   21180         ret_val = xmlNewDocPI(doc, (const xmlChar *)name, (const xmlChar *)content);
   21181         desret_xmlNodePtr(ret_val);
   21182         call_tests++;
   21183         des_xmlDocPtr(n_doc, doc, 0);
   21184         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   21185         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
   21186         xmlResetLastError();
   21187         if (mem_base != xmlMemBlocks()) {
   21188             printf("Leak of %d blocks found in xmlNewDocPI",
   21189 	           xmlMemBlocks() - mem_base);
   21190 	    test_ret++;
   21191             printf(" %d", n_doc);
   21192             printf(" %d", n_name);
   21193             printf(" %d", n_content);
   21194             printf("\n");
   21195         }
   21196     }
   21197     }
   21198     }
   21199     function_tests++;
   21200 
   21201     return(test_ret);
   21202 }
   21203 
   21204 
   21205 static int
   21206 test_xmlNewDocProp(void) {
   21207     int test_ret = 0;
   21208 
   21209     int mem_base;
   21210     xmlAttrPtr ret_val;
   21211     xmlDocPtr doc; /* the document */
   21212     int n_doc;
   21213     xmlChar * name; /* the name of the attribute */
   21214     int n_name;
   21215     xmlChar * value; /* the value of the attribute */
   21216     int n_value;
   21217 
   21218     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21219     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21220     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   21221         mem_base = xmlMemBlocks();
   21222         doc = gen_xmlDocPtr(n_doc, 0);
   21223         name = gen_const_xmlChar_ptr(n_name, 1);
   21224         value = gen_const_xmlChar_ptr(n_value, 2);
   21225 
   21226         ret_val = xmlNewDocProp(doc, (const xmlChar *)name, (const xmlChar *)value);
   21227         desret_xmlAttrPtr(ret_val);
   21228         call_tests++;
   21229         des_xmlDocPtr(n_doc, doc, 0);
   21230         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   21231         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
   21232         xmlResetLastError();
   21233         if (mem_base != xmlMemBlocks()) {
   21234             printf("Leak of %d blocks found in xmlNewDocProp",
   21235 	           xmlMemBlocks() - mem_base);
   21236 	    test_ret++;
   21237             printf(" %d", n_doc);
   21238             printf(" %d", n_name);
   21239             printf(" %d", n_value);
   21240             printf("\n");
   21241         }
   21242     }
   21243     }
   21244     }
   21245     function_tests++;
   21246 
   21247     return(test_ret);
   21248 }
   21249 
   21250 
   21251 static int
   21252 test_xmlNewDocRawNode(void) {
   21253     int test_ret = 0;
   21254 
   21255 #if defined(LIBXML_TREE_ENABLED)
   21256 #ifdef LIBXML_TREE_ENABLED
   21257     int mem_base;
   21258     xmlNodePtr ret_val;
   21259     xmlDocPtr doc; /* the document */
   21260     int n_doc;
   21261     xmlNsPtr ns; /* namespace if any */
   21262     int n_ns;
   21263     xmlChar * name; /* the node name */
   21264     int n_name;
   21265     xmlChar * content; /* the text content if any */
   21266     int n_content;
   21267 
   21268     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21269     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21270     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21271     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21272         mem_base = xmlMemBlocks();
   21273         doc = gen_xmlDocPtr(n_doc, 0);
   21274         ns = gen_xmlNsPtr(n_ns, 1);
   21275         name = gen_const_xmlChar_ptr(n_name, 2);
   21276         content = gen_const_xmlChar_ptr(n_content, 3);
   21277 
   21278         ret_val = xmlNewDocRawNode(doc, ns, (const xmlChar *)name, (const xmlChar *)content);
   21279         desret_xmlNodePtr(ret_val);
   21280         call_tests++;
   21281         des_xmlDocPtr(n_doc, doc, 0);
   21282         des_xmlNsPtr(n_ns, ns, 1);
   21283         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   21284         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
   21285         xmlResetLastError();
   21286         if (mem_base != xmlMemBlocks()) {
   21287             printf("Leak of %d blocks found in xmlNewDocRawNode",
   21288 	           xmlMemBlocks() - mem_base);
   21289 	    test_ret++;
   21290             printf(" %d", n_doc);
   21291             printf(" %d", n_ns);
   21292             printf(" %d", n_name);
   21293             printf(" %d", n_content);
   21294             printf("\n");
   21295         }
   21296     }
   21297     }
   21298     }
   21299     }
   21300     function_tests++;
   21301 #endif
   21302 #endif
   21303 
   21304     return(test_ret);
   21305 }
   21306 
   21307 
   21308 static int
   21309 test_xmlNewDocText(void) {
   21310     int test_ret = 0;
   21311 
   21312     int mem_base;
   21313     xmlNodePtr ret_val;
   21314     xmlDocPtr doc; /* the document */
   21315     int n_doc;
   21316     xmlChar * content; /* the text content */
   21317     int n_content;
   21318 
   21319     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21320     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21321         mem_base = xmlMemBlocks();
   21322         doc = gen_xmlDocPtr(n_doc, 0);
   21323         content = gen_const_xmlChar_ptr(n_content, 1);
   21324 
   21325         ret_val = xmlNewDocText(doc, (const xmlChar *)content);
   21326         desret_xmlNodePtr(ret_val);
   21327         call_tests++;
   21328         des_xmlDocPtr(n_doc, doc, 0);
   21329         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   21330         xmlResetLastError();
   21331         if (mem_base != xmlMemBlocks()) {
   21332             printf("Leak of %d blocks found in xmlNewDocText",
   21333 	           xmlMemBlocks() - mem_base);
   21334 	    test_ret++;
   21335             printf(" %d", n_doc);
   21336             printf(" %d", n_content);
   21337             printf("\n");
   21338         }
   21339     }
   21340     }
   21341     function_tests++;
   21342 
   21343     return(test_ret);
   21344 }
   21345 
   21346 
   21347 static int
   21348 test_xmlNewDocTextLen(void) {
   21349     int test_ret = 0;
   21350 
   21351     int mem_base;
   21352     xmlNodePtr ret_val;
   21353     xmlDocPtr doc; /* the document */
   21354     int n_doc;
   21355     xmlChar * content; /* the text content */
   21356     int n_content;
   21357     int len; /* the text len. */
   21358     int n_len;
   21359 
   21360     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21361     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21362     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   21363         mem_base = xmlMemBlocks();
   21364         doc = gen_xmlDocPtr(n_doc, 0);
   21365         content = gen_const_xmlChar_ptr(n_content, 1);
   21366         len = gen_int(n_len, 2);
   21367 
   21368         ret_val = xmlNewDocTextLen(doc, (const xmlChar *)content, len);
   21369         desret_xmlNodePtr(ret_val);
   21370         call_tests++;
   21371         des_xmlDocPtr(n_doc, doc, 0);
   21372         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   21373         des_int(n_len, len, 2);
   21374         xmlResetLastError();
   21375         if (mem_base != xmlMemBlocks()) {
   21376             printf("Leak of %d blocks found in xmlNewDocTextLen",
   21377 	           xmlMemBlocks() - mem_base);
   21378 	    test_ret++;
   21379             printf(" %d", n_doc);
   21380             printf(" %d", n_content);
   21381             printf(" %d", n_len);
   21382             printf("\n");
   21383         }
   21384     }
   21385     }
   21386     }
   21387     function_tests++;
   21388 
   21389     return(test_ret);
   21390 }
   21391 
   21392 
   21393 static int
   21394 test_xmlNewDtd(void) {
   21395     int test_ret = 0;
   21396 
   21397     int mem_base;
   21398     xmlDtdPtr ret_val;
   21399     xmlDocPtr doc; /* the document pointer */
   21400     int n_doc;
   21401     xmlChar * name; /* the DTD name */
   21402     int n_name;
   21403     xmlChar * ExternalID; /* the external ID */
   21404     int n_ExternalID;
   21405     xmlChar * SystemID; /* the system ID */
   21406     int n_SystemID;
   21407 
   21408     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21409     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21410     for (n_ExternalID = 0;n_ExternalID < gen_nb_const_xmlChar_ptr;n_ExternalID++) {
   21411     for (n_SystemID = 0;n_SystemID < gen_nb_const_xmlChar_ptr;n_SystemID++) {
   21412         mem_base = xmlMemBlocks();
   21413         doc = gen_xmlDocPtr(n_doc, 0);
   21414         name = gen_const_xmlChar_ptr(n_name, 1);
   21415         ExternalID = gen_const_xmlChar_ptr(n_ExternalID, 2);
   21416         SystemID = gen_const_xmlChar_ptr(n_SystemID, 3);
   21417 
   21418         ret_val = xmlNewDtd(doc, (const xmlChar *)name, (const xmlChar *)ExternalID, (const xmlChar *)SystemID);
   21419         desret_xmlDtdPtr(ret_val);
   21420         call_tests++;
   21421         des_xmlDocPtr(n_doc, doc, 0);
   21422         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   21423         des_const_xmlChar_ptr(n_ExternalID, (const xmlChar *)ExternalID, 2);
   21424         des_const_xmlChar_ptr(n_SystemID, (const xmlChar *)SystemID, 3);
   21425         xmlResetLastError();
   21426         if (mem_base != xmlMemBlocks()) {
   21427             printf("Leak of %d blocks found in xmlNewDtd",
   21428 	           xmlMemBlocks() - mem_base);
   21429 	    test_ret++;
   21430             printf(" %d", n_doc);
   21431             printf(" %d", n_name);
   21432             printf(" %d", n_ExternalID);
   21433             printf(" %d", n_SystemID);
   21434             printf("\n");
   21435         }
   21436     }
   21437     }
   21438     }
   21439     }
   21440     function_tests++;
   21441 
   21442     return(test_ret);
   21443 }
   21444 
   21445 
   21446 static int
   21447 test_xmlNewNode(void) {
   21448     int test_ret = 0;
   21449 
   21450     int mem_base;
   21451     xmlNodePtr ret_val;
   21452     xmlNsPtr ns; /* namespace if any */
   21453     int n_ns;
   21454     xmlChar * name; /* the node name */
   21455     int n_name;
   21456 
   21457     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21458     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21459         mem_base = xmlMemBlocks();
   21460         ns = gen_xmlNsPtr(n_ns, 0);
   21461         name = gen_const_xmlChar_ptr(n_name, 1);
   21462 
   21463         ret_val = xmlNewNode(ns, (const xmlChar *)name);
   21464         desret_xmlNodePtr(ret_val);
   21465         call_tests++;
   21466         des_xmlNsPtr(n_ns, ns, 0);
   21467         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   21468         xmlResetLastError();
   21469         if (mem_base != xmlMemBlocks()) {
   21470             printf("Leak of %d blocks found in xmlNewNode",
   21471 	           xmlMemBlocks() - mem_base);
   21472 	    test_ret++;
   21473             printf(" %d", n_ns);
   21474             printf(" %d", n_name);
   21475             printf("\n");
   21476         }
   21477     }
   21478     }
   21479     function_tests++;
   21480 
   21481     return(test_ret);
   21482 }
   21483 
   21484 
   21485 static int
   21486 test_xmlNewNodeEatName(void) {
   21487     int test_ret = 0;
   21488 
   21489     int mem_base;
   21490     xmlNodePtr ret_val;
   21491     xmlNsPtr ns; /* namespace if any */
   21492     int n_ns;
   21493     xmlChar * name; /* the node name */
   21494     int n_name;
   21495 
   21496     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21497     for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
   21498         mem_base = xmlMemBlocks();
   21499         ns = gen_xmlNsPtr(n_ns, 0);
   21500         name = gen_eaten_name(n_name, 1);
   21501 
   21502         ret_val = xmlNewNodeEatName(ns, name);
   21503         desret_xmlNodePtr(ret_val);
   21504         call_tests++;
   21505         des_xmlNsPtr(n_ns, ns, 0);
   21506         des_eaten_name(n_name, name, 1);
   21507         xmlResetLastError();
   21508         if (mem_base != xmlMemBlocks()) {
   21509             printf("Leak of %d blocks found in xmlNewNodeEatName",
   21510 	           xmlMemBlocks() - mem_base);
   21511 	    test_ret++;
   21512             printf(" %d", n_ns);
   21513             printf(" %d", n_name);
   21514             printf("\n");
   21515         }
   21516     }
   21517     }
   21518     function_tests++;
   21519 
   21520     return(test_ret);
   21521 }
   21522 
   21523 
   21524 static int
   21525 test_xmlNewNs(void) {
   21526     int test_ret = 0;
   21527 
   21528     int mem_base;
   21529     xmlNsPtr ret_val;
   21530     xmlNodePtr node; /* the element carrying the namespace */
   21531     int n_node;
   21532     xmlChar * href; /* the URI associated */
   21533     int n_href;
   21534     xmlChar * prefix; /* the prefix for the namespace */
   21535     int n_prefix;
   21536 
   21537     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   21538     for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
   21539     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   21540         mem_base = xmlMemBlocks();
   21541         node = gen_xmlNodePtr(n_node, 0);
   21542         href = gen_const_xmlChar_ptr(n_href, 1);
   21543         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
   21544 
   21545         ret_val = xmlNewNs(node, (const xmlChar *)href, (const xmlChar *)prefix);
   21546         if ((node == NULL) && (ret_val != NULL)) xmlFreeNs(ret_val);
   21547         desret_xmlNsPtr(ret_val);
   21548         call_tests++;
   21549         des_xmlNodePtr(n_node, node, 0);
   21550         des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 1);
   21551         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
   21552         xmlResetLastError();
   21553         if (mem_base != xmlMemBlocks()) {
   21554             printf("Leak of %d blocks found in xmlNewNs",
   21555 	           xmlMemBlocks() - mem_base);
   21556 	    test_ret++;
   21557             printf(" %d", n_node);
   21558             printf(" %d", n_href);
   21559             printf(" %d", n_prefix);
   21560             printf("\n");
   21561         }
   21562     }
   21563     }
   21564     }
   21565     function_tests++;
   21566 
   21567     return(test_ret);
   21568 }
   21569 
   21570 
   21571 static int
   21572 test_xmlNewNsProp(void) {
   21573     int test_ret = 0;
   21574 
   21575     int mem_base;
   21576     xmlAttrPtr ret_val;
   21577     xmlNodePtr node; /* the holding node */
   21578     int n_node;
   21579     xmlNsPtr ns; /* the namespace */
   21580     int n_ns;
   21581     xmlChar * name; /* the name of the attribute */
   21582     int n_name;
   21583     xmlChar * value; /* the value of the attribute */
   21584     int n_value;
   21585 
   21586     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   21587     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21588     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21589     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   21590         mem_base = xmlMemBlocks();
   21591         node = gen_xmlNodePtr(n_node, 0);
   21592         ns = gen_xmlNsPtr(n_ns, 1);
   21593         name = gen_const_xmlChar_ptr(n_name, 2);
   21594         value = gen_const_xmlChar_ptr(n_value, 3);
   21595 
   21596         ret_val = xmlNewNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
   21597         desret_xmlAttrPtr(ret_val);
   21598         call_tests++;
   21599         des_xmlNodePtr(n_node, node, 0);
   21600         des_xmlNsPtr(n_ns, ns, 1);
   21601         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   21602         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
   21603         xmlResetLastError();
   21604         if (mem_base != xmlMemBlocks()) {
   21605             printf("Leak of %d blocks found in xmlNewNsProp",
   21606 	           xmlMemBlocks() - mem_base);
   21607 	    test_ret++;
   21608             printf(" %d", n_node);
   21609             printf(" %d", n_ns);
   21610             printf(" %d", n_name);
   21611             printf(" %d", n_value);
   21612             printf("\n");
   21613         }
   21614     }
   21615     }
   21616     }
   21617     }
   21618     function_tests++;
   21619 
   21620     return(test_ret);
   21621 }
   21622 
   21623 
   21624 static int
   21625 test_xmlNewNsPropEatName(void) {
   21626     int test_ret = 0;
   21627 
   21628     int mem_base;
   21629     xmlAttrPtr ret_val;
   21630     xmlNodePtr node; /* the holding node */
   21631     int n_node;
   21632     xmlNsPtr ns; /* the namespace */
   21633     int n_ns;
   21634     xmlChar * name; /* the name of the attribute */
   21635     int n_name;
   21636     xmlChar * value; /* the value of the attribute */
   21637     int n_value;
   21638 
   21639     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   21640     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21641     for (n_name = 0;n_name < gen_nb_eaten_name;n_name++) {
   21642     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   21643         mem_base = xmlMemBlocks();
   21644         node = gen_xmlNodePtr(n_node, 0);
   21645         ns = gen_xmlNsPtr(n_ns, 1);
   21646         name = gen_eaten_name(n_name, 2);
   21647         value = gen_const_xmlChar_ptr(n_value, 3);
   21648 
   21649         ret_val = xmlNewNsPropEatName(node, ns, name, (const xmlChar *)value);
   21650         desret_xmlAttrPtr(ret_val);
   21651         call_tests++;
   21652         des_xmlNodePtr(n_node, node, 0);
   21653         des_xmlNsPtr(n_ns, ns, 1);
   21654         des_eaten_name(n_name, name, 2);
   21655         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
   21656         xmlResetLastError();
   21657         if (mem_base != xmlMemBlocks()) {
   21658             printf("Leak of %d blocks found in xmlNewNsPropEatName",
   21659 	           xmlMemBlocks() - mem_base);
   21660 	    test_ret++;
   21661             printf(" %d", n_node);
   21662             printf(" %d", n_ns);
   21663             printf(" %d", n_name);
   21664             printf(" %d", n_value);
   21665             printf("\n");
   21666         }
   21667     }
   21668     }
   21669     }
   21670     }
   21671     function_tests++;
   21672 
   21673     return(test_ret);
   21674 }
   21675 
   21676 
   21677 static int
   21678 test_xmlNewPI(void) {
   21679     int test_ret = 0;
   21680 
   21681     int mem_base;
   21682     xmlNodePtr ret_val;
   21683     xmlChar * name; /* the processing instruction name */
   21684     int n_name;
   21685     xmlChar * content; /* the PI content */
   21686     int n_content;
   21687 
   21688     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21689     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21690         mem_base = xmlMemBlocks();
   21691         name = gen_const_xmlChar_ptr(n_name, 0);
   21692         content = gen_const_xmlChar_ptr(n_content, 1);
   21693 
   21694         ret_val = xmlNewPI((const xmlChar *)name, (const xmlChar *)content);
   21695         desret_xmlNodePtr(ret_val);
   21696         call_tests++;
   21697         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   21698         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   21699         xmlResetLastError();
   21700         if (mem_base != xmlMemBlocks()) {
   21701             printf("Leak of %d blocks found in xmlNewPI",
   21702 	           xmlMemBlocks() - mem_base);
   21703 	    test_ret++;
   21704             printf(" %d", n_name);
   21705             printf(" %d", n_content);
   21706             printf("\n");
   21707         }
   21708     }
   21709     }
   21710     function_tests++;
   21711 
   21712     return(test_ret);
   21713 }
   21714 
   21715 
   21716 static int
   21717 test_xmlNewProp(void) {
   21718     int test_ret = 0;
   21719 
   21720 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   21721 #ifdef LIBXML_TREE_ENABLED
   21722     int mem_base;
   21723     xmlAttrPtr ret_val;
   21724     xmlNodePtr node; /* the holding node */
   21725     int n_node;
   21726     xmlChar * name; /* the name of the attribute */
   21727     int n_name;
   21728     xmlChar * value; /* the value of the attribute */
   21729     int n_value;
   21730 
   21731     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   21732     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21733     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   21734         mem_base = xmlMemBlocks();
   21735         node = gen_xmlNodePtr(n_node, 0);
   21736         name = gen_const_xmlChar_ptr(n_name, 1);
   21737         value = gen_const_xmlChar_ptr(n_value, 2);
   21738 
   21739         ret_val = xmlNewProp(node, (const xmlChar *)name, (const xmlChar *)value);
   21740         desret_xmlAttrPtr(ret_val);
   21741         call_tests++;
   21742         des_xmlNodePtr(n_node, node, 0);
   21743         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   21744         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
   21745         xmlResetLastError();
   21746         if (mem_base != xmlMemBlocks()) {
   21747             printf("Leak of %d blocks found in xmlNewProp",
   21748 	           xmlMemBlocks() - mem_base);
   21749 	    test_ret++;
   21750             printf(" %d", n_node);
   21751             printf(" %d", n_name);
   21752             printf(" %d", n_value);
   21753             printf("\n");
   21754         }
   21755     }
   21756     }
   21757     }
   21758     function_tests++;
   21759 #endif
   21760 #endif
   21761 
   21762     return(test_ret);
   21763 }
   21764 
   21765 
   21766 static int
   21767 test_xmlNewReference(void) {
   21768     int test_ret = 0;
   21769 
   21770     int mem_base;
   21771     xmlNodePtr ret_val;
   21772     xmlDocPtr doc; /* the document */
   21773     int n_doc;
   21774     xmlChar * name; /* the reference name, or the reference string with & and ; */
   21775     int n_name;
   21776 
   21777     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   21778     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21779         mem_base = xmlMemBlocks();
   21780         doc = gen_xmlDocPtr(n_doc, 0);
   21781         name = gen_const_xmlChar_ptr(n_name, 1);
   21782 
   21783         ret_val = xmlNewReference(doc, (const xmlChar *)name);
   21784         desret_xmlNodePtr(ret_val);
   21785         call_tests++;
   21786         des_xmlDocPtr(n_doc, doc, 0);
   21787         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   21788         xmlResetLastError();
   21789         if (mem_base != xmlMemBlocks()) {
   21790             printf("Leak of %d blocks found in xmlNewReference",
   21791 	           xmlMemBlocks() - mem_base);
   21792 	    test_ret++;
   21793             printf(" %d", n_doc);
   21794             printf(" %d", n_name);
   21795             printf("\n");
   21796         }
   21797     }
   21798     }
   21799     function_tests++;
   21800 
   21801     return(test_ret);
   21802 }
   21803 
   21804 
   21805 static int
   21806 test_xmlNewText(void) {
   21807     int test_ret = 0;
   21808 
   21809     int mem_base;
   21810     xmlNodePtr ret_val;
   21811     xmlChar * content; /* the text content */
   21812     int n_content;
   21813 
   21814     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21815         mem_base = xmlMemBlocks();
   21816         content = gen_const_xmlChar_ptr(n_content, 0);
   21817 
   21818         ret_val = xmlNewText((const xmlChar *)content);
   21819         desret_xmlNodePtr(ret_val);
   21820         call_tests++;
   21821         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
   21822         xmlResetLastError();
   21823         if (mem_base != xmlMemBlocks()) {
   21824             printf("Leak of %d blocks found in xmlNewText",
   21825 	           xmlMemBlocks() - mem_base);
   21826 	    test_ret++;
   21827             printf(" %d", n_content);
   21828             printf("\n");
   21829         }
   21830     }
   21831     function_tests++;
   21832 
   21833     return(test_ret);
   21834 }
   21835 
   21836 
   21837 static int
   21838 test_xmlNewTextChild(void) {
   21839     int test_ret = 0;
   21840 
   21841 #if defined(LIBXML_TREE_ENABLED)
   21842 #ifdef LIBXML_TREE_ENABLED
   21843     int mem_base;
   21844     xmlNodePtr ret_val;
   21845     xmlNodePtr parent; /* the parent node */
   21846     int n_parent;
   21847     xmlNsPtr ns; /* a namespace if any */
   21848     int n_ns;
   21849     xmlChar * name; /* the name of the child */
   21850     int n_name;
   21851     xmlChar * content; /* the text content of the child if any. */
   21852     int n_content;
   21853 
   21854     for (n_parent = 0;n_parent < gen_nb_xmlNodePtr;n_parent++) {
   21855     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   21856     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   21857     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21858         mem_base = xmlMemBlocks();
   21859         parent = gen_xmlNodePtr(n_parent, 0);
   21860         ns = gen_xmlNsPtr(n_ns, 1);
   21861         name = gen_const_xmlChar_ptr(n_name, 2);
   21862         content = gen_const_xmlChar_ptr(n_content, 3);
   21863 
   21864         ret_val = xmlNewTextChild(parent, ns, (const xmlChar *)name, (const xmlChar *)content);
   21865         desret_xmlNodePtr(ret_val);
   21866         call_tests++;
   21867         des_xmlNodePtr(n_parent, parent, 0);
   21868         des_xmlNsPtr(n_ns, ns, 1);
   21869         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   21870         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
   21871         xmlResetLastError();
   21872         if (mem_base != xmlMemBlocks()) {
   21873             printf("Leak of %d blocks found in xmlNewTextChild",
   21874 	           xmlMemBlocks() - mem_base);
   21875 	    test_ret++;
   21876             printf(" %d", n_parent);
   21877             printf(" %d", n_ns);
   21878             printf(" %d", n_name);
   21879             printf(" %d", n_content);
   21880             printf("\n");
   21881         }
   21882     }
   21883     }
   21884     }
   21885     }
   21886     function_tests++;
   21887 #endif
   21888 #endif
   21889 
   21890     return(test_ret);
   21891 }
   21892 
   21893 
   21894 static int
   21895 test_xmlNewTextLen(void) {
   21896     int test_ret = 0;
   21897 
   21898     int mem_base;
   21899     xmlNodePtr ret_val;
   21900     xmlChar * content; /* the text content */
   21901     int n_content;
   21902     int len; /* the text len. */
   21903     int n_len;
   21904 
   21905     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21906     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   21907         mem_base = xmlMemBlocks();
   21908         content = gen_const_xmlChar_ptr(n_content, 0);
   21909         len = gen_int(n_len, 1);
   21910 
   21911         ret_val = xmlNewTextLen((const xmlChar *)content, len);
   21912         desret_xmlNodePtr(ret_val);
   21913         call_tests++;
   21914         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 0);
   21915         des_int(n_len, len, 1);
   21916         xmlResetLastError();
   21917         if (mem_base != xmlMemBlocks()) {
   21918             printf("Leak of %d blocks found in xmlNewTextLen",
   21919 	           xmlMemBlocks() - mem_base);
   21920 	    test_ret++;
   21921             printf(" %d", n_content);
   21922             printf(" %d", n_len);
   21923             printf("\n");
   21924         }
   21925     }
   21926     }
   21927     function_tests++;
   21928 
   21929     return(test_ret);
   21930 }
   21931 
   21932 
   21933 static int
   21934 test_xmlNextElementSibling(void) {
   21935     int test_ret = 0;
   21936 
   21937 #if defined(LIBXML_TREE_ENABLED)
   21938     int mem_base;
   21939     xmlNodePtr ret_val;
   21940     xmlNodePtr node; /* the current node */
   21941     int n_node;
   21942 
   21943     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   21944         mem_base = xmlMemBlocks();
   21945         node = gen_xmlNodePtr(n_node, 0);
   21946 
   21947         ret_val = xmlNextElementSibling(node);
   21948         desret_xmlNodePtr(ret_val);
   21949         call_tests++;
   21950         des_xmlNodePtr(n_node, node, 0);
   21951         xmlResetLastError();
   21952         if (mem_base != xmlMemBlocks()) {
   21953             printf("Leak of %d blocks found in xmlNextElementSibling",
   21954 	           xmlMemBlocks() - mem_base);
   21955 	    test_ret++;
   21956             printf(" %d", n_node);
   21957             printf("\n");
   21958         }
   21959     }
   21960     function_tests++;
   21961 #endif
   21962 
   21963     return(test_ret);
   21964 }
   21965 
   21966 
   21967 static int
   21968 test_xmlNodeAddContent(void) {
   21969     int test_ret = 0;
   21970 
   21971     int mem_base;
   21972     xmlNodePtr cur; /* the node being modified */
   21973     int n_cur;
   21974     xmlChar * content; /* extra content */
   21975     int n_content;
   21976 
   21977     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   21978     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   21979         mem_base = xmlMemBlocks();
   21980         cur = gen_xmlNodePtr(n_cur, 0);
   21981         content = gen_const_xmlChar_ptr(n_content, 1);
   21982 
   21983         xmlNodeAddContent(cur, (const xmlChar *)content);
   21984         call_tests++;
   21985         des_xmlNodePtr(n_cur, cur, 0);
   21986         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   21987         xmlResetLastError();
   21988         if (mem_base != xmlMemBlocks()) {
   21989             printf("Leak of %d blocks found in xmlNodeAddContent",
   21990 	           xmlMemBlocks() - mem_base);
   21991 	    test_ret++;
   21992             printf(" %d", n_cur);
   21993             printf(" %d", n_content);
   21994             printf("\n");
   21995         }
   21996     }
   21997     }
   21998     function_tests++;
   21999 
   22000     return(test_ret);
   22001 }
   22002 
   22003 
   22004 static int
   22005 test_xmlNodeAddContentLen(void) {
   22006     int test_ret = 0;
   22007 
   22008     int mem_base;
   22009     xmlNodePtr cur; /* the node being modified */
   22010     int n_cur;
   22011     xmlChar * content; /* extra content */
   22012     int n_content;
   22013     int len; /* the size of @content */
   22014     int n_len;
   22015 
   22016     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22017     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   22018     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   22019         mem_base = xmlMemBlocks();
   22020         cur = gen_xmlNodePtr(n_cur, 0);
   22021         content = gen_const_xmlChar_ptr(n_content, 1);
   22022         len = gen_int(n_len, 2);
   22023 
   22024         xmlNodeAddContentLen(cur, (const xmlChar *)content, len);
   22025         call_tests++;
   22026         des_xmlNodePtr(n_cur, cur, 0);
   22027         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   22028         des_int(n_len, len, 2);
   22029         xmlResetLastError();
   22030         if (mem_base != xmlMemBlocks()) {
   22031             printf("Leak of %d blocks found in xmlNodeAddContentLen",
   22032 	           xmlMemBlocks() - mem_base);
   22033 	    test_ret++;
   22034             printf(" %d", n_cur);
   22035             printf(" %d", n_content);
   22036             printf(" %d", n_len);
   22037             printf("\n");
   22038         }
   22039     }
   22040     }
   22041     }
   22042     function_tests++;
   22043 
   22044     return(test_ret);
   22045 }
   22046 
   22047 
   22048 static int
   22049 test_xmlNodeBufGetContent(void) {
   22050     int test_ret = 0;
   22051 
   22052     int mem_base;
   22053     int ret_val;
   22054     xmlBufferPtr buffer; /* a buffer */
   22055     int n_buffer;
   22056     xmlNodePtr cur; /* the node being read */
   22057     int n_cur;
   22058 
   22059     for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
   22060     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22061         mem_base = xmlMemBlocks();
   22062         buffer = gen_xmlBufferPtr(n_buffer, 0);
   22063         cur = gen_xmlNodePtr(n_cur, 1);
   22064 
   22065         ret_val = xmlNodeBufGetContent(buffer, cur);
   22066         desret_int(ret_val);
   22067         call_tests++;
   22068         des_xmlBufferPtr(n_buffer, buffer, 0);
   22069         des_xmlNodePtr(n_cur, cur, 1);
   22070         xmlResetLastError();
   22071         if (mem_base != xmlMemBlocks()) {
   22072             printf("Leak of %d blocks found in xmlNodeBufGetContent",
   22073 	           xmlMemBlocks() - mem_base);
   22074 	    test_ret++;
   22075             printf(" %d", n_buffer);
   22076             printf(" %d", n_cur);
   22077             printf("\n");
   22078         }
   22079     }
   22080     }
   22081     function_tests++;
   22082 
   22083     return(test_ret);
   22084 }
   22085 
   22086 
   22087 static int
   22088 test_xmlNodeDump(void) {
   22089     int test_ret = 0;
   22090 
   22091 #if defined(LIBXML_OUTPUT_ENABLED)
   22092     int mem_base;
   22093     int ret_val;
   22094     xmlBufferPtr buf; /* the XML buffer output */
   22095     int n_buf;
   22096     xmlDocPtr doc; /* the document */
   22097     int n_doc;
   22098     xmlNodePtr cur; /* the current node */
   22099     int n_cur;
   22100     int level; /* the imbrication level for indenting */
   22101     int n_level;
   22102     int format; /* is formatting allowed */
   22103     int n_format;
   22104 
   22105     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   22106     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   22107     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22108     for (n_level = 0;n_level < gen_nb_int;n_level++) {
   22109     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   22110         mem_base = xmlMemBlocks();
   22111         buf = gen_xmlBufferPtr(n_buf, 0);
   22112         doc = gen_xmlDocPtr(n_doc, 1);
   22113         cur = gen_xmlNodePtr(n_cur, 2);
   22114         level = gen_int(n_level, 3);
   22115         format = gen_int(n_format, 4);
   22116 
   22117         ret_val = xmlNodeDump(buf, doc, cur, level, format);
   22118         desret_int(ret_val);
   22119         call_tests++;
   22120         des_xmlBufferPtr(n_buf, buf, 0);
   22121         des_xmlDocPtr(n_doc, doc, 1);
   22122         des_xmlNodePtr(n_cur, cur, 2);
   22123         des_int(n_level, level, 3);
   22124         des_int(n_format, format, 4);
   22125         xmlResetLastError();
   22126         if (mem_base != xmlMemBlocks()) {
   22127             printf("Leak of %d blocks found in xmlNodeDump",
   22128 	           xmlMemBlocks() - mem_base);
   22129 	    test_ret++;
   22130             printf(" %d", n_buf);
   22131             printf(" %d", n_doc);
   22132             printf(" %d", n_cur);
   22133             printf(" %d", n_level);
   22134             printf(" %d", n_format);
   22135             printf("\n");
   22136         }
   22137     }
   22138     }
   22139     }
   22140     }
   22141     }
   22142     function_tests++;
   22143 #endif
   22144 
   22145     return(test_ret);
   22146 }
   22147 
   22148 
   22149 static int
   22150 test_xmlNodeDumpOutput(void) {
   22151     int test_ret = 0;
   22152 
   22153 #if defined(LIBXML_OUTPUT_ENABLED)
   22154     int mem_base;
   22155     xmlOutputBufferPtr buf; /* the XML buffer output */
   22156     int n_buf;
   22157     xmlDocPtr doc; /* the document */
   22158     int n_doc;
   22159     xmlNodePtr cur; /* the current node */
   22160     int n_cur;
   22161     int level; /* the imbrication level for indenting */
   22162     int n_level;
   22163     int format; /* is formatting allowed */
   22164     int n_format;
   22165     char * encoding; /* an optional encoding string */
   22166     int n_encoding;
   22167 
   22168     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   22169     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   22170     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22171     for (n_level = 0;n_level < gen_nb_int;n_level++) {
   22172     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   22173     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   22174         mem_base = xmlMemBlocks();
   22175         buf = gen_xmlOutputBufferPtr(n_buf, 0);
   22176         doc = gen_xmlDocPtr(n_doc, 1);
   22177         cur = gen_xmlNodePtr(n_cur, 2);
   22178         level = gen_int(n_level, 3);
   22179         format = gen_int(n_format, 4);
   22180         encoding = gen_const_char_ptr(n_encoding, 5);
   22181 
   22182         xmlNodeDumpOutput(buf, doc, cur, level, format, (const char *)encoding);
   22183         call_tests++;
   22184         des_xmlOutputBufferPtr(n_buf, buf, 0);
   22185         des_xmlDocPtr(n_doc, doc, 1);
   22186         des_xmlNodePtr(n_cur, cur, 2);
   22187         des_int(n_level, level, 3);
   22188         des_int(n_format, format, 4);
   22189         des_const_char_ptr(n_encoding, (const char *)encoding, 5);
   22190         xmlResetLastError();
   22191         if (mem_base != xmlMemBlocks()) {
   22192             printf("Leak of %d blocks found in xmlNodeDumpOutput",
   22193 	           xmlMemBlocks() - mem_base);
   22194 	    test_ret++;
   22195             printf(" %d", n_buf);
   22196             printf(" %d", n_doc);
   22197             printf(" %d", n_cur);
   22198             printf(" %d", n_level);
   22199             printf(" %d", n_format);
   22200             printf(" %d", n_encoding);
   22201             printf("\n");
   22202         }
   22203     }
   22204     }
   22205     }
   22206     }
   22207     }
   22208     }
   22209     function_tests++;
   22210 #endif
   22211 
   22212     return(test_ret);
   22213 }
   22214 
   22215 
   22216 static int
   22217 test_xmlNodeGetBase(void) {
   22218     int test_ret = 0;
   22219 
   22220     int mem_base;
   22221     xmlChar * ret_val;
   22222     xmlDocPtr doc; /* the document the node pertains to */
   22223     int n_doc;
   22224     xmlNodePtr cur; /* the node being checked */
   22225     int n_cur;
   22226 
   22227     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   22228     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22229         mem_base = xmlMemBlocks();
   22230         doc = gen_xmlDocPtr(n_doc, 0);
   22231         cur = gen_xmlNodePtr(n_cur, 1);
   22232 
   22233         ret_val = xmlNodeGetBase(doc, cur);
   22234         desret_xmlChar_ptr(ret_val);
   22235         call_tests++;
   22236         des_xmlDocPtr(n_doc, doc, 0);
   22237         des_xmlNodePtr(n_cur, cur, 1);
   22238         xmlResetLastError();
   22239         if (mem_base != xmlMemBlocks()) {
   22240             printf("Leak of %d blocks found in xmlNodeGetBase",
   22241 	           xmlMemBlocks() - mem_base);
   22242 	    test_ret++;
   22243             printf(" %d", n_doc);
   22244             printf(" %d", n_cur);
   22245             printf("\n");
   22246         }
   22247     }
   22248     }
   22249     function_tests++;
   22250 
   22251     return(test_ret);
   22252 }
   22253 
   22254 
   22255 static int
   22256 test_xmlNodeGetContent(void) {
   22257     int test_ret = 0;
   22258 
   22259     int mem_base;
   22260     xmlChar * ret_val;
   22261     xmlNodePtr cur; /* the node being read */
   22262     int n_cur;
   22263 
   22264     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22265         mem_base = xmlMemBlocks();
   22266         cur = gen_xmlNodePtr(n_cur, 0);
   22267 
   22268         ret_val = xmlNodeGetContent(cur);
   22269         desret_xmlChar_ptr(ret_val);
   22270         call_tests++;
   22271         des_xmlNodePtr(n_cur, cur, 0);
   22272         xmlResetLastError();
   22273         if (mem_base != xmlMemBlocks()) {
   22274             printf("Leak of %d blocks found in xmlNodeGetContent",
   22275 	           xmlMemBlocks() - mem_base);
   22276 	    test_ret++;
   22277             printf(" %d", n_cur);
   22278             printf("\n");
   22279         }
   22280     }
   22281     function_tests++;
   22282 
   22283     return(test_ret);
   22284 }
   22285 
   22286 
   22287 static int
   22288 test_xmlNodeGetLang(void) {
   22289     int test_ret = 0;
   22290 
   22291     int mem_base;
   22292     xmlChar * ret_val;
   22293     xmlNodePtr cur; /* the node being checked */
   22294     int n_cur;
   22295 
   22296     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22297         mem_base = xmlMemBlocks();
   22298         cur = gen_xmlNodePtr(n_cur, 0);
   22299 
   22300         ret_val = xmlNodeGetLang(cur);
   22301         desret_xmlChar_ptr(ret_val);
   22302         call_tests++;
   22303         des_xmlNodePtr(n_cur, cur, 0);
   22304         xmlResetLastError();
   22305         if (mem_base != xmlMemBlocks()) {
   22306             printf("Leak of %d blocks found in xmlNodeGetLang",
   22307 	           xmlMemBlocks() - mem_base);
   22308 	    test_ret++;
   22309             printf(" %d", n_cur);
   22310             printf("\n");
   22311         }
   22312     }
   22313     function_tests++;
   22314 
   22315     return(test_ret);
   22316 }
   22317 
   22318 
   22319 static int
   22320 test_xmlNodeGetSpacePreserve(void) {
   22321     int test_ret = 0;
   22322 
   22323     int mem_base;
   22324     int ret_val;
   22325     xmlNodePtr cur; /* the node being checked */
   22326     int n_cur;
   22327 
   22328     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22329         mem_base = xmlMemBlocks();
   22330         cur = gen_xmlNodePtr(n_cur, 0);
   22331 
   22332         ret_val = xmlNodeGetSpacePreserve(cur);
   22333         desret_int(ret_val);
   22334         call_tests++;
   22335         des_xmlNodePtr(n_cur, cur, 0);
   22336         xmlResetLastError();
   22337         if (mem_base != xmlMemBlocks()) {
   22338             printf("Leak of %d blocks found in xmlNodeGetSpacePreserve",
   22339 	           xmlMemBlocks() - mem_base);
   22340 	    test_ret++;
   22341             printf(" %d", n_cur);
   22342             printf("\n");
   22343         }
   22344     }
   22345     function_tests++;
   22346 
   22347     return(test_ret);
   22348 }
   22349 
   22350 
   22351 static int
   22352 test_xmlNodeIsText(void) {
   22353     int test_ret = 0;
   22354 
   22355     int mem_base;
   22356     int ret_val;
   22357     xmlNodePtr node; /* the node */
   22358     int n_node;
   22359 
   22360     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   22361         mem_base = xmlMemBlocks();
   22362         node = gen_xmlNodePtr(n_node, 0);
   22363 
   22364         ret_val = xmlNodeIsText(node);
   22365         desret_int(ret_val);
   22366         call_tests++;
   22367         des_xmlNodePtr(n_node, node, 0);
   22368         xmlResetLastError();
   22369         if (mem_base != xmlMemBlocks()) {
   22370             printf("Leak of %d blocks found in xmlNodeIsText",
   22371 	           xmlMemBlocks() - mem_base);
   22372 	    test_ret++;
   22373             printf(" %d", n_node);
   22374             printf("\n");
   22375         }
   22376     }
   22377     function_tests++;
   22378 
   22379     return(test_ret);
   22380 }
   22381 
   22382 
   22383 static int
   22384 test_xmlNodeListGetRawString(void) {
   22385     int test_ret = 0;
   22386 
   22387 #if defined(LIBXML_TREE_ENABLED)
   22388     int mem_base;
   22389     xmlChar * ret_val;
   22390     xmlDocPtr doc; /* the document */
   22391     int n_doc;
   22392     xmlNodePtr list; /* a Node list */
   22393     int n_list;
   22394     int inLine; /* should we replace entity contents or show their external form */
   22395     int n_inLine;
   22396 
   22397     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   22398     for (n_list = 0;n_list < gen_nb_xmlNodePtr;n_list++) {
   22399     for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
   22400         mem_base = xmlMemBlocks();
   22401         doc = gen_xmlDocPtr(n_doc, 0);
   22402         list = gen_xmlNodePtr(n_list, 1);
   22403         inLine = gen_int(n_inLine, 2);
   22404 
   22405         ret_val = xmlNodeListGetRawString(doc, list, inLine);
   22406         desret_xmlChar_ptr(ret_val);
   22407         call_tests++;
   22408         des_xmlDocPtr(n_doc, doc, 0);
   22409         des_xmlNodePtr(n_list, list, 1);
   22410         des_int(n_inLine, inLine, 2);
   22411         xmlResetLastError();
   22412         if (mem_base != xmlMemBlocks()) {
   22413             printf("Leak of %d blocks found in xmlNodeListGetRawString",
   22414 	           xmlMemBlocks() - mem_base);
   22415 	    test_ret++;
   22416             printf(" %d", n_doc);
   22417             printf(" %d", n_list);
   22418             printf(" %d", n_inLine);
   22419             printf("\n");
   22420         }
   22421     }
   22422     }
   22423     }
   22424     function_tests++;
   22425 #endif
   22426 
   22427     return(test_ret);
   22428 }
   22429 
   22430 
   22431 static int
   22432 test_xmlNodeListGetString(void) {
   22433     int test_ret = 0;
   22434 
   22435     int mem_base;
   22436     xmlChar * ret_val;
   22437     xmlDocPtr doc; /* the document */
   22438     int n_doc;
   22439     xmlNodePtr list; /* a Node list */
   22440     int n_list;
   22441     int inLine; /* should we replace entity contents or show their external form */
   22442     int n_inLine;
   22443 
   22444     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   22445     for (n_list = 0;n_list < gen_nb_xmlNodePtr;n_list++) {
   22446     for (n_inLine = 0;n_inLine < gen_nb_int;n_inLine++) {
   22447         mem_base = xmlMemBlocks();
   22448         doc = gen_xmlDocPtr(n_doc, 0);
   22449         list = gen_xmlNodePtr(n_list, 1);
   22450         inLine = gen_int(n_inLine, 2);
   22451 
   22452         ret_val = xmlNodeListGetString(doc, list, inLine);
   22453         desret_xmlChar_ptr(ret_val);
   22454         call_tests++;
   22455         des_xmlDocPtr(n_doc, doc, 0);
   22456         des_xmlNodePtr(n_list, list, 1);
   22457         des_int(n_inLine, inLine, 2);
   22458         xmlResetLastError();
   22459         if (mem_base != xmlMemBlocks()) {
   22460             printf("Leak of %d blocks found in xmlNodeListGetString",
   22461 	           xmlMemBlocks() - mem_base);
   22462 	    test_ret++;
   22463             printf(" %d", n_doc);
   22464             printf(" %d", n_list);
   22465             printf(" %d", n_inLine);
   22466             printf("\n");
   22467         }
   22468     }
   22469     }
   22470     }
   22471     function_tests++;
   22472 
   22473     return(test_ret);
   22474 }
   22475 
   22476 
   22477 static int
   22478 test_xmlNodeSetBase(void) {
   22479     int test_ret = 0;
   22480 
   22481 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
   22482     int mem_base;
   22483     xmlNodePtr cur; /* the node being changed */
   22484     int n_cur;
   22485     xmlChar * uri; /* the new base URI */
   22486     int n_uri;
   22487 
   22488     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22489     for (n_uri = 0;n_uri < gen_nb_const_xmlChar_ptr;n_uri++) {
   22490         mem_base = xmlMemBlocks();
   22491         cur = gen_xmlNodePtr(n_cur, 0);
   22492         uri = gen_const_xmlChar_ptr(n_uri, 1);
   22493 
   22494         xmlNodeSetBase(cur, (const xmlChar *)uri);
   22495         call_tests++;
   22496         des_xmlNodePtr(n_cur, cur, 0);
   22497         des_const_xmlChar_ptr(n_uri, (const xmlChar *)uri, 1);
   22498         xmlResetLastError();
   22499         if (mem_base != xmlMemBlocks()) {
   22500             printf("Leak of %d blocks found in xmlNodeSetBase",
   22501 	           xmlMemBlocks() - mem_base);
   22502 	    test_ret++;
   22503             printf(" %d", n_cur);
   22504             printf(" %d", n_uri);
   22505             printf("\n");
   22506         }
   22507     }
   22508     }
   22509     function_tests++;
   22510 #endif
   22511 
   22512     return(test_ret);
   22513 }
   22514 
   22515 
   22516 static int
   22517 test_xmlNodeSetContent(void) {
   22518     int test_ret = 0;
   22519 
   22520     int mem_base;
   22521     xmlNodePtr cur; /* the node being modified */
   22522     int n_cur;
   22523     xmlChar * content; /* the new value of the content */
   22524     int n_content;
   22525 
   22526     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22527     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   22528         mem_base = xmlMemBlocks();
   22529         cur = gen_xmlNodePtr(n_cur, 0);
   22530         content = gen_const_xmlChar_ptr(n_content, 1);
   22531 
   22532         xmlNodeSetContent(cur, (const xmlChar *)content);
   22533         call_tests++;
   22534         des_xmlNodePtr(n_cur, cur, 0);
   22535         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   22536         xmlResetLastError();
   22537         if (mem_base != xmlMemBlocks()) {
   22538             printf("Leak of %d blocks found in xmlNodeSetContent",
   22539 	           xmlMemBlocks() - mem_base);
   22540 	    test_ret++;
   22541             printf(" %d", n_cur);
   22542             printf(" %d", n_content);
   22543             printf("\n");
   22544         }
   22545     }
   22546     }
   22547     function_tests++;
   22548 
   22549     return(test_ret);
   22550 }
   22551 
   22552 
   22553 static int
   22554 test_xmlNodeSetContentLen(void) {
   22555     int test_ret = 0;
   22556 
   22557 #if defined(LIBXML_TREE_ENABLED)
   22558     int mem_base;
   22559     xmlNodePtr cur; /* the node being modified */
   22560     int n_cur;
   22561     xmlChar * content; /* the new value of the content */
   22562     int n_content;
   22563     int len; /* the size of @content */
   22564     int n_len;
   22565 
   22566     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22567     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   22568     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   22569         mem_base = xmlMemBlocks();
   22570         cur = gen_xmlNodePtr(n_cur, 0);
   22571         content = gen_const_xmlChar_ptr(n_content, 1);
   22572         len = gen_int(n_len, 2);
   22573 
   22574         xmlNodeSetContentLen(cur, (const xmlChar *)content, len);
   22575         call_tests++;
   22576         des_xmlNodePtr(n_cur, cur, 0);
   22577         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   22578         des_int(n_len, len, 2);
   22579         xmlResetLastError();
   22580         if (mem_base != xmlMemBlocks()) {
   22581             printf("Leak of %d blocks found in xmlNodeSetContentLen",
   22582 	           xmlMemBlocks() - mem_base);
   22583 	    test_ret++;
   22584             printf(" %d", n_cur);
   22585             printf(" %d", n_content);
   22586             printf(" %d", n_len);
   22587             printf("\n");
   22588         }
   22589     }
   22590     }
   22591     }
   22592     function_tests++;
   22593 #endif
   22594 
   22595     return(test_ret);
   22596 }
   22597 
   22598 
   22599 static int
   22600 test_xmlNodeSetLang(void) {
   22601     int test_ret = 0;
   22602 
   22603 #if defined(LIBXML_TREE_ENABLED)
   22604     int mem_base;
   22605     xmlNodePtr cur; /* the node being changed */
   22606     int n_cur;
   22607     xmlChar * lang; /* the language description */
   22608     int n_lang;
   22609 
   22610     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22611     for (n_lang = 0;n_lang < gen_nb_const_xmlChar_ptr;n_lang++) {
   22612         mem_base = xmlMemBlocks();
   22613         cur = gen_xmlNodePtr(n_cur, 0);
   22614         lang = gen_const_xmlChar_ptr(n_lang, 1);
   22615 
   22616         xmlNodeSetLang(cur, (const xmlChar *)lang);
   22617         call_tests++;
   22618         des_xmlNodePtr(n_cur, cur, 0);
   22619         des_const_xmlChar_ptr(n_lang, (const xmlChar *)lang, 1);
   22620         xmlResetLastError();
   22621         if (mem_base != xmlMemBlocks()) {
   22622             printf("Leak of %d blocks found in xmlNodeSetLang",
   22623 	           xmlMemBlocks() - mem_base);
   22624 	    test_ret++;
   22625             printf(" %d", n_cur);
   22626             printf(" %d", n_lang);
   22627             printf("\n");
   22628         }
   22629     }
   22630     }
   22631     function_tests++;
   22632 #endif
   22633 
   22634     return(test_ret);
   22635 }
   22636 
   22637 
   22638 static int
   22639 test_xmlNodeSetName(void) {
   22640     int test_ret = 0;
   22641 
   22642 #if defined(LIBXML_TREE_ENABLED)
   22643     int mem_base;
   22644     xmlNodePtr cur; /* the node being changed */
   22645     int n_cur;
   22646     xmlChar * name; /* the new tag name */
   22647     int n_name;
   22648 
   22649     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22650     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   22651         mem_base = xmlMemBlocks();
   22652         cur = gen_xmlNodePtr(n_cur, 0);
   22653         name = gen_const_xmlChar_ptr(n_name, 1);
   22654 
   22655         xmlNodeSetName(cur, (const xmlChar *)name);
   22656         call_tests++;
   22657         des_xmlNodePtr(n_cur, cur, 0);
   22658         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   22659         xmlResetLastError();
   22660         if (mem_base != xmlMemBlocks()) {
   22661             printf("Leak of %d blocks found in xmlNodeSetName",
   22662 	           xmlMemBlocks() - mem_base);
   22663 	    test_ret++;
   22664             printf(" %d", n_cur);
   22665             printf(" %d", n_name);
   22666             printf("\n");
   22667         }
   22668     }
   22669     }
   22670     function_tests++;
   22671 #endif
   22672 
   22673     return(test_ret);
   22674 }
   22675 
   22676 
   22677 static int
   22678 test_xmlNodeSetSpacePreserve(void) {
   22679     int test_ret = 0;
   22680 
   22681 #if defined(LIBXML_TREE_ENABLED)
   22682     int mem_base;
   22683     xmlNodePtr cur; /* the node being changed */
   22684     int n_cur;
   22685     int val; /* the xml:space value ("0": default, 1: "preserve") */
   22686     int n_val;
   22687 
   22688     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   22689     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   22690         mem_base = xmlMemBlocks();
   22691         cur = gen_xmlNodePtr(n_cur, 0);
   22692         val = gen_int(n_val, 1);
   22693 
   22694         xmlNodeSetSpacePreserve(cur, val);
   22695         call_tests++;
   22696         des_xmlNodePtr(n_cur, cur, 0);
   22697         des_int(n_val, val, 1);
   22698         xmlResetLastError();
   22699         if (mem_base != xmlMemBlocks()) {
   22700             printf("Leak of %d blocks found in xmlNodeSetSpacePreserve",
   22701 	           xmlMemBlocks() - mem_base);
   22702 	    test_ret++;
   22703             printf(" %d", n_cur);
   22704             printf(" %d", n_val);
   22705             printf("\n");
   22706         }
   22707     }
   22708     }
   22709     function_tests++;
   22710 #endif
   22711 
   22712     return(test_ret);
   22713 }
   22714 
   22715 
   22716 static int
   22717 test_xmlPreviousElementSibling(void) {
   22718     int test_ret = 0;
   22719 
   22720 #if defined(LIBXML_TREE_ENABLED)
   22721     int mem_base;
   22722     xmlNodePtr ret_val;
   22723     xmlNodePtr node; /* the current node */
   22724     int n_node;
   22725 
   22726     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   22727         mem_base = xmlMemBlocks();
   22728         node = gen_xmlNodePtr(n_node, 0);
   22729 
   22730         ret_val = xmlPreviousElementSibling(node);
   22731         desret_xmlNodePtr(ret_val);
   22732         call_tests++;
   22733         des_xmlNodePtr(n_node, node, 0);
   22734         xmlResetLastError();
   22735         if (mem_base != xmlMemBlocks()) {
   22736             printf("Leak of %d blocks found in xmlPreviousElementSibling",
   22737 	           xmlMemBlocks() - mem_base);
   22738 	    test_ret++;
   22739             printf(" %d", n_node);
   22740             printf("\n");
   22741         }
   22742     }
   22743     function_tests++;
   22744 #endif
   22745 
   22746     return(test_ret);
   22747 }
   22748 
   22749 
   22750 static int
   22751 test_xmlReconciliateNs(void) {
   22752     int test_ret = 0;
   22753 
   22754 #if defined(LIBXML_TREE_ENABLED)
   22755 #ifdef LIBXML_TREE_ENABLED
   22756     int mem_base;
   22757     int ret_val;
   22758     xmlDocPtr doc; /* the document */
   22759     int n_doc;
   22760     xmlNodePtr tree; /* a node defining the subtree to reconciliate */
   22761     int n_tree;
   22762 
   22763     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   22764     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
   22765         mem_base = xmlMemBlocks();
   22766         doc = gen_xmlDocPtr(n_doc, 0);
   22767         tree = gen_xmlNodePtr(n_tree, 1);
   22768 
   22769         ret_val = xmlReconciliateNs(doc, tree);
   22770         desret_int(ret_val);
   22771         call_tests++;
   22772         des_xmlDocPtr(n_doc, doc, 0);
   22773         des_xmlNodePtr(n_tree, tree, 1);
   22774         xmlResetLastError();
   22775         if (mem_base != xmlMemBlocks()) {
   22776             printf("Leak of %d blocks found in xmlReconciliateNs",
   22777 	           xmlMemBlocks() - mem_base);
   22778 	    test_ret++;
   22779             printf(" %d", n_doc);
   22780             printf(" %d", n_tree);
   22781             printf("\n");
   22782         }
   22783     }
   22784     }
   22785     function_tests++;
   22786 #endif
   22787 #endif
   22788 
   22789     return(test_ret);
   22790 }
   22791 
   22792 
   22793 static int
   22794 test_xmlRemoveProp(void) {
   22795     int test_ret = 0;
   22796 
   22797     int mem_base;
   22798     int ret_val;
   22799     xmlAttrPtr cur; /* an attribute */
   22800     int n_cur;
   22801 
   22802     for (n_cur = 0;n_cur < gen_nb_xmlAttrPtr;n_cur++) {
   22803         mem_base = xmlMemBlocks();
   22804         cur = gen_xmlAttrPtr(n_cur, 0);
   22805 
   22806         ret_val = xmlRemoveProp(cur);
   22807         cur = NULL;
   22808         desret_int(ret_val);
   22809         call_tests++;
   22810         des_xmlAttrPtr(n_cur, cur, 0);
   22811         xmlResetLastError();
   22812         if (mem_base != xmlMemBlocks()) {
   22813             printf("Leak of %d blocks found in xmlRemoveProp",
   22814 	           xmlMemBlocks() - mem_base);
   22815 	    test_ret++;
   22816             printf(" %d", n_cur);
   22817             printf("\n");
   22818         }
   22819     }
   22820     function_tests++;
   22821 
   22822     return(test_ret);
   22823 }
   22824 
   22825 
   22826 static int
   22827 test_xmlReplaceNode(void) {
   22828     int test_ret = 0;
   22829 
   22830 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
   22831     int mem_base;
   22832     xmlNodePtr ret_val;
   22833     xmlNodePtr old; /* the old node */
   22834     int n_old;
   22835     xmlNodePtr cur; /* the node */
   22836     int n_cur;
   22837 
   22838     for (n_old = 0;n_old < gen_nb_xmlNodePtr;n_old++) {
   22839     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr_in;n_cur++) {
   22840         mem_base = xmlMemBlocks();
   22841         old = gen_xmlNodePtr(n_old, 0);
   22842         cur = gen_xmlNodePtr_in(n_cur, 1);
   22843 
   22844         ret_val = xmlReplaceNode(old, cur);
   22845         if (cur != NULL) {
   22846               xmlUnlinkNode(cur);
   22847               xmlFreeNode(cur) ; cur = NULL ; }
   22848           if (old != NULL) {
   22849               xmlUnlinkNode(old);
   22850               xmlFreeNode(old) ; old = NULL ; }
   22851 	  ret_val = NULL;
   22852         desret_xmlNodePtr(ret_val);
   22853         call_tests++;
   22854         des_xmlNodePtr(n_old, old, 0);
   22855         des_xmlNodePtr_in(n_cur, cur, 1);
   22856         xmlResetLastError();
   22857         if (mem_base != xmlMemBlocks()) {
   22858             printf("Leak of %d blocks found in xmlReplaceNode",
   22859 	           xmlMemBlocks() - mem_base);
   22860 	    test_ret++;
   22861             printf(" %d", n_old);
   22862             printf(" %d", n_cur);
   22863             printf("\n");
   22864         }
   22865     }
   22866     }
   22867     function_tests++;
   22868 #endif
   22869 
   22870     return(test_ret);
   22871 }
   22872 
   22873 
   22874 static int
   22875 test_xmlSaveFile(void) {
   22876     int test_ret = 0;
   22877 
   22878 #if defined(LIBXML_OUTPUT_ENABLED)
   22879     int mem_base;
   22880     int ret_val;
   22881     const char * filename; /* the filename (or URL) */
   22882     int n_filename;
   22883     xmlDocPtr cur; /* the document */
   22884     int n_cur;
   22885 
   22886     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   22887     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   22888         mem_base = xmlMemBlocks();
   22889         filename = gen_fileoutput(n_filename, 0);
   22890         cur = gen_xmlDocPtr(n_cur, 1);
   22891 
   22892         ret_val = xmlSaveFile(filename, cur);
   22893         desret_int(ret_val);
   22894         call_tests++;
   22895         des_fileoutput(n_filename, filename, 0);
   22896         des_xmlDocPtr(n_cur, cur, 1);
   22897         xmlResetLastError();
   22898         if (mem_base != xmlMemBlocks()) {
   22899             printf("Leak of %d blocks found in xmlSaveFile",
   22900 	           xmlMemBlocks() - mem_base);
   22901 	    test_ret++;
   22902             printf(" %d", n_filename);
   22903             printf(" %d", n_cur);
   22904             printf("\n");
   22905         }
   22906     }
   22907     }
   22908     function_tests++;
   22909 #endif
   22910 
   22911     return(test_ret);
   22912 }
   22913 
   22914 
   22915 static int
   22916 test_xmlSaveFileEnc(void) {
   22917     int test_ret = 0;
   22918 
   22919 #if defined(LIBXML_OUTPUT_ENABLED)
   22920     int mem_base;
   22921     int ret_val;
   22922     const char * filename; /* the filename (or URL) */
   22923     int n_filename;
   22924     xmlDocPtr cur; /* the document */
   22925     int n_cur;
   22926     char * encoding; /* the name of an encoding (or NULL) */
   22927     int n_encoding;
   22928 
   22929     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   22930     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   22931     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   22932         mem_base = xmlMemBlocks();
   22933         filename = gen_fileoutput(n_filename, 0);
   22934         cur = gen_xmlDocPtr(n_cur, 1);
   22935         encoding = gen_const_char_ptr(n_encoding, 2);
   22936 
   22937         ret_val = xmlSaveFileEnc(filename, cur, (const char *)encoding);
   22938         desret_int(ret_val);
   22939         call_tests++;
   22940         des_fileoutput(n_filename, filename, 0);
   22941         des_xmlDocPtr(n_cur, cur, 1);
   22942         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   22943         xmlResetLastError();
   22944         if (mem_base != xmlMemBlocks()) {
   22945             printf("Leak of %d blocks found in xmlSaveFileEnc",
   22946 	           xmlMemBlocks() - mem_base);
   22947 	    test_ret++;
   22948             printf(" %d", n_filename);
   22949             printf(" %d", n_cur);
   22950             printf(" %d", n_encoding);
   22951             printf("\n");
   22952         }
   22953     }
   22954     }
   22955     }
   22956     function_tests++;
   22957 #endif
   22958 
   22959     return(test_ret);
   22960 }
   22961 
   22962 
   22963 static int
   22964 test_xmlSaveFileTo(void) {
   22965     int test_ret = 0;
   22966 
   22967 #if defined(LIBXML_OUTPUT_ENABLED)
   22968     int mem_base;
   22969     int ret_val;
   22970     xmlOutputBufferPtr buf; /* an output I/O buffer */
   22971     int n_buf;
   22972     xmlDocPtr cur; /* the document */
   22973     int n_cur;
   22974     char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */
   22975     int n_encoding;
   22976 
   22977     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   22978     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   22979     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   22980         mem_base = xmlMemBlocks();
   22981         buf = gen_xmlOutputBufferPtr(n_buf, 0);
   22982         cur = gen_xmlDocPtr(n_cur, 1);
   22983         encoding = gen_const_char_ptr(n_encoding, 2);
   22984 
   22985         ret_val = xmlSaveFileTo(buf, cur, (const char *)encoding);
   22986         buf = NULL;
   22987         desret_int(ret_val);
   22988         call_tests++;
   22989         des_xmlOutputBufferPtr(n_buf, buf, 0);
   22990         des_xmlDocPtr(n_cur, cur, 1);
   22991         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   22992         xmlResetLastError();
   22993         if (mem_base != xmlMemBlocks()) {
   22994             printf("Leak of %d blocks found in xmlSaveFileTo",
   22995 	           xmlMemBlocks() - mem_base);
   22996 	    test_ret++;
   22997             printf(" %d", n_buf);
   22998             printf(" %d", n_cur);
   22999             printf(" %d", n_encoding);
   23000             printf("\n");
   23001         }
   23002     }
   23003     }
   23004     }
   23005     function_tests++;
   23006 #endif
   23007 
   23008     return(test_ret);
   23009 }
   23010 
   23011 
   23012 static int
   23013 test_xmlSaveFormatFile(void) {
   23014     int test_ret = 0;
   23015 
   23016 #if defined(LIBXML_OUTPUT_ENABLED)
   23017     int mem_base;
   23018     int ret_val;
   23019     const char * filename; /* the filename (or URL) */
   23020     int n_filename;
   23021     xmlDocPtr cur; /* the document */
   23022     int n_cur;
   23023     int format; /* should formatting spaces been added */
   23024     int n_format;
   23025 
   23026     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   23027     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   23028     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   23029         mem_base = xmlMemBlocks();
   23030         filename = gen_fileoutput(n_filename, 0);
   23031         cur = gen_xmlDocPtr(n_cur, 1);
   23032         format = gen_int(n_format, 2);
   23033 
   23034         ret_val = xmlSaveFormatFile(filename, cur, format);
   23035         desret_int(ret_val);
   23036         call_tests++;
   23037         des_fileoutput(n_filename, filename, 0);
   23038         des_xmlDocPtr(n_cur, cur, 1);
   23039         des_int(n_format, format, 2);
   23040         xmlResetLastError();
   23041         if (mem_base != xmlMemBlocks()) {
   23042             printf("Leak of %d blocks found in xmlSaveFormatFile",
   23043 	           xmlMemBlocks() - mem_base);
   23044 	    test_ret++;
   23045             printf(" %d", n_filename);
   23046             printf(" %d", n_cur);
   23047             printf(" %d", n_format);
   23048             printf("\n");
   23049         }
   23050     }
   23051     }
   23052     }
   23053     function_tests++;
   23054 #endif
   23055 
   23056     return(test_ret);
   23057 }
   23058 
   23059 
   23060 static int
   23061 test_xmlSaveFormatFileEnc(void) {
   23062     int test_ret = 0;
   23063 
   23064 #if defined(LIBXML_OUTPUT_ENABLED)
   23065     int mem_base;
   23066     int ret_val;
   23067     const char * filename; /* the filename or URL to output */
   23068     int n_filename;
   23069     xmlDocPtr cur; /* the document being saved */
   23070     int n_cur;
   23071     char * encoding; /* the name of the encoding to use or NULL. */
   23072     int n_encoding;
   23073     int format; /* should formatting spaces be added. */
   23074     int n_format;
   23075 
   23076     for (n_filename = 0;n_filename < gen_nb_fileoutput;n_filename++) {
   23077     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   23078     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   23079     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   23080         mem_base = xmlMemBlocks();
   23081         filename = gen_fileoutput(n_filename, 0);
   23082         cur = gen_xmlDocPtr(n_cur, 1);
   23083         encoding = gen_const_char_ptr(n_encoding, 2);
   23084         format = gen_int(n_format, 3);
   23085 
   23086         ret_val = xmlSaveFormatFileEnc(filename, cur, (const char *)encoding, format);
   23087         desret_int(ret_val);
   23088         call_tests++;
   23089         des_fileoutput(n_filename, filename, 0);
   23090         des_xmlDocPtr(n_cur, cur, 1);
   23091         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   23092         des_int(n_format, format, 3);
   23093         xmlResetLastError();
   23094         if (mem_base != xmlMemBlocks()) {
   23095             printf("Leak of %d blocks found in xmlSaveFormatFileEnc",
   23096 	           xmlMemBlocks() - mem_base);
   23097 	    test_ret++;
   23098             printf(" %d", n_filename);
   23099             printf(" %d", n_cur);
   23100             printf(" %d", n_encoding);
   23101             printf(" %d", n_format);
   23102             printf("\n");
   23103         }
   23104     }
   23105     }
   23106     }
   23107     }
   23108     function_tests++;
   23109 #endif
   23110 
   23111     return(test_ret);
   23112 }
   23113 
   23114 
   23115 static int
   23116 test_xmlSaveFormatFileTo(void) {
   23117     int test_ret = 0;
   23118 
   23119 #if defined(LIBXML_OUTPUT_ENABLED)
   23120     int mem_base;
   23121     int ret_val;
   23122     xmlOutputBufferPtr buf; /* an output I/O buffer */
   23123     int n_buf;
   23124     xmlDocPtr cur; /* the document */
   23125     int n_cur;
   23126     char * encoding; /* the encoding if any assuming the I/O layer handles the trancoding */
   23127     int n_encoding;
   23128     int format; /* should formatting spaces been added */
   23129     int n_format;
   23130 
   23131     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
   23132     for (n_cur = 0;n_cur < gen_nb_xmlDocPtr;n_cur++) {
   23133     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   23134     for (n_format = 0;n_format < gen_nb_int;n_format++) {
   23135         mem_base = xmlMemBlocks();
   23136         buf = gen_xmlOutputBufferPtr(n_buf, 0);
   23137         cur = gen_xmlDocPtr(n_cur, 1);
   23138         encoding = gen_const_char_ptr(n_encoding, 2);
   23139         format = gen_int(n_format, 3);
   23140 
   23141         ret_val = xmlSaveFormatFileTo(buf, cur, (const char *)encoding, format);
   23142         buf = NULL;
   23143         desret_int(ret_val);
   23144         call_tests++;
   23145         des_xmlOutputBufferPtr(n_buf, buf, 0);
   23146         des_xmlDocPtr(n_cur, cur, 1);
   23147         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   23148         des_int(n_format, format, 3);
   23149         xmlResetLastError();
   23150         if (mem_base != xmlMemBlocks()) {
   23151             printf("Leak of %d blocks found in xmlSaveFormatFileTo",
   23152 	           xmlMemBlocks() - mem_base);
   23153 	    test_ret++;
   23154             printf(" %d", n_buf);
   23155             printf(" %d", n_cur);
   23156             printf(" %d", n_encoding);
   23157             printf(" %d", n_format);
   23158             printf("\n");
   23159         }
   23160     }
   23161     }
   23162     }
   23163     }
   23164     function_tests++;
   23165 #endif
   23166 
   23167     return(test_ret);
   23168 }
   23169 
   23170 
   23171 static int
   23172 test_xmlSearchNs(void) {
   23173     int test_ret = 0;
   23174 
   23175     int mem_base;
   23176     xmlNsPtr ret_val;
   23177     xmlDocPtr doc; /* the document */
   23178     int n_doc;
   23179     xmlNodePtr node; /* the current node */
   23180     int n_node;
   23181     xmlChar * nameSpace; /* the namespace prefix */
   23182     int n_nameSpace;
   23183 
   23184     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   23185     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23186     for (n_nameSpace = 0;n_nameSpace < gen_nb_const_xmlChar_ptr;n_nameSpace++) {
   23187         mem_base = xmlMemBlocks();
   23188         doc = gen_xmlDocPtr(n_doc, 0);
   23189         node = gen_xmlNodePtr(n_node, 1);
   23190         nameSpace = gen_const_xmlChar_ptr(n_nameSpace, 2);
   23191 
   23192         ret_val = xmlSearchNs(doc, node, (const xmlChar *)nameSpace);
   23193         desret_xmlNsPtr(ret_val);
   23194         call_tests++;
   23195         des_xmlDocPtr(n_doc, doc, 0);
   23196         des_xmlNodePtr(n_node, node, 1);
   23197         des_const_xmlChar_ptr(n_nameSpace, (const xmlChar *)nameSpace, 2);
   23198         xmlResetLastError();
   23199         if (mem_base != xmlMemBlocks()) {
   23200             printf("Leak of %d blocks found in xmlSearchNs",
   23201 	           xmlMemBlocks() - mem_base);
   23202 	    test_ret++;
   23203             printf(" %d", n_doc);
   23204             printf(" %d", n_node);
   23205             printf(" %d", n_nameSpace);
   23206             printf("\n");
   23207         }
   23208     }
   23209     }
   23210     }
   23211     function_tests++;
   23212 
   23213     return(test_ret);
   23214 }
   23215 
   23216 
   23217 static int
   23218 test_xmlSearchNsByHref(void) {
   23219     int test_ret = 0;
   23220 
   23221     int mem_base;
   23222     xmlNsPtr ret_val;
   23223     xmlDocPtr doc; /* the document */
   23224     int n_doc;
   23225     xmlNodePtr node; /* the current node */
   23226     int n_node;
   23227     xmlChar * href; /* the namespace value */
   23228     int n_href;
   23229 
   23230     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   23231     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23232     for (n_href = 0;n_href < gen_nb_const_xmlChar_ptr;n_href++) {
   23233         mem_base = xmlMemBlocks();
   23234         doc = gen_xmlDocPtr(n_doc, 0);
   23235         node = gen_xmlNodePtr(n_node, 1);
   23236         href = gen_const_xmlChar_ptr(n_href, 2);
   23237 
   23238         ret_val = xmlSearchNsByHref(doc, node, (const xmlChar *)href);
   23239         desret_xmlNsPtr(ret_val);
   23240         call_tests++;
   23241         des_xmlDocPtr(n_doc, doc, 0);
   23242         des_xmlNodePtr(n_node, node, 1);
   23243         des_const_xmlChar_ptr(n_href, (const xmlChar *)href, 2);
   23244         xmlResetLastError();
   23245         if (mem_base != xmlMemBlocks()) {
   23246             printf("Leak of %d blocks found in xmlSearchNsByHref",
   23247 	           xmlMemBlocks() - mem_base);
   23248 	    test_ret++;
   23249             printf(" %d", n_doc);
   23250             printf(" %d", n_node);
   23251             printf(" %d", n_href);
   23252             printf("\n");
   23253         }
   23254     }
   23255     }
   23256     }
   23257     function_tests++;
   23258 
   23259     return(test_ret);
   23260 }
   23261 
   23262 
   23263 static int
   23264 test_xmlSetBufferAllocationScheme(void) {
   23265     int test_ret = 0;
   23266 
   23267     int mem_base;
   23268     xmlBufferAllocationScheme scheme; /* allocation method to use */
   23269     int n_scheme;
   23270 
   23271     for (n_scheme = 0;n_scheme < gen_nb_xmlBufferAllocationScheme;n_scheme++) {
   23272         mem_base = xmlMemBlocks();
   23273         scheme = gen_xmlBufferAllocationScheme(n_scheme, 0);
   23274 
   23275         xmlSetBufferAllocationScheme(scheme);
   23276         call_tests++;
   23277         des_xmlBufferAllocationScheme(n_scheme, scheme, 0);
   23278         xmlResetLastError();
   23279         if (mem_base != xmlMemBlocks()) {
   23280             printf("Leak of %d blocks found in xmlSetBufferAllocationScheme",
   23281 	           xmlMemBlocks() - mem_base);
   23282 	    test_ret++;
   23283             printf(" %d", n_scheme);
   23284             printf("\n");
   23285         }
   23286     }
   23287     function_tests++;
   23288 
   23289     return(test_ret);
   23290 }
   23291 
   23292 
   23293 static int
   23294 test_xmlSetCompressMode(void) {
   23295     int test_ret = 0;
   23296 
   23297     int mem_base;
   23298     int mode; /* the compression ratio */
   23299     int n_mode;
   23300 
   23301     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
   23302         mem_base = xmlMemBlocks();
   23303         mode = gen_int(n_mode, 0);
   23304 
   23305         xmlSetCompressMode(mode);
   23306         call_tests++;
   23307         des_int(n_mode, mode, 0);
   23308         xmlResetLastError();
   23309         if (mem_base != xmlMemBlocks()) {
   23310             printf("Leak of %d blocks found in xmlSetCompressMode",
   23311 	           xmlMemBlocks() - mem_base);
   23312 	    test_ret++;
   23313             printf(" %d", n_mode);
   23314             printf("\n");
   23315         }
   23316     }
   23317     function_tests++;
   23318 
   23319     return(test_ret);
   23320 }
   23321 
   23322 
   23323 static int
   23324 test_xmlSetDocCompressMode(void) {
   23325     int test_ret = 0;
   23326 
   23327     int mem_base;
   23328     xmlDocPtr doc; /* the document */
   23329     int n_doc;
   23330     int mode; /* the compression ratio */
   23331     int n_mode;
   23332 
   23333     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   23334     for (n_mode = 0;n_mode < gen_nb_int;n_mode++) {
   23335         mem_base = xmlMemBlocks();
   23336         doc = gen_xmlDocPtr(n_doc, 0);
   23337         mode = gen_int(n_mode, 1);
   23338 
   23339         xmlSetDocCompressMode(doc, mode);
   23340         call_tests++;
   23341         des_xmlDocPtr(n_doc, doc, 0);
   23342         des_int(n_mode, mode, 1);
   23343         xmlResetLastError();
   23344         if (mem_base != xmlMemBlocks()) {
   23345             printf("Leak of %d blocks found in xmlSetDocCompressMode",
   23346 	           xmlMemBlocks() - mem_base);
   23347 	    test_ret++;
   23348             printf(" %d", n_doc);
   23349             printf(" %d", n_mode);
   23350             printf("\n");
   23351         }
   23352     }
   23353     }
   23354     function_tests++;
   23355 
   23356     return(test_ret);
   23357 }
   23358 
   23359 
   23360 static int
   23361 test_xmlSetNs(void) {
   23362     int test_ret = 0;
   23363 
   23364     int mem_base;
   23365     xmlNodePtr node; /* a node in the document */
   23366     int n_node;
   23367     xmlNsPtr ns; /* a namespace pointer */
   23368     int n_ns;
   23369 
   23370     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23371     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   23372         mem_base = xmlMemBlocks();
   23373         node = gen_xmlNodePtr(n_node, 0);
   23374         ns = gen_xmlNsPtr(n_ns, 1);
   23375 
   23376         xmlSetNs(node, ns);
   23377         call_tests++;
   23378         des_xmlNodePtr(n_node, node, 0);
   23379         des_xmlNsPtr(n_ns, ns, 1);
   23380         xmlResetLastError();
   23381         if (mem_base != xmlMemBlocks()) {
   23382             printf("Leak of %d blocks found in xmlSetNs",
   23383 	           xmlMemBlocks() - mem_base);
   23384 	    test_ret++;
   23385             printf(" %d", n_node);
   23386             printf(" %d", n_ns);
   23387             printf("\n");
   23388         }
   23389     }
   23390     }
   23391     function_tests++;
   23392 
   23393     return(test_ret);
   23394 }
   23395 
   23396 
   23397 static int
   23398 test_xmlSetNsProp(void) {
   23399     int test_ret = 0;
   23400 
   23401 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
   23402     int mem_base;
   23403     xmlAttrPtr ret_val;
   23404     xmlNodePtr node; /* the node */
   23405     int n_node;
   23406     xmlNsPtr ns; /* the namespace definition */
   23407     int n_ns;
   23408     xmlChar * name; /* the attribute name */
   23409     int n_name;
   23410     xmlChar * value; /* the attribute value */
   23411     int n_value;
   23412 
   23413     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23414     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   23415     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   23416     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23417         mem_base = xmlMemBlocks();
   23418         node = gen_xmlNodePtr(n_node, 0);
   23419         ns = gen_xmlNsPtr(n_ns, 1);
   23420         name = gen_const_xmlChar_ptr(n_name, 2);
   23421         value = gen_const_xmlChar_ptr(n_value, 3);
   23422 
   23423         ret_val = xmlSetNsProp(node, ns, (const xmlChar *)name, (const xmlChar *)value);
   23424         desret_xmlAttrPtr(ret_val);
   23425         call_tests++;
   23426         des_xmlNodePtr(n_node, node, 0);
   23427         des_xmlNsPtr(n_ns, ns, 1);
   23428         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   23429         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
   23430         xmlResetLastError();
   23431         if (mem_base != xmlMemBlocks()) {
   23432             printf("Leak of %d blocks found in xmlSetNsProp",
   23433 	           xmlMemBlocks() - mem_base);
   23434 	    test_ret++;
   23435             printf(" %d", n_node);
   23436             printf(" %d", n_ns);
   23437             printf(" %d", n_name);
   23438             printf(" %d", n_value);
   23439             printf("\n");
   23440         }
   23441     }
   23442     }
   23443     }
   23444     }
   23445     function_tests++;
   23446 #endif
   23447 
   23448     return(test_ret);
   23449 }
   23450 
   23451 
   23452 static int
   23453 test_xmlSetProp(void) {
   23454     int test_ret = 0;
   23455 
   23456 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
   23457     int mem_base;
   23458     xmlAttrPtr ret_val;
   23459     xmlNodePtr node; /* the node */
   23460     int n_node;
   23461     xmlChar * name; /* the attribute name (a QName) */
   23462     int n_name;
   23463     xmlChar * value; /* the attribute value */
   23464     int n_value;
   23465 
   23466     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23467     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   23468     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23469         mem_base = xmlMemBlocks();
   23470         node = gen_xmlNodePtr(n_node, 0);
   23471         name = gen_const_xmlChar_ptr(n_name, 1);
   23472         value = gen_const_xmlChar_ptr(n_value, 2);
   23473 
   23474         ret_val = xmlSetProp(node, (const xmlChar *)name, (const xmlChar *)value);
   23475         desret_xmlAttrPtr(ret_val);
   23476         call_tests++;
   23477         des_xmlNodePtr(n_node, node, 0);
   23478         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   23479         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
   23480         xmlResetLastError();
   23481         if (mem_base != xmlMemBlocks()) {
   23482             printf("Leak of %d blocks found in xmlSetProp",
   23483 	           xmlMemBlocks() - mem_base);
   23484 	    test_ret++;
   23485             printf(" %d", n_node);
   23486             printf(" %d", n_name);
   23487             printf(" %d", n_value);
   23488             printf("\n");
   23489         }
   23490     }
   23491     }
   23492     }
   23493     function_tests++;
   23494 #endif
   23495 
   23496     return(test_ret);
   23497 }
   23498 
   23499 
   23500 static int
   23501 test_xmlSplitQName2(void) {
   23502     int test_ret = 0;
   23503 
   23504     int mem_base;
   23505     xmlChar * ret_val;
   23506     xmlChar * name; /* the full QName */
   23507     int n_name;
   23508     xmlChar ** prefix; /* a xmlChar ** */
   23509     int n_prefix;
   23510 
   23511     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   23512     for (n_prefix = 0;n_prefix < gen_nb_xmlChar_ptr_ptr;n_prefix++) {
   23513         mem_base = xmlMemBlocks();
   23514         name = gen_const_xmlChar_ptr(n_name, 0);
   23515         prefix = gen_xmlChar_ptr_ptr(n_prefix, 1);
   23516 
   23517         ret_val = xmlSplitQName2((const xmlChar *)name, prefix);
   23518         desret_xmlChar_ptr(ret_val);
   23519         call_tests++;
   23520         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   23521         des_xmlChar_ptr_ptr(n_prefix, prefix, 1);
   23522         xmlResetLastError();
   23523         if (mem_base != xmlMemBlocks()) {
   23524             printf("Leak of %d blocks found in xmlSplitQName2",
   23525 	           xmlMemBlocks() - mem_base);
   23526 	    test_ret++;
   23527             printf(" %d", n_name);
   23528             printf(" %d", n_prefix);
   23529             printf("\n");
   23530         }
   23531     }
   23532     }
   23533     function_tests++;
   23534 
   23535     return(test_ret);
   23536 }
   23537 
   23538 
   23539 static int
   23540 test_xmlSplitQName3(void) {
   23541     int test_ret = 0;
   23542 
   23543     int mem_base;
   23544     const xmlChar * ret_val;
   23545     xmlChar * name; /* the full QName */
   23546     int n_name;
   23547     int * len; /* an int * */
   23548     int n_len;
   23549 
   23550     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   23551     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
   23552         mem_base = xmlMemBlocks();
   23553         name = gen_const_xmlChar_ptr(n_name, 0);
   23554         len = gen_int_ptr(n_len, 1);
   23555 
   23556         ret_val = xmlSplitQName3((const xmlChar *)name, len);
   23557         desret_const_xmlChar_ptr(ret_val);
   23558         call_tests++;
   23559         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   23560         des_int_ptr(n_len, len, 1);
   23561         xmlResetLastError();
   23562         if (mem_base != xmlMemBlocks()) {
   23563             printf("Leak of %d blocks found in xmlSplitQName3",
   23564 	           xmlMemBlocks() - mem_base);
   23565 	    test_ret++;
   23566             printf(" %d", n_name);
   23567             printf(" %d", n_len);
   23568             printf("\n");
   23569         }
   23570     }
   23571     }
   23572     function_tests++;
   23573 
   23574     return(test_ret);
   23575 }
   23576 
   23577 
   23578 static int
   23579 test_xmlStringGetNodeList(void) {
   23580     int test_ret = 0;
   23581 
   23582     int mem_base;
   23583     xmlNodePtr ret_val;
   23584     xmlDocPtr doc; /* the document */
   23585     int n_doc;
   23586     xmlChar * value; /* the value of the attribute */
   23587     int n_value;
   23588 
   23589     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   23590     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23591         mem_base = xmlMemBlocks();
   23592         doc = gen_xmlDocPtr(n_doc, 0);
   23593         value = gen_const_xmlChar_ptr(n_value, 1);
   23594 
   23595         ret_val = xmlStringGetNodeList(doc, (const xmlChar *)value);
   23596         desret_xmlNodePtr(ret_val);
   23597         call_tests++;
   23598         des_xmlDocPtr(n_doc, doc, 0);
   23599         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   23600         xmlResetLastError();
   23601         if (mem_base != xmlMemBlocks()) {
   23602             printf("Leak of %d blocks found in xmlStringGetNodeList",
   23603 	           xmlMemBlocks() - mem_base);
   23604 	    test_ret++;
   23605             printf(" %d", n_doc);
   23606             printf(" %d", n_value);
   23607             printf("\n");
   23608         }
   23609     }
   23610     }
   23611     function_tests++;
   23612 
   23613     return(test_ret);
   23614 }
   23615 
   23616 
   23617 static int
   23618 test_xmlStringLenGetNodeList(void) {
   23619     int test_ret = 0;
   23620 
   23621     int mem_base;
   23622     xmlNodePtr ret_val;
   23623     xmlDocPtr doc; /* the document */
   23624     int n_doc;
   23625     xmlChar * value; /* the value of the text */
   23626     int n_value;
   23627     int len; /* the length of the string value */
   23628     int n_len;
   23629 
   23630     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   23631     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23632     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   23633         mem_base = xmlMemBlocks();
   23634         doc = gen_xmlDocPtr(n_doc, 0);
   23635         value = gen_const_xmlChar_ptr(n_value, 1);
   23636         len = gen_int(n_len, 2);
   23637 
   23638         ret_val = xmlStringLenGetNodeList(doc, (const xmlChar *)value, len);
   23639         desret_xmlNodePtr(ret_val);
   23640         call_tests++;
   23641         des_xmlDocPtr(n_doc, doc, 0);
   23642         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   23643         des_int(n_len, len, 2);
   23644         xmlResetLastError();
   23645         if (mem_base != xmlMemBlocks()) {
   23646             printf("Leak of %d blocks found in xmlStringLenGetNodeList",
   23647 	           xmlMemBlocks() - mem_base);
   23648 	    test_ret++;
   23649             printf(" %d", n_doc);
   23650             printf(" %d", n_value);
   23651             printf(" %d", n_len);
   23652             printf("\n");
   23653         }
   23654     }
   23655     }
   23656     }
   23657     function_tests++;
   23658 
   23659     return(test_ret);
   23660 }
   23661 
   23662 
   23663 static int
   23664 test_xmlTextConcat(void) {
   23665     int test_ret = 0;
   23666 
   23667     int mem_base;
   23668     int ret_val;
   23669     xmlNodePtr node; /* the node */
   23670     int n_node;
   23671     xmlChar * content; /* the content */
   23672     int n_content;
   23673     int len; /* @content length */
   23674     int n_len;
   23675 
   23676     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23677     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   23678     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   23679         mem_base = xmlMemBlocks();
   23680         node = gen_xmlNodePtr(n_node, 0);
   23681         content = gen_const_xmlChar_ptr(n_content, 1);
   23682         len = gen_int(n_len, 2);
   23683 
   23684         ret_val = xmlTextConcat(node, (const xmlChar *)content, len);
   23685         desret_int(ret_val);
   23686         call_tests++;
   23687         des_xmlNodePtr(n_node, node, 0);
   23688         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   23689         des_int(n_len, len, 2);
   23690         xmlResetLastError();
   23691         if (mem_base != xmlMemBlocks()) {
   23692             printf("Leak of %d blocks found in xmlTextConcat",
   23693 	           xmlMemBlocks() - mem_base);
   23694 	    test_ret++;
   23695             printf(" %d", n_node);
   23696             printf(" %d", n_content);
   23697             printf(" %d", n_len);
   23698             printf("\n");
   23699         }
   23700     }
   23701     }
   23702     }
   23703     function_tests++;
   23704 
   23705     return(test_ret);
   23706 }
   23707 
   23708 
   23709 static int
   23710 test_xmlTextMerge(void) {
   23711     int test_ret = 0;
   23712 
   23713     int mem_base;
   23714     xmlNodePtr ret_val;
   23715     xmlNodePtr first; /* the first text node */
   23716     int n_first;
   23717     xmlNodePtr second; /* the second text node being merged */
   23718     int n_second;
   23719 
   23720     for (n_first = 0;n_first < gen_nb_xmlNodePtr_in;n_first++) {
   23721     for (n_second = 0;n_second < gen_nb_xmlNodePtr_in;n_second++) {
   23722         mem_base = xmlMemBlocks();
   23723         first = gen_xmlNodePtr_in(n_first, 0);
   23724         second = gen_xmlNodePtr_in(n_second, 1);
   23725 
   23726         ret_val = xmlTextMerge(first, second);
   23727         if ((first != NULL) && (first->type != XML_TEXT_NODE)) {
   23728               xmlUnlinkNode(second);
   23729               xmlFreeNode(second) ; second = NULL ; }
   23730         desret_xmlNodePtr(ret_val);
   23731         call_tests++;
   23732         des_xmlNodePtr_in(n_first, first, 0);
   23733         des_xmlNodePtr_in(n_second, second, 1);
   23734         xmlResetLastError();
   23735         if (mem_base != xmlMemBlocks()) {
   23736             printf("Leak of %d blocks found in xmlTextMerge",
   23737 	           xmlMemBlocks() - mem_base);
   23738 	    test_ret++;
   23739             printf(" %d", n_first);
   23740             printf(" %d", n_second);
   23741             printf("\n");
   23742         }
   23743     }
   23744     }
   23745     function_tests++;
   23746 
   23747     return(test_ret);
   23748 }
   23749 
   23750 
   23751 static int
   23752 test_xmlUnsetNsProp(void) {
   23753     int test_ret = 0;
   23754 
   23755 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   23756     int mem_base;
   23757     int ret_val;
   23758     xmlNodePtr node; /* the node */
   23759     int n_node;
   23760     xmlNsPtr ns; /* the namespace definition */
   23761     int n_ns;
   23762     xmlChar * name; /* the attribute name */
   23763     int n_name;
   23764 
   23765     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23766     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   23767     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   23768         mem_base = xmlMemBlocks();
   23769         node = gen_xmlNodePtr(n_node, 0);
   23770         ns = gen_xmlNsPtr(n_ns, 1);
   23771         name = gen_const_xmlChar_ptr(n_name, 2);
   23772 
   23773         ret_val = xmlUnsetNsProp(node, ns, (const xmlChar *)name);
   23774         desret_int(ret_val);
   23775         call_tests++;
   23776         des_xmlNodePtr(n_node, node, 0);
   23777         des_xmlNsPtr(n_ns, ns, 1);
   23778         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   23779         xmlResetLastError();
   23780         if (mem_base != xmlMemBlocks()) {
   23781             printf("Leak of %d blocks found in xmlUnsetNsProp",
   23782 	           xmlMemBlocks() - mem_base);
   23783 	    test_ret++;
   23784             printf(" %d", n_node);
   23785             printf(" %d", n_ns);
   23786             printf(" %d", n_name);
   23787             printf("\n");
   23788         }
   23789     }
   23790     }
   23791     }
   23792     function_tests++;
   23793 #endif
   23794 
   23795     return(test_ret);
   23796 }
   23797 
   23798 
   23799 static int
   23800 test_xmlUnsetProp(void) {
   23801     int test_ret = 0;
   23802 
   23803 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   23804     int mem_base;
   23805     int ret_val;
   23806     xmlNodePtr node; /* the node */
   23807     int n_node;
   23808     xmlChar * name; /* the attribute name */
   23809     int n_name;
   23810 
   23811     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   23812     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   23813         mem_base = xmlMemBlocks();
   23814         node = gen_xmlNodePtr(n_node, 0);
   23815         name = gen_const_xmlChar_ptr(n_name, 1);
   23816 
   23817         ret_val = xmlUnsetProp(node, (const xmlChar *)name);
   23818         desret_int(ret_val);
   23819         call_tests++;
   23820         des_xmlNodePtr(n_node, node, 0);
   23821         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   23822         xmlResetLastError();
   23823         if (mem_base != xmlMemBlocks()) {
   23824             printf("Leak of %d blocks found in xmlUnsetProp",
   23825 	           xmlMemBlocks() - mem_base);
   23826 	    test_ret++;
   23827             printf(" %d", n_node);
   23828             printf(" %d", n_name);
   23829             printf("\n");
   23830         }
   23831     }
   23832     }
   23833     function_tests++;
   23834 #endif
   23835 
   23836     return(test_ret);
   23837 }
   23838 
   23839 
   23840 static int
   23841 test_xmlValidateNCName(void) {
   23842     int test_ret = 0;
   23843 
   23844 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
   23845 #ifdef LIBXML_TREE_ENABLED
   23846     int mem_base;
   23847     int ret_val;
   23848     xmlChar * value; /* the value to check */
   23849     int n_value;
   23850     int space; /* allow spaces in front and end of the string */
   23851     int n_space;
   23852 
   23853     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23854     for (n_space = 0;n_space < gen_nb_int;n_space++) {
   23855         mem_base = xmlMemBlocks();
   23856         value = gen_const_xmlChar_ptr(n_value, 0);
   23857         space = gen_int(n_space, 1);
   23858 
   23859         ret_val = xmlValidateNCName((const xmlChar *)value, space);
   23860         desret_int(ret_val);
   23861         call_tests++;
   23862         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   23863         des_int(n_space, space, 1);
   23864         xmlResetLastError();
   23865         if (mem_base != xmlMemBlocks()) {
   23866             printf("Leak of %d blocks found in xmlValidateNCName",
   23867 	           xmlMemBlocks() - mem_base);
   23868 	    test_ret++;
   23869             printf(" %d", n_value);
   23870             printf(" %d", n_space);
   23871             printf("\n");
   23872         }
   23873     }
   23874     }
   23875     function_tests++;
   23876 #endif
   23877 #endif
   23878 
   23879     return(test_ret);
   23880 }
   23881 
   23882 
   23883 static int
   23884 test_xmlValidateNMToken(void) {
   23885     int test_ret = 0;
   23886 
   23887 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   23888 #ifdef LIBXML_TREE_ENABLED
   23889     int mem_base;
   23890     int ret_val;
   23891     xmlChar * value; /* the value to check */
   23892     int n_value;
   23893     int space; /* allow spaces in front and end of the string */
   23894     int n_space;
   23895 
   23896     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23897     for (n_space = 0;n_space < gen_nb_int;n_space++) {
   23898         mem_base = xmlMemBlocks();
   23899         value = gen_const_xmlChar_ptr(n_value, 0);
   23900         space = gen_int(n_space, 1);
   23901 
   23902         ret_val = xmlValidateNMToken((const xmlChar *)value, space);
   23903         desret_int(ret_val);
   23904         call_tests++;
   23905         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   23906         des_int(n_space, space, 1);
   23907         xmlResetLastError();
   23908         if (mem_base != xmlMemBlocks()) {
   23909             printf("Leak of %d blocks found in xmlValidateNMToken",
   23910 	           xmlMemBlocks() - mem_base);
   23911 	    test_ret++;
   23912             printf(" %d", n_value);
   23913             printf(" %d", n_space);
   23914             printf("\n");
   23915         }
   23916     }
   23917     }
   23918     function_tests++;
   23919 #endif
   23920 #endif
   23921 
   23922     return(test_ret);
   23923 }
   23924 
   23925 
   23926 static int
   23927 test_xmlValidateName(void) {
   23928     int test_ret = 0;
   23929 
   23930 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   23931 #ifdef LIBXML_TREE_ENABLED
   23932     int mem_base;
   23933     int ret_val;
   23934     xmlChar * value; /* the value to check */
   23935     int n_value;
   23936     int space; /* allow spaces in front and end of the string */
   23937     int n_space;
   23938 
   23939     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23940     for (n_space = 0;n_space < gen_nb_int;n_space++) {
   23941         mem_base = xmlMemBlocks();
   23942         value = gen_const_xmlChar_ptr(n_value, 0);
   23943         space = gen_int(n_space, 1);
   23944 
   23945         ret_val = xmlValidateName((const xmlChar *)value, space);
   23946         desret_int(ret_val);
   23947         call_tests++;
   23948         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   23949         des_int(n_space, space, 1);
   23950         xmlResetLastError();
   23951         if (mem_base != xmlMemBlocks()) {
   23952             printf("Leak of %d blocks found in xmlValidateName",
   23953 	           xmlMemBlocks() - mem_base);
   23954 	    test_ret++;
   23955             printf(" %d", n_value);
   23956             printf(" %d", n_space);
   23957             printf("\n");
   23958         }
   23959     }
   23960     }
   23961     function_tests++;
   23962 #endif
   23963 #endif
   23964 
   23965     return(test_ret);
   23966 }
   23967 
   23968 
   23969 static int
   23970 test_xmlValidateQName(void) {
   23971     int test_ret = 0;
   23972 
   23973 #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   23974 #ifdef LIBXML_TREE_ENABLED
   23975     int mem_base;
   23976     int ret_val;
   23977     xmlChar * value; /* the value to check */
   23978     int n_value;
   23979     int space; /* allow spaces in front and end of the string */
   23980     int n_space;
   23981 
   23982     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   23983     for (n_space = 0;n_space < gen_nb_int;n_space++) {
   23984         mem_base = xmlMemBlocks();
   23985         value = gen_const_xmlChar_ptr(n_value, 0);
   23986         space = gen_int(n_space, 1);
   23987 
   23988         ret_val = xmlValidateQName((const xmlChar *)value, space);
   23989         desret_int(ret_val);
   23990         call_tests++;
   23991         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   23992         des_int(n_space, space, 1);
   23993         xmlResetLastError();
   23994         if (mem_base != xmlMemBlocks()) {
   23995             printf("Leak of %d blocks found in xmlValidateQName",
   23996 	           xmlMemBlocks() - mem_base);
   23997 	    test_ret++;
   23998             printf(" %d", n_value);
   23999             printf(" %d", n_space);
   24000             printf("\n");
   24001         }
   24002     }
   24003     }
   24004     function_tests++;
   24005 #endif
   24006 #endif
   24007 
   24008     return(test_ret);
   24009 }
   24010 
   24011 static int
   24012 test_tree(void) {
   24013     int test_ret = 0;
   24014 
   24015     if (quiet == 0) printf("Testing tree : 138 of 157 functions ...\n");
   24016     test_ret += test_xmlAddChild();
   24017     test_ret += test_xmlAddChildList();
   24018     test_ret += test_xmlAddNextSibling();
   24019     test_ret += test_xmlAddPrevSibling();
   24020     test_ret += test_xmlAddSibling();
   24021     test_ret += test_xmlAttrSerializeTxtContent();
   24022     test_ret += test_xmlBufferAdd();
   24023     test_ret += test_xmlBufferAddHead();
   24024     test_ret += test_xmlBufferCCat();
   24025     test_ret += test_xmlBufferCat();
   24026     test_ret += test_xmlBufferContent();
   24027     test_ret += test_xmlBufferCreate();
   24028     test_ret += test_xmlBufferCreateSize();
   24029     test_ret += test_xmlBufferCreateStatic();
   24030     test_ret += test_xmlBufferEmpty();
   24031     test_ret += test_xmlBufferGrow();
   24032     test_ret += test_xmlBufferLength();
   24033     test_ret += test_xmlBufferResize();
   24034     test_ret += test_xmlBufferSetAllocationScheme();
   24035     test_ret += test_xmlBufferShrink();
   24036     test_ret += test_xmlBufferWriteCHAR();
   24037     test_ret += test_xmlBufferWriteChar();
   24038     test_ret += test_xmlBufferWriteQuotedString();
   24039     test_ret += test_xmlBuildQName();
   24040     test_ret += test_xmlChildElementCount();
   24041     test_ret += test_xmlCopyDoc();
   24042     test_ret += test_xmlCopyDtd();
   24043     test_ret += test_xmlCopyNamespace();
   24044     test_ret += test_xmlCopyNamespaceList();
   24045     test_ret += test_xmlCopyNode();
   24046     test_ret += test_xmlCopyNodeList();
   24047     test_ret += test_xmlCopyProp();
   24048     test_ret += test_xmlCopyPropList();
   24049     test_ret += test_xmlCreateIntSubset();
   24050     test_ret += test_xmlDOMWrapAdoptNode();
   24051     test_ret += test_xmlDOMWrapCloneNode();
   24052     test_ret += test_xmlDOMWrapNewCtxt();
   24053     test_ret += test_xmlDOMWrapReconcileNamespaces();
   24054     test_ret += test_xmlDOMWrapRemoveNode();
   24055     test_ret += test_xmlDocCopyNode();
   24056     test_ret += test_xmlDocCopyNodeList();
   24057     test_ret += test_xmlDocDump();
   24058     test_ret += test_xmlDocDumpFormatMemory();
   24059     test_ret += test_xmlDocDumpFormatMemoryEnc();
   24060     test_ret += test_xmlDocDumpMemory();
   24061     test_ret += test_xmlDocDumpMemoryEnc();
   24062     test_ret += test_xmlDocFormatDump();
   24063     test_ret += test_xmlDocGetRootElement();
   24064     test_ret += test_xmlDocSetRootElement();
   24065     test_ret += test_xmlElemDump();
   24066     test_ret += test_xmlFirstElementChild();
   24067     test_ret += test_xmlGetBufferAllocationScheme();
   24068     test_ret += test_xmlGetCompressMode();
   24069     test_ret += test_xmlGetDocCompressMode();
   24070     test_ret += test_xmlGetIntSubset();
   24071     test_ret += test_xmlGetLastChild();
   24072     test_ret += test_xmlGetLineNo();
   24073     test_ret += test_xmlGetNoNsProp();
   24074     test_ret += test_xmlGetNodePath();
   24075     test_ret += test_xmlGetNsList();
   24076     test_ret += test_xmlGetNsProp();
   24077     test_ret += test_xmlGetProp();
   24078     test_ret += test_xmlHasNsProp();
   24079     test_ret += test_xmlHasProp();
   24080     test_ret += test_xmlIsBlankNode();
   24081     test_ret += test_xmlIsXHTML();
   24082     test_ret += test_xmlLastElementChild();
   24083     test_ret += test_xmlNewCDataBlock();
   24084     test_ret += test_xmlNewCharRef();
   24085     test_ret += test_xmlNewChild();
   24086     test_ret += test_xmlNewComment();
   24087     test_ret += test_xmlNewDoc();
   24088     test_ret += test_xmlNewDocComment();
   24089     test_ret += test_xmlNewDocFragment();
   24090     test_ret += test_xmlNewDocNode();
   24091     test_ret += test_xmlNewDocNodeEatName();
   24092     test_ret += test_xmlNewDocPI();
   24093     test_ret += test_xmlNewDocProp();
   24094     test_ret += test_xmlNewDocRawNode();
   24095     test_ret += test_xmlNewDocText();
   24096     test_ret += test_xmlNewDocTextLen();
   24097     test_ret += test_xmlNewDtd();
   24098     test_ret += test_xmlNewNode();
   24099     test_ret += test_xmlNewNodeEatName();
   24100     test_ret += test_xmlNewNs();
   24101     test_ret += test_xmlNewNsProp();
   24102     test_ret += test_xmlNewNsPropEatName();
   24103     test_ret += test_xmlNewPI();
   24104     test_ret += test_xmlNewProp();
   24105     test_ret += test_xmlNewReference();
   24106     test_ret += test_xmlNewText();
   24107     test_ret += test_xmlNewTextChild();
   24108     test_ret += test_xmlNewTextLen();
   24109     test_ret += test_xmlNextElementSibling();
   24110     test_ret += test_xmlNodeAddContent();
   24111     test_ret += test_xmlNodeAddContentLen();
   24112     test_ret += test_xmlNodeBufGetContent();
   24113     test_ret += test_xmlNodeDump();
   24114     test_ret += test_xmlNodeDumpOutput();
   24115     test_ret += test_xmlNodeGetBase();
   24116     test_ret += test_xmlNodeGetContent();
   24117     test_ret += test_xmlNodeGetLang();
   24118     test_ret += test_xmlNodeGetSpacePreserve();
   24119     test_ret += test_xmlNodeIsText();
   24120     test_ret += test_xmlNodeListGetRawString();
   24121     test_ret += test_xmlNodeListGetString();
   24122     test_ret += test_xmlNodeSetBase();
   24123     test_ret += test_xmlNodeSetContent();
   24124     test_ret += test_xmlNodeSetContentLen();
   24125     test_ret += test_xmlNodeSetLang();
   24126     test_ret += test_xmlNodeSetName();
   24127     test_ret += test_xmlNodeSetSpacePreserve();
   24128     test_ret += test_xmlPreviousElementSibling();
   24129     test_ret += test_xmlReconciliateNs();
   24130     test_ret += test_xmlRemoveProp();
   24131     test_ret += test_xmlReplaceNode();
   24132     test_ret += test_xmlSaveFile();
   24133     test_ret += test_xmlSaveFileEnc();
   24134     test_ret += test_xmlSaveFileTo();
   24135     test_ret += test_xmlSaveFormatFile();
   24136     test_ret += test_xmlSaveFormatFileEnc();
   24137     test_ret += test_xmlSaveFormatFileTo();
   24138     test_ret += test_xmlSearchNs();
   24139     test_ret += test_xmlSearchNsByHref();
   24140     test_ret += test_xmlSetBufferAllocationScheme();
   24141     test_ret += test_xmlSetCompressMode();
   24142     test_ret += test_xmlSetDocCompressMode();
   24143     test_ret += test_xmlSetNs();
   24144     test_ret += test_xmlSetNsProp();
   24145     test_ret += test_xmlSetProp();
   24146     test_ret += test_xmlSplitQName2();
   24147     test_ret += test_xmlSplitQName3();
   24148     test_ret += test_xmlStringGetNodeList();
   24149     test_ret += test_xmlStringLenGetNodeList();
   24150     test_ret += test_xmlTextConcat();
   24151     test_ret += test_xmlTextMerge();
   24152     test_ret += test_xmlUnsetNsProp();
   24153     test_ret += test_xmlUnsetProp();
   24154     test_ret += test_xmlValidateNCName();
   24155     test_ret += test_xmlValidateNMToken();
   24156     test_ret += test_xmlValidateName();
   24157     test_ret += test_xmlValidateQName();
   24158 
   24159     if (test_ret != 0)
   24160 	printf("Module tree: %d errors\n", test_ret);
   24161     return(test_ret);
   24162 }
   24163 
   24164 static int
   24165 test_xmlBuildRelativeURI(void) {
   24166     int test_ret = 0;
   24167 
   24168     int mem_base;
   24169     xmlChar * ret_val;
   24170     xmlChar * URI; /* the URI reference under consideration */
   24171     int n_URI;
   24172     xmlChar * base; /* the base value */
   24173     int n_base;
   24174 
   24175     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   24176     for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
   24177         mem_base = xmlMemBlocks();
   24178         URI = gen_const_xmlChar_ptr(n_URI, 0);
   24179         base = gen_const_xmlChar_ptr(n_base, 1);
   24180 
   24181         ret_val = xmlBuildRelativeURI((const xmlChar *)URI, (const xmlChar *)base);
   24182         desret_xmlChar_ptr(ret_val);
   24183         call_tests++;
   24184         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
   24185         des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
   24186         xmlResetLastError();
   24187         if (mem_base != xmlMemBlocks()) {
   24188             printf("Leak of %d blocks found in xmlBuildRelativeURI",
   24189 	           xmlMemBlocks() - mem_base);
   24190 	    test_ret++;
   24191             printf(" %d", n_URI);
   24192             printf(" %d", n_base);
   24193             printf("\n");
   24194         }
   24195     }
   24196     }
   24197     function_tests++;
   24198 
   24199     return(test_ret);
   24200 }
   24201 
   24202 
   24203 static int
   24204 test_xmlBuildURI(void) {
   24205     int test_ret = 0;
   24206 
   24207     int mem_base;
   24208     xmlChar * ret_val;
   24209     xmlChar * URI; /* the URI instance found in the document */
   24210     int n_URI;
   24211     xmlChar * base; /* the base value */
   24212     int n_base;
   24213 
   24214     for (n_URI = 0;n_URI < gen_nb_const_xmlChar_ptr;n_URI++) {
   24215     for (n_base = 0;n_base < gen_nb_const_xmlChar_ptr;n_base++) {
   24216         mem_base = xmlMemBlocks();
   24217         URI = gen_const_xmlChar_ptr(n_URI, 0);
   24218         base = gen_const_xmlChar_ptr(n_base, 1);
   24219 
   24220         ret_val = xmlBuildURI((const xmlChar *)URI, (const xmlChar *)base);
   24221         desret_xmlChar_ptr(ret_val);
   24222         call_tests++;
   24223         des_const_xmlChar_ptr(n_URI, (const xmlChar *)URI, 0);
   24224         des_const_xmlChar_ptr(n_base, (const xmlChar *)base, 1);
   24225         xmlResetLastError();
   24226         if (mem_base != xmlMemBlocks()) {
   24227             printf("Leak of %d blocks found in xmlBuildURI",
   24228 	           xmlMemBlocks() - mem_base);
   24229 	    test_ret++;
   24230             printf(" %d", n_URI);
   24231             printf(" %d", n_base);
   24232             printf("\n");
   24233         }
   24234     }
   24235     }
   24236     function_tests++;
   24237 
   24238     return(test_ret);
   24239 }
   24240 
   24241 
   24242 static int
   24243 test_xmlCanonicPath(void) {
   24244     int test_ret = 0;
   24245 
   24246     int mem_base;
   24247     xmlChar * ret_val;
   24248     xmlChar * path; /* the resource locator in a filesystem notation */
   24249     int n_path;
   24250 
   24251     for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
   24252         mem_base = xmlMemBlocks();
   24253         path = gen_const_xmlChar_ptr(n_path, 0);
   24254 
   24255         ret_val = xmlCanonicPath((const xmlChar *)path);
   24256         desret_xmlChar_ptr(ret_val);
   24257         call_tests++;
   24258         des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
   24259         xmlResetLastError();
   24260         if (mem_base != xmlMemBlocks()) {
   24261             printf("Leak of %d blocks found in xmlCanonicPath",
   24262 	           xmlMemBlocks() - mem_base);
   24263 	    test_ret++;
   24264             printf(" %d", n_path);
   24265             printf("\n");
   24266         }
   24267     }
   24268     function_tests++;
   24269 
   24270     return(test_ret);
   24271 }
   24272 
   24273 
   24274 static int
   24275 test_xmlCreateURI(void) {
   24276     int test_ret = 0;
   24277 
   24278 
   24279     /* missing type support */
   24280     return(test_ret);
   24281 }
   24282 
   24283 
   24284 static int
   24285 test_xmlNormalizeURIPath(void) {
   24286     int test_ret = 0;
   24287 
   24288     int mem_base;
   24289     int ret_val;
   24290     char * path; /* pointer to the path string */
   24291     int n_path;
   24292 
   24293     for (n_path = 0;n_path < gen_nb_char_ptr;n_path++) {
   24294         mem_base = xmlMemBlocks();
   24295         path = gen_char_ptr(n_path, 0);
   24296 
   24297         ret_val = xmlNormalizeURIPath(path);
   24298         desret_int(ret_val);
   24299         call_tests++;
   24300         des_char_ptr(n_path, path, 0);
   24301         xmlResetLastError();
   24302         if (mem_base != xmlMemBlocks()) {
   24303             printf("Leak of %d blocks found in xmlNormalizeURIPath",
   24304 	           xmlMemBlocks() - mem_base);
   24305 	    test_ret++;
   24306             printf(" %d", n_path);
   24307             printf("\n");
   24308         }
   24309     }
   24310     function_tests++;
   24311 
   24312     return(test_ret);
   24313 }
   24314 
   24315 
   24316 static int
   24317 test_xmlParseURI(void) {
   24318     int test_ret = 0;
   24319 
   24320 
   24321     /* missing type support */
   24322     return(test_ret);
   24323 }
   24324 
   24325 
   24326 static int
   24327 test_xmlParseURIRaw(void) {
   24328     int test_ret = 0;
   24329 
   24330 
   24331     /* missing type support */
   24332     return(test_ret);
   24333 }
   24334 
   24335 
   24336 #define gen_nb_xmlURIPtr 1
   24337 static xmlURIPtr gen_xmlURIPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24338     return(NULL);
   24339 }
   24340 static void des_xmlURIPtr(int no ATTRIBUTE_UNUSED, xmlURIPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24341 }
   24342 
   24343 static int
   24344 test_xmlParseURIReference(void) {
   24345     int test_ret = 0;
   24346 
   24347     int mem_base;
   24348     int ret_val;
   24349     xmlURIPtr uri; /* pointer to an URI structure */
   24350     int n_uri;
   24351     char * str; /* the string to analyze */
   24352     int n_str;
   24353 
   24354     for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
   24355     for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
   24356         mem_base = xmlMemBlocks();
   24357         uri = gen_xmlURIPtr(n_uri, 0);
   24358         str = gen_const_char_ptr(n_str, 1);
   24359 
   24360         ret_val = xmlParseURIReference(uri, (const char *)str);
   24361         desret_int(ret_val);
   24362         call_tests++;
   24363         des_xmlURIPtr(n_uri, uri, 0);
   24364         des_const_char_ptr(n_str, (const char *)str, 1);
   24365         xmlResetLastError();
   24366         if (mem_base != xmlMemBlocks()) {
   24367             printf("Leak of %d blocks found in xmlParseURIReference",
   24368 	           xmlMemBlocks() - mem_base);
   24369 	    test_ret++;
   24370             printf(" %d", n_uri);
   24371             printf(" %d", n_str);
   24372             printf("\n");
   24373         }
   24374     }
   24375     }
   24376     function_tests++;
   24377 
   24378     return(test_ret);
   24379 }
   24380 
   24381 
   24382 static int
   24383 test_xmlPathToURI(void) {
   24384     int test_ret = 0;
   24385 
   24386     int mem_base;
   24387     xmlChar * ret_val;
   24388     xmlChar * path; /* the resource locator in a filesystem notation */
   24389     int n_path;
   24390 
   24391     for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
   24392         mem_base = xmlMemBlocks();
   24393         path = gen_const_xmlChar_ptr(n_path, 0);
   24394 
   24395         ret_val = xmlPathToURI((const xmlChar *)path);
   24396         desret_xmlChar_ptr(ret_val);
   24397         call_tests++;
   24398         des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
   24399         xmlResetLastError();
   24400         if (mem_base != xmlMemBlocks()) {
   24401             printf("Leak of %d blocks found in xmlPathToURI",
   24402 	           xmlMemBlocks() - mem_base);
   24403 	    test_ret++;
   24404             printf(" %d", n_path);
   24405             printf("\n");
   24406         }
   24407     }
   24408     function_tests++;
   24409 
   24410     return(test_ret);
   24411 }
   24412 
   24413 
   24414 static int
   24415 test_xmlPrintURI(void) {
   24416     int test_ret = 0;
   24417 
   24418     int mem_base;
   24419     FILE * stream; /* a FILE* for the output */
   24420     int n_stream;
   24421     xmlURIPtr uri; /* pointer to an xmlURI */
   24422     int n_uri;
   24423 
   24424     for (n_stream = 0;n_stream < gen_nb_FILE_ptr;n_stream++) {
   24425     for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
   24426         mem_base = xmlMemBlocks();
   24427         stream = gen_FILE_ptr(n_stream, 0);
   24428         uri = gen_xmlURIPtr(n_uri, 1);
   24429 
   24430         xmlPrintURI(stream, uri);
   24431         call_tests++;
   24432         des_FILE_ptr(n_stream, stream, 0);
   24433         des_xmlURIPtr(n_uri, uri, 1);
   24434         xmlResetLastError();
   24435         if (mem_base != xmlMemBlocks()) {
   24436             printf("Leak of %d blocks found in xmlPrintURI",
   24437 	           xmlMemBlocks() - mem_base);
   24438 	    test_ret++;
   24439             printf(" %d", n_stream);
   24440             printf(" %d", n_uri);
   24441             printf("\n");
   24442         }
   24443     }
   24444     }
   24445     function_tests++;
   24446 
   24447     return(test_ret);
   24448 }
   24449 
   24450 
   24451 static int
   24452 test_xmlSaveUri(void) {
   24453     int test_ret = 0;
   24454 
   24455     int mem_base;
   24456     xmlChar * ret_val;
   24457     xmlURIPtr uri; /* pointer to an xmlURI */
   24458     int n_uri;
   24459 
   24460     for (n_uri = 0;n_uri < gen_nb_xmlURIPtr;n_uri++) {
   24461         mem_base = xmlMemBlocks();
   24462         uri = gen_xmlURIPtr(n_uri, 0);
   24463 
   24464         ret_val = xmlSaveUri(uri);
   24465         desret_xmlChar_ptr(ret_val);
   24466         call_tests++;
   24467         des_xmlURIPtr(n_uri, uri, 0);
   24468         xmlResetLastError();
   24469         if (mem_base != xmlMemBlocks()) {
   24470             printf("Leak of %d blocks found in xmlSaveUri",
   24471 	           xmlMemBlocks() - mem_base);
   24472 	    test_ret++;
   24473             printf(" %d", n_uri);
   24474             printf("\n");
   24475         }
   24476     }
   24477     function_tests++;
   24478 
   24479     return(test_ret);
   24480 }
   24481 
   24482 
   24483 static int
   24484 test_xmlURIEscape(void) {
   24485     int test_ret = 0;
   24486 
   24487     int mem_base;
   24488     xmlChar * ret_val;
   24489     xmlChar * str; /* the string of the URI to escape */
   24490     int n_str;
   24491 
   24492     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   24493         mem_base = xmlMemBlocks();
   24494         str = gen_const_xmlChar_ptr(n_str, 0);
   24495 
   24496         ret_val = xmlURIEscape((const xmlChar *)str);
   24497         desret_xmlChar_ptr(ret_val);
   24498         call_tests++;
   24499         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   24500         xmlResetLastError();
   24501         if (mem_base != xmlMemBlocks()) {
   24502             printf("Leak of %d blocks found in xmlURIEscape",
   24503 	           xmlMemBlocks() - mem_base);
   24504 	    test_ret++;
   24505             printf(" %d", n_str);
   24506             printf("\n");
   24507         }
   24508     }
   24509     function_tests++;
   24510 
   24511     return(test_ret);
   24512 }
   24513 
   24514 
   24515 static int
   24516 test_xmlURIEscapeStr(void) {
   24517     int test_ret = 0;
   24518 
   24519     int mem_base;
   24520     xmlChar * ret_val;
   24521     xmlChar * str; /* string to escape */
   24522     int n_str;
   24523     xmlChar * list; /* exception list string of chars not to escape */
   24524     int n_list;
   24525 
   24526     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   24527     for (n_list = 0;n_list < gen_nb_const_xmlChar_ptr;n_list++) {
   24528         mem_base = xmlMemBlocks();
   24529         str = gen_const_xmlChar_ptr(n_str, 0);
   24530         list = gen_const_xmlChar_ptr(n_list, 1);
   24531 
   24532         ret_val = xmlURIEscapeStr((const xmlChar *)str, (const xmlChar *)list);
   24533         desret_xmlChar_ptr(ret_val);
   24534         call_tests++;
   24535         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   24536         des_const_xmlChar_ptr(n_list, (const xmlChar *)list, 1);
   24537         xmlResetLastError();
   24538         if (mem_base != xmlMemBlocks()) {
   24539             printf("Leak of %d blocks found in xmlURIEscapeStr",
   24540 	           xmlMemBlocks() - mem_base);
   24541 	    test_ret++;
   24542             printf(" %d", n_str);
   24543             printf(" %d", n_list);
   24544             printf("\n");
   24545         }
   24546     }
   24547     }
   24548     function_tests++;
   24549 
   24550     return(test_ret);
   24551 }
   24552 
   24553 
   24554 static int
   24555 test_xmlURIUnescapeString(void) {
   24556     int test_ret = 0;
   24557 
   24558 
   24559     /* missing type support */
   24560     return(test_ret);
   24561 }
   24562 
   24563 static int
   24564 test_uri(void) {
   24565     int test_ret = 0;
   24566 
   24567     if (quiet == 0) printf("Testing uri : 10 of 15 functions ...\n");
   24568     test_ret += test_xmlBuildRelativeURI();
   24569     test_ret += test_xmlBuildURI();
   24570     test_ret += test_xmlCanonicPath();
   24571     test_ret += test_xmlCreateURI();
   24572     test_ret += test_xmlNormalizeURIPath();
   24573     test_ret += test_xmlParseURI();
   24574     test_ret += test_xmlParseURIRaw();
   24575     test_ret += test_xmlParseURIReference();
   24576     test_ret += test_xmlPathToURI();
   24577     test_ret += test_xmlPrintURI();
   24578     test_ret += test_xmlSaveUri();
   24579     test_ret += test_xmlURIEscape();
   24580     test_ret += test_xmlURIEscapeStr();
   24581     test_ret += test_xmlURIUnescapeString();
   24582 
   24583     if (test_ret != 0)
   24584 	printf("Module uri: %d errors\n", test_ret);
   24585     return(test_ret);
   24586 }
   24587 
   24588 static int
   24589 test_xmlAddAttributeDecl(void) {
   24590     int test_ret = 0;
   24591 
   24592     int mem_base;
   24593     xmlAttributePtr ret_val;
   24594     xmlValidCtxtPtr ctxt; /* the validation context */
   24595     int n_ctxt;
   24596     xmlDtdPtr dtd; /* pointer to the DTD */
   24597     int n_dtd;
   24598     xmlChar * elem; /* the element name */
   24599     int n_elem;
   24600     xmlChar * name; /* the attribute name */
   24601     int n_name;
   24602     xmlChar * ns; /* the attribute namespace prefix */
   24603     int n_ns;
   24604     xmlAttributeType type; /* the attribute type */
   24605     int n_type;
   24606     xmlAttributeDefault def; /* the attribute default type */
   24607     int n_def;
   24608     xmlChar * defaultValue; /* the attribute default value */
   24609     int n_defaultValue;
   24610     xmlEnumerationPtr tree; /* if it's an enumeration, the associated list */
   24611     int n_tree;
   24612 
   24613     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   24614     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   24615     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
   24616     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   24617     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
   24618     for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
   24619     for (n_def = 0;n_def < gen_nb_xmlAttributeDefault;n_def++) {
   24620     for (n_defaultValue = 0;n_defaultValue < gen_nb_const_xmlChar_ptr;n_defaultValue++) {
   24621     for (n_tree = 0;n_tree < gen_nb_xmlEnumerationPtr;n_tree++) {
   24622         mem_base = xmlMemBlocks();
   24623         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   24624         dtd = gen_xmlDtdPtr(n_dtd, 1);
   24625         elem = gen_const_xmlChar_ptr(n_elem, 2);
   24626         name = gen_const_xmlChar_ptr(n_name, 3);
   24627         ns = gen_const_xmlChar_ptr(n_ns, 4);
   24628         type = gen_xmlAttributeType(n_type, 5);
   24629         def = gen_xmlAttributeDefault(n_def, 6);
   24630         defaultValue = gen_const_xmlChar_ptr(n_defaultValue, 7);
   24631         tree = gen_xmlEnumerationPtr(n_tree, 8);
   24632 
   24633         ret_val = xmlAddAttributeDecl(ctxt, dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)ns, type, def, (const xmlChar *)defaultValue, tree);
   24634         desret_xmlAttributePtr(ret_val);
   24635         call_tests++;
   24636         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   24637         des_xmlDtdPtr(n_dtd, dtd, 1);
   24638         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 2);
   24639         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
   24640         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 4);
   24641         des_xmlAttributeType(n_type, type, 5);
   24642         des_xmlAttributeDefault(n_def, def, 6);
   24643         des_const_xmlChar_ptr(n_defaultValue, (const xmlChar *)defaultValue, 7);
   24644         des_xmlEnumerationPtr(n_tree, tree, 8);
   24645         xmlResetLastError();
   24646         if (mem_base != xmlMemBlocks()) {
   24647             printf("Leak of %d blocks found in xmlAddAttributeDecl",
   24648 	           xmlMemBlocks() - mem_base);
   24649 	    test_ret++;
   24650             printf(" %d", n_ctxt);
   24651             printf(" %d", n_dtd);
   24652             printf(" %d", n_elem);
   24653             printf(" %d", n_name);
   24654             printf(" %d", n_ns);
   24655             printf(" %d", n_type);
   24656             printf(" %d", n_def);
   24657             printf(" %d", n_defaultValue);
   24658             printf(" %d", n_tree);
   24659             printf("\n");
   24660         }
   24661     }
   24662     }
   24663     }
   24664     }
   24665     }
   24666     }
   24667     }
   24668     }
   24669     }
   24670     function_tests++;
   24671 
   24672     return(test_ret);
   24673 }
   24674 
   24675 
   24676 static int
   24677 test_xmlAddElementDecl(void) {
   24678     int test_ret = 0;
   24679 
   24680     int mem_base;
   24681     xmlElementPtr ret_val;
   24682     xmlValidCtxtPtr ctxt; /* the validation context */
   24683     int n_ctxt;
   24684     xmlDtdPtr dtd; /* pointer to the DTD */
   24685     int n_dtd;
   24686     xmlChar * name; /* the entity name */
   24687     int n_name;
   24688     xmlElementTypeVal type; /* the element type */
   24689     int n_type;
   24690     xmlElementContentPtr content; /* the element content tree or NULL */
   24691     int n_content;
   24692 
   24693     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   24694     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   24695     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   24696     for (n_type = 0;n_type < gen_nb_xmlElementTypeVal;n_type++) {
   24697     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
   24698         mem_base = xmlMemBlocks();
   24699         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   24700         dtd = gen_xmlDtdPtr(n_dtd, 1);
   24701         name = gen_const_xmlChar_ptr(n_name, 2);
   24702         type = gen_xmlElementTypeVal(n_type, 3);
   24703         content = gen_xmlElementContentPtr(n_content, 4);
   24704 
   24705         ret_val = xmlAddElementDecl(ctxt, dtd, (const xmlChar *)name, type, content);
   24706         desret_xmlElementPtr(ret_val);
   24707         call_tests++;
   24708         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   24709         des_xmlDtdPtr(n_dtd, dtd, 1);
   24710         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   24711         des_xmlElementTypeVal(n_type, type, 3);
   24712         des_xmlElementContentPtr(n_content, content, 4);
   24713         xmlResetLastError();
   24714         if (mem_base != xmlMemBlocks()) {
   24715             printf("Leak of %d blocks found in xmlAddElementDecl",
   24716 	           xmlMemBlocks() - mem_base);
   24717 	    test_ret++;
   24718             printf(" %d", n_ctxt);
   24719             printf(" %d", n_dtd);
   24720             printf(" %d", n_name);
   24721             printf(" %d", n_type);
   24722             printf(" %d", n_content);
   24723             printf("\n");
   24724         }
   24725     }
   24726     }
   24727     }
   24728     }
   24729     }
   24730     function_tests++;
   24731 
   24732     return(test_ret);
   24733 }
   24734 
   24735 
   24736 static int
   24737 test_xmlAddID(void) {
   24738     int test_ret = 0;
   24739 
   24740 
   24741     /* missing type support */
   24742     return(test_ret);
   24743 }
   24744 
   24745 
   24746 static int
   24747 test_xmlAddNotationDecl(void) {
   24748     int test_ret = 0;
   24749 
   24750 
   24751     /* missing type support */
   24752     return(test_ret);
   24753 }
   24754 
   24755 
   24756 static int
   24757 test_xmlAddRef(void) {
   24758     int test_ret = 0;
   24759 
   24760 
   24761     /* missing type support */
   24762     return(test_ret);
   24763 }
   24764 
   24765 
   24766 #define gen_nb_xmlAttributeTablePtr 1
   24767 static xmlAttributeTablePtr gen_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24768     return(NULL);
   24769 }
   24770 static void des_xmlAttributeTablePtr(int no ATTRIBUTE_UNUSED, xmlAttributeTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24771 }
   24772 
   24773 static int
   24774 test_xmlCopyAttributeTable(void) {
   24775     int test_ret = 0;
   24776 
   24777 
   24778     /* missing type support */
   24779     return(test_ret);
   24780 }
   24781 
   24782 
   24783 static int
   24784 test_xmlCopyDocElementContent(void) {
   24785     int test_ret = 0;
   24786 
   24787     int mem_base;
   24788     xmlElementContentPtr ret_val;
   24789     xmlDocPtr doc; /* the document owning the element declaration */
   24790     int n_doc;
   24791     xmlElementContentPtr cur; /* An element content pointer. */
   24792     int n_cur;
   24793 
   24794     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   24795     for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
   24796         mem_base = xmlMemBlocks();
   24797         doc = gen_xmlDocPtr(n_doc, 0);
   24798         cur = gen_xmlElementContentPtr(n_cur, 1);
   24799 
   24800         ret_val = xmlCopyDocElementContent(doc, cur);
   24801         desret_xmlElementContentPtr(ret_val);
   24802         call_tests++;
   24803         des_xmlDocPtr(n_doc, doc, 0);
   24804         des_xmlElementContentPtr(n_cur, cur, 1);
   24805         xmlResetLastError();
   24806         if (mem_base != xmlMemBlocks()) {
   24807             printf("Leak of %d blocks found in xmlCopyDocElementContent",
   24808 	           xmlMemBlocks() - mem_base);
   24809 	    test_ret++;
   24810             printf(" %d", n_doc);
   24811             printf(" %d", n_cur);
   24812             printf("\n");
   24813         }
   24814     }
   24815     }
   24816     function_tests++;
   24817 
   24818     return(test_ret);
   24819 }
   24820 
   24821 
   24822 static int
   24823 test_xmlCopyElementContent(void) {
   24824     int test_ret = 0;
   24825 
   24826     int mem_base;
   24827     xmlElementContentPtr ret_val;
   24828     xmlElementContentPtr cur; /* An element content pointer. */
   24829     int n_cur;
   24830 
   24831     for (n_cur = 0;n_cur < gen_nb_xmlElementContentPtr;n_cur++) {
   24832         mem_base = xmlMemBlocks();
   24833         cur = gen_xmlElementContentPtr(n_cur, 0);
   24834 
   24835         ret_val = xmlCopyElementContent(cur);
   24836         desret_xmlElementContentPtr(ret_val);
   24837         call_tests++;
   24838         des_xmlElementContentPtr(n_cur, cur, 0);
   24839         xmlResetLastError();
   24840         if (mem_base != xmlMemBlocks()) {
   24841             printf("Leak of %d blocks found in xmlCopyElementContent",
   24842 	           xmlMemBlocks() - mem_base);
   24843 	    test_ret++;
   24844             printf(" %d", n_cur);
   24845             printf("\n");
   24846         }
   24847     }
   24848     function_tests++;
   24849 
   24850     return(test_ret);
   24851 }
   24852 
   24853 
   24854 #define gen_nb_xmlElementTablePtr 1
   24855 static xmlElementTablePtr gen_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24856     return(NULL);
   24857 }
   24858 static void des_xmlElementTablePtr(int no ATTRIBUTE_UNUSED, xmlElementTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24859 }
   24860 
   24861 static int
   24862 test_xmlCopyElementTable(void) {
   24863     int test_ret = 0;
   24864 
   24865 
   24866     /* missing type support */
   24867     return(test_ret);
   24868 }
   24869 
   24870 
   24871 static int
   24872 test_xmlCopyEnumeration(void) {
   24873     int test_ret = 0;
   24874 
   24875 
   24876     /* missing type support */
   24877     return(test_ret);
   24878 }
   24879 
   24880 
   24881 #define gen_nb_xmlNotationTablePtr 1
   24882 static xmlNotationTablePtr gen_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24883     return(NULL);
   24884 }
   24885 static void des_xmlNotationTablePtr(int no ATTRIBUTE_UNUSED, xmlNotationTablePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24886 }
   24887 
   24888 static int
   24889 test_xmlCopyNotationTable(void) {
   24890     int test_ret = 0;
   24891 
   24892 
   24893     /* missing type support */
   24894     return(test_ret);
   24895 }
   24896 
   24897 
   24898 static int
   24899 test_xmlCreateEnumeration(void) {
   24900     int test_ret = 0;
   24901 
   24902 
   24903     /* missing type support */
   24904     return(test_ret);
   24905 }
   24906 
   24907 
   24908 #define gen_nb_xmlAttributePtr 1
   24909 static xmlAttributePtr gen_xmlAttributePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24910     return(NULL);
   24911 }
   24912 static void des_xmlAttributePtr(int no ATTRIBUTE_UNUSED, xmlAttributePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24913 }
   24914 
   24915 static int
   24916 test_xmlDumpAttributeDecl(void) {
   24917     int test_ret = 0;
   24918 
   24919 #if defined(LIBXML_OUTPUT_ENABLED)
   24920     int mem_base;
   24921     xmlBufferPtr buf; /* the XML buffer output */
   24922     int n_buf;
   24923     xmlAttributePtr attr; /* An attribute declaration */
   24924     int n_attr;
   24925 
   24926     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   24927     for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
   24928         mem_base = xmlMemBlocks();
   24929         buf = gen_xmlBufferPtr(n_buf, 0);
   24930         attr = gen_xmlAttributePtr(n_attr, 1);
   24931 
   24932         xmlDumpAttributeDecl(buf, attr);
   24933         call_tests++;
   24934         des_xmlBufferPtr(n_buf, buf, 0);
   24935         des_xmlAttributePtr(n_attr, attr, 1);
   24936         xmlResetLastError();
   24937         if (mem_base != xmlMemBlocks()) {
   24938             printf("Leak of %d blocks found in xmlDumpAttributeDecl",
   24939 	           xmlMemBlocks() - mem_base);
   24940 	    test_ret++;
   24941             printf(" %d", n_buf);
   24942             printf(" %d", n_attr);
   24943             printf("\n");
   24944         }
   24945     }
   24946     }
   24947     function_tests++;
   24948 #endif
   24949 
   24950     return(test_ret);
   24951 }
   24952 
   24953 
   24954 static int
   24955 test_xmlDumpAttributeTable(void) {
   24956     int test_ret = 0;
   24957 
   24958 #if defined(LIBXML_OUTPUT_ENABLED)
   24959     int mem_base;
   24960     xmlBufferPtr buf; /* the XML buffer output */
   24961     int n_buf;
   24962     xmlAttributeTablePtr table; /* An attribute table */
   24963     int n_table;
   24964 
   24965     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   24966     for (n_table = 0;n_table < gen_nb_xmlAttributeTablePtr;n_table++) {
   24967         mem_base = xmlMemBlocks();
   24968         buf = gen_xmlBufferPtr(n_buf, 0);
   24969         table = gen_xmlAttributeTablePtr(n_table, 1);
   24970 
   24971         xmlDumpAttributeTable(buf, table);
   24972         call_tests++;
   24973         des_xmlBufferPtr(n_buf, buf, 0);
   24974         des_xmlAttributeTablePtr(n_table, table, 1);
   24975         xmlResetLastError();
   24976         if (mem_base != xmlMemBlocks()) {
   24977             printf("Leak of %d blocks found in xmlDumpAttributeTable",
   24978 	           xmlMemBlocks() - mem_base);
   24979 	    test_ret++;
   24980             printf(" %d", n_buf);
   24981             printf(" %d", n_table);
   24982             printf("\n");
   24983         }
   24984     }
   24985     }
   24986     function_tests++;
   24987 #endif
   24988 
   24989     return(test_ret);
   24990 }
   24991 
   24992 
   24993 #define gen_nb_xmlElementPtr 1
   24994 static xmlElementPtr gen_xmlElementPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24995     return(NULL);
   24996 }
   24997 static void des_xmlElementPtr(int no ATTRIBUTE_UNUSED, xmlElementPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   24998 }
   24999 
   25000 static int
   25001 test_xmlDumpElementDecl(void) {
   25002     int test_ret = 0;
   25003 
   25004 #if defined(LIBXML_OUTPUT_ENABLED)
   25005     int mem_base;
   25006     xmlBufferPtr buf; /* the XML buffer output */
   25007     int n_buf;
   25008     xmlElementPtr elem; /* An element table */
   25009     int n_elem;
   25010 
   25011     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   25012     for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
   25013         mem_base = xmlMemBlocks();
   25014         buf = gen_xmlBufferPtr(n_buf, 0);
   25015         elem = gen_xmlElementPtr(n_elem, 1);
   25016 
   25017         xmlDumpElementDecl(buf, elem);
   25018         call_tests++;
   25019         des_xmlBufferPtr(n_buf, buf, 0);
   25020         des_xmlElementPtr(n_elem, elem, 1);
   25021         xmlResetLastError();
   25022         if (mem_base != xmlMemBlocks()) {
   25023             printf("Leak of %d blocks found in xmlDumpElementDecl",
   25024 	           xmlMemBlocks() - mem_base);
   25025 	    test_ret++;
   25026             printf(" %d", n_buf);
   25027             printf(" %d", n_elem);
   25028             printf("\n");
   25029         }
   25030     }
   25031     }
   25032     function_tests++;
   25033 #endif
   25034 
   25035     return(test_ret);
   25036 }
   25037 
   25038 
   25039 static int
   25040 test_xmlDumpElementTable(void) {
   25041     int test_ret = 0;
   25042 
   25043 #if defined(LIBXML_OUTPUT_ENABLED)
   25044     int mem_base;
   25045     xmlBufferPtr buf; /* the XML buffer output */
   25046     int n_buf;
   25047     xmlElementTablePtr table; /* An element table */
   25048     int n_table;
   25049 
   25050     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   25051     for (n_table = 0;n_table < gen_nb_xmlElementTablePtr;n_table++) {
   25052         mem_base = xmlMemBlocks();
   25053         buf = gen_xmlBufferPtr(n_buf, 0);
   25054         table = gen_xmlElementTablePtr(n_table, 1);
   25055 
   25056         xmlDumpElementTable(buf, table);
   25057         call_tests++;
   25058         des_xmlBufferPtr(n_buf, buf, 0);
   25059         des_xmlElementTablePtr(n_table, table, 1);
   25060         xmlResetLastError();
   25061         if (mem_base != xmlMemBlocks()) {
   25062             printf("Leak of %d blocks found in xmlDumpElementTable",
   25063 	           xmlMemBlocks() - mem_base);
   25064 	    test_ret++;
   25065             printf(" %d", n_buf);
   25066             printf(" %d", n_table);
   25067             printf("\n");
   25068         }
   25069     }
   25070     }
   25071     function_tests++;
   25072 #endif
   25073 
   25074     return(test_ret);
   25075 }
   25076 
   25077 
   25078 #define gen_nb_xmlNotationPtr 1
   25079 static xmlNotationPtr gen_xmlNotationPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   25080     return(NULL);
   25081 }
   25082 static void des_xmlNotationPtr(int no ATTRIBUTE_UNUSED, xmlNotationPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   25083 }
   25084 
   25085 static int
   25086 test_xmlDumpNotationDecl(void) {
   25087     int test_ret = 0;
   25088 
   25089 #if defined(LIBXML_OUTPUT_ENABLED)
   25090     int mem_base;
   25091     xmlBufferPtr buf; /* the XML buffer output */
   25092     int n_buf;
   25093     xmlNotationPtr nota; /* A notation declaration */
   25094     int n_nota;
   25095 
   25096     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   25097     for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
   25098         mem_base = xmlMemBlocks();
   25099         buf = gen_xmlBufferPtr(n_buf, 0);
   25100         nota = gen_xmlNotationPtr(n_nota, 1);
   25101 
   25102         xmlDumpNotationDecl(buf, nota);
   25103         call_tests++;
   25104         des_xmlBufferPtr(n_buf, buf, 0);
   25105         des_xmlNotationPtr(n_nota, nota, 1);
   25106         xmlResetLastError();
   25107         if (mem_base != xmlMemBlocks()) {
   25108             printf("Leak of %d blocks found in xmlDumpNotationDecl",
   25109 	           xmlMemBlocks() - mem_base);
   25110 	    test_ret++;
   25111             printf(" %d", n_buf);
   25112             printf(" %d", n_nota);
   25113             printf("\n");
   25114         }
   25115     }
   25116     }
   25117     function_tests++;
   25118 #endif
   25119 
   25120     return(test_ret);
   25121 }
   25122 
   25123 
   25124 static int
   25125 test_xmlDumpNotationTable(void) {
   25126     int test_ret = 0;
   25127 
   25128 #if defined(LIBXML_OUTPUT_ENABLED)
   25129     int mem_base;
   25130     xmlBufferPtr buf; /* the XML buffer output */
   25131     int n_buf;
   25132     xmlNotationTablePtr table; /* A notation table */
   25133     int n_table;
   25134 
   25135     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   25136     for (n_table = 0;n_table < gen_nb_xmlNotationTablePtr;n_table++) {
   25137         mem_base = xmlMemBlocks();
   25138         buf = gen_xmlBufferPtr(n_buf, 0);
   25139         table = gen_xmlNotationTablePtr(n_table, 1);
   25140 
   25141         xmlDumpNotationTable(buf, table);
   25142         call_tests++;
   25143         des_xmlBufferPtr(n_buf, buf, 0);
   25144         des_xmlNotationTablePtr(n_table, table, 1);
   25145         xmlResetLastError();
   25146         if (mem_base != xmlMemBlocks()) {
   25147             printf("Leak of %d blocks found in xmlDumpNotationTable",
   25148 	           xmlMemBlocks() - mem_base);
   25149 	    test_ret++;
   25150             printf(" %d", n_buf);
   25151             printf(" %d", n_table);
   25152             printf("\n");
   25153         }
   25154     }
   25155     }
   25156     function_tests++;
   25157 #endif
   25158 
   25159     return(test_ret);
   25160 }
   25161 
   25162 
   25163 static int
   25164 test_xmlGetDtdAttrDesc(void) {
   25165     int test_ret = 0;
   25166 
   25167     int mem_base;
   25168     xmlAttributePtr ret_val;
   25169     xmlDtdPtr dtd; /* a pointer to the DtD to search */
   25170     int n_dtd;
   25171     xmlChar * elem; /* the element name */
   25172     int n_elem;
   25173     xmlChar * name; /* the attribute name */
   25174     int n_name;
   25175 
   25176     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   25177     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
   25178     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25179         mem_base = xmlMemBlocks();
   25180         dtd = gen_xmlDtdPtr(n_dtd, 0);
   25181         elem = gen_const_xmlChar_ptr(n_elem, 1);
   25182         name = gen_const_xmlChar_ptr(n_name, 2);
   25183 
   25184         ret_val = xmlGetDtdAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name);
   25185         desret_xmlAttributePtr(ret_val);
   25186         call_tests++;
   25187         des_xmlDtdPtr(n_dtd, dtd, 0);
   25188         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
   25189         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   25190         xmlResetLastError();
   25191         if (mem_base != xmlMemBlocks()) {
   25192             printf("Leak of %d blocks found in xmlGetDtdAttrDesc",
   25193 	           xmlMemBlocks() - mem_base);
   25194 	    test_ret++;
   25195             printf(" %d", n_dtd);
   25196             printf(" %d", n_elem);
   25197             printf(" %d", n_name);
   25198             printf("\n");
   25199         }
   25200     }
   25201     }
   25202     }
   25203     function_tests++;
   25204 
   25205     return(test_ret);
   25206 }
   25207 
   25208 
   25209 static int
   25210 test_xmlGetDtdElementDesc(void) {
   25211     int test_ret = 0;
   25212 
   25213     int mem_base;
   25214     xmlElementPtr ret_val;
   25215     xmlDtdPtr dtd; /* a pointer to the DtD to search */
   25216     int n_dtd;
   25217     xmlChar * name; /* the element name */
   25218     int n_name;
   25219 
   25220     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   25221     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25222         mem_base = xmlMemBlocks();
   25223         dtd = gen_xmlDtdPtr(n_dtd, 0);
   25224         name = gen_const_xmlChar_ptr(n_name, 1);
   25225 
   25226         ret_val = xmlGetDtdElementDesc(dtd, (const xmlChar *)name);
   25227         desret_xmlElementPtr(ret_val);
   25228         call_tests++;
   25229         des_xmlDtdPtr(n_dtd, dtd, 0);
   25230         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   25231         xmlResetLastError();
   25232         if (mem_base != xmlMemBlocks()) {
   25233             printf("Leak of %d blocks found in xmlGetDtdElementDesc",
   25234 	           xmlMemBlocks() - mem_base);
   25235 	    test_ret++;
   25236             printf(" %d", n_dtd);
   25237             printf(" %d", n_name);
   25238             printf("\n");
   25239         }
   25240     }
   25241     }
   25242     function_tests++;
   25243 
   25244     return(test_ret);
   25245 }
   25246 
   25247 
   25248 static int
   25249 test_xmlGetDtdNotationDesc(void) {
   25250     int test_ret = 0;
   25251 
   25252 
   25253     /* missing type support */
   25254     return(test_ret);
   25255 }
   25256 
   25257 
   25258 static int
   25259 test_xmlGetDtdQAttrDesc(void) {
   25260     int test_ret = 0;
   25261 
   25262     int mem_base;
   25263     xmlAttributePtr ret_val;
   25264     xmlDtdPtr dtd; /* a pointer to the DtD to search */
   25265     int n_dtd;
   25266     xmlChar * elem; /* the element name */
   25267     int n_elem;
   25268     xmlChar * name; /* the attribute name */
   25269     int n_name;
   25270     xmlChar * prefix; /* the attribute namespace prefix */
   25271     int n_prefix;
   25272 
   25273     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   25274     for (n_elem = 0;n_elem < gen_nb_const_xmlChar_ptr;n_elem++) {
   25275     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25276     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   25277         mem_base = xmlMemBlocks();
   25278         dtd = gen_xmlDtdPtr(n_dtd, 0);
   25279         elem = gen_const_xmlChar_ptr(n_elem, 1);
   25280         name = gen_const_xmlChar_ptr(n_name, 2);
   25281         prefix = gen_const_xmlChar_ptr(n_prefix, 3);
   25282 
   25283         ret_val = xmlGetDtdQAttrDesc(dtd, (const xmlChar *)elem, (const xmlChar *)name, (const xmlChar *)prefix);
   25284         desret_xmlAttributePtr(ret_val);
   25285         call_tests++;
   25286         des_xmlDtdPtr(n_dtd, dtd, 0);
   25287         des_const_xmlChar_ptr(n_elem, (const xmlChar *)elem, 1);
   25288         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   25289         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
   25290         xmlResetLastError();
   25291         if (mem_base != xmlMemBlocks()) {
   25292             printf("Leak of %d blocks found in xmlGetDtdQAttrDesc",
   25293 	           xmlMemBlocks() - mem_base);
   25294 	    test_ret++;
   25295             printf(" %d", n_dtd);
   25296             printf(" %d", n_elem);
   25297             printf(" %d", n_name);
   25298             printf(" %d", n_prefix);
   25299             printf("\n");
   25300         }
   25301     }
   25302     }
   25303     }
   25304     }
   25305     function_tests++;
   25306 
   25307     return(test_ret);
   25308 }
   25309 
   25310 
   25311 static int
   25312 test_xmlGetDtdQElementDesc(void) {
   25313     int test_ret = 0;
   25314 
   25315     int mem_base;
   25316     xmlElementPtr ret_val;
   25317     xmlDtdPtr dtd; /* a pointer to the DtD to search */
   25318     int n_dtd;
   25319     xmlChar * name; /* the element name */
   25320     int n_name;
   25321     xmlChar * prefix; /* the element namespace prefix */
   25322     int n_prefix;
   25323 
   25324     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   25325     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25326     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   25327         mem_base = xmlMemBlocks();
   25328         dtd = gen_xmlDtdPtr(n_dtd, 0);
   25329         name = gen_const_xmlChar_ptr(n_name, 1);
   25330         prefix = gen_const_xmlChar_ptr(n_prefix, 2);
   25331 
   25332         ret_val = xmlGetDtdQElementDesc(dtd, (const xmlChar *)name, (const xmlChar *)prefix);
   25333         desret_xmlElementPtr(ret_val);
   25334         call_tests++;
   25335         des_xmlDtdPtr(n_dtd, dtd, 0);
   25336         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   25337         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 2);
   25338         xmlResetLastError();
   25339         if (mem_base != xmlMemBlocks()) {
   25340             printf("Leak of %d blocks found in xmlGetDtdQElementDesc",
   25341 	           xmlMemBlocks() - mem_base);
   25342 	    test_ret++;
   25343             printf(" %d", n_dtd);
   25344             printf(" %d", n_name);
   25345             printf(" %d", n_prefix);
   25346             printf("\n");
   25347         }
   25348     }
   25349     }
   25350     }
   25351     function_tests++;
   25352 
   25353     return(test_ret);
   25354 }
   25355 
   25356 
   25357 static int
   25358 test_xmlGetID(void) {
   25359     int test_ret = 0;
   25360 
   25361     int mem_base;
   25362     xmlAttrPtr ret_val;
   25363     xmlDocPtr doc; /* pointer to the document */
   25364     int n_doc;
   25365     xmlChar * ID; /* the ID value */
   25366     int n_ID;
   25367 
   25368     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25369     for (n_ID = 0;n_ID < gen_nb_const_xmlChar_ptr;n_ID++) {
   25370         mem_base = xmlMemBlocks();
   25371         doc = gen_xmlDocPtr(n_doc, 0);
   25372         ID = gen_const_xmlChar_ptr(n_ID, 1);
   25373 
   25374         ret_val = xmlGetID(doc, (const xmlChar *)ID);
   25375         desret_xmlAttrPtr(ret_val);
   25376         call_tests++;
   25377         des_xmlDocPtr(n_doc, doc, 0);
   25378         des_const_xmlChar_ptr(n_ID, (const xmlChar *)ID, 1);
   25379         xmlResetLastError();
   25380         if (mem_base != xmlMemBlocks()) {
   25381             printf("Leak of %d blocks found in xmlGetID",
   25382 	           xmlMemBlocks() - mem_base);
   25383 	    test_ret++;
   25384             printf(" %d", n_doc);
   25385             printf(" %d", n_ID);
   25386             printf("\n");
   25387         }
   25388     }
   25389     }
   25390     function_tests++;
   25391 
   25392     return(test_ret);
   25393 }
   25394 
   25395 
   25396 static int
   25397 test_xmlGetRefs(void) {
   25398     int test_ret = 0;
   25399 
   25400 
   25401     /* missing type support */
   25402     return(test_ret);
   25403 }
   25404 
   25405 
   25406 static int
   25407 test_xmlIsID(void) {
   25408     int test_ret = 0;
   25409 
   25410     int mem_base;
   25411     int ret_val;
   25412     xmlDocPtr doc; /* the document */
   25413     int n_doc;
   25414     xmlNodePtr elem; /* the element carrying the attribute */
   25415     int n_elem;
   25416     xmlAttrPtr attr; /* the attribute */
   25417     int n_attr;
   25418 
   25419     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25420     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   25421     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   25422         mem_base = xmlMemBlocks();
   25423         doc = gen_xmlDocPtr(n_doc, 0);
   25424         elem = gen_xmlNodePtr(n_elem, 1);
   25425         attr = gen_xmlAttrPtr(n_attr, 2);
   25426 
   25427         ret_val = xmlIsID(doc, elem, attr);
   25428         desret_int(ret_val);
   25429         call_tests++;
   25430         des_xmlDocPtr(n_doc, doc, 0);
   25431         des_xmlNodePtr(n_elem, elem, 1);
   25432         des_xmlAttrPtr(n_attr, attr, 2);
   25433         xmlResetLastError();
   25434         if (mem_base != xmlMemBlocks()) {
   25435             printf("Leak of %d blocks found in xmlIsID",
   25436 	           xmlMemBlocks() - mem_base);
   25437 	    test_ret++;
   25438             printf(" %d", n_doc);
   25439             printf(" %d", n_elem);
   25440             printf(" %d", n_attr);
   25441             printf("\n");
   25442         }
   25443     }
   25444     }
   25445     }
   25446     function_tests++;
   25447 
   25448     return(test_ret);
   25449 }
   25450 
   25451 
   25452 static int
   25453 test_xmlIsMixedElement(void) {
   25454     int test_ret = 0;
   25455 
   25456     int mem_base;
   25457     int ret_val;
   25458     xmlDocPtr doc; /* the document */
   25459     int n_doc;
   25460     xmlChar * name; /* the element name */
   25461     int n_name;
   25462 
   25463     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25464     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25465         mem_base = xmlMemBlocks();
   25466         doc = gen_xmlDocPtr(n_doc, 0);
   25467         name = gen_const_xmlChar_ptr(n_name, 1);
   25468 
   25469         ret_val = xmlIsMixedElement(doc, (const xmlChar *)name);
   25470         desret_int(ret_val);
   25471         call_tests++;
   25472         des_xmlDocPtr(n_doc, doc, 0);
   25473         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   25474         xmlResetLastError();
   25475         if (mem_base != xmlMemBlocks()) {
   25476             printf("Leak of %d blocks found in xmlIsMixedElement",
   25477 	           xmlMemBlocks() - mem_base);
   25478 	    test_ret++;
   25479             printf(" %d", n_doc);
   25480             printf(" %d", n_name);
   25481             printf("\n");
   25482         }
   25483     }
   25484     }
   25485     function_tests++;
   25486 
   25487     return(test_ret);
   25488 }
   25489 
   25490 
   25491 static int
   25492 test_xmlIsRef(void) {
   25493     int test_ret = 0;
   25494 
   25495     int mem_base;
   25496     int ret_val;
   25497     xmlDocPtr doc; /* the document */
   25498     int n_doc;
   25499     xmlNodePtr elem; /* the element carrying the attribute */
   25500     int n_elem;
   25501     xmlAttrPtr attr; /* the attribute */
   25502     int n_attr;
   25503 
   25504     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25505     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   25506     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   25507         mem_base = xmlMemBlocks();
   25508         doc = gen_xmlDocPtr(n_doc, 0);
   25509         elem = gen_xmlNodePtr(n_elem, 1);
   25510         attr = gen_xmlAttrPtr(n_attr, 2);
   25511 
   25512         ret_val = xmlIsRef(doc, elem, attr);
   25513         desret_int(ret_val);
   25514         call_tests++;
   25515         des_xmlDocPtr(n_doc, doc, 0);
   25516         des_xmlNodePtr(n_elem, elem, 1);
   25517         des_xmlAttrPtr(n_attr, attr, 2);
   25518         xmlResetLastError();
   25519         if (mem_base != xmlMemBlocks()) {
   25520             printf("Leak of %d blocks found in xmlIsRef",
   25521 	           xmlMemBlocks() - mem_base);
   25522 	    test_ret++;
   25523             printf(" %d", n_doc);
   25524             printf(" %d", n_elem);
   25525             printf(" %d", n_attr);
   25526             printf("\n");
   25527         }
   25528     }
   25529     }
   25530     }
   25531     function_tests++;
   25532 
   25533     return(test_ret);
   25534 }
   25535 
   25536 
   25537 static int
   25538 test_xmlNewDocElementContent(void) {
   25539     int test_ret = 0;
   25540 
   25541     int mem_base;
   25542     xmlElementContentPtr ret_val;
   25543     xmlDocPtr doc; /* the document */
   25544     int n_doc;
   25545     xmlChar * name; /* the subelement name or NULL */
   25546     int n_name;
   25547     xmlElementContentType type; /* the type of element content decl */
   25548     int n_type;
   25549 
   25550     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25551     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25552     for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
   25553         mem_base = xmlMemBlocks();
   25554         doc = gen_xmlDocPtr(n_doc, 0);
   25555         name = gen_const_xmlChar_ptr(n_name, 1);
   25556         type = gen_xmlElementContentType(n_type, 2);
   25557 
   25558         ret_val = xmlNewDocElementContent(doc, (const xmlChar *)name, type);
   25559         xmlFreeDocElementContent(doc, ret_val); ret_val = NULL;
   25560         desret_xmlElementContentPtr(ret_val);
   25561         call_tests++;
   25562         des_xmlDocPtr(n_doc, doc, 0);
   25563         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   25564         des_xmlElementContentType(n_type, type, 2);
   25565         xmlResetLastError();
   25566         if (mem_base != xmlMemBlocks()) {
   25567             printf("Leak of %d blocks found in xmlNewDocElementContent",
   25568 	           xmlMemBlocks() - mem_base);
   25569 	    test_ret++;
   25570             printf(" %d", n_doc);
   25571             printf(" %d", n_name);
   25572             printf(" %d", n_type);
   25573             printf("\n");
   25574         }
   25575     }
   25576     }
   25577     }
   25578     function_tests++;
   25579 
   25580     return(test_ret);
   25581 }
   25582 
   25583 
   25584 static int
   25585 test_xmlNewElementContent(void) {
   25586     int test_ret = 0;
   25587 
   25588     int mem_base;
   25589     xmlElementContentPtr ret_val;
   25590     xmlChar * name; /* the subelement name or NULL */
   25591     int n_name;
   25592     xmlElementContentType type; /* the type of element content decl */
   25593     int n_type;
   25594 
   25595     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25596     for (n_type = 0;n_type < gen_nb_xmlElementContentType;n_type++) {
   25597         mem_base = xmlMemBlocks();
   25598         name = gen_const_xmlChar_ptr(n_name, 0);
   25599         type = gen_xmlElementContentType(n_type, 1);
   25600 
   25601         ret_val = xmlNewElementContent((const xmlChar *)name, type);
   25602         desret_xmlElementContentPtr(ret_val);
   25603         call_tests++;
   25604         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   25605         des_xmlElementContentType(n_type, type, 1);
   25606         xmlResetLastError();
   25607         if (mem_base != xmlMemBlocks()) {
   25608             printf("Leak of %d blocks found in xmlNewElementContent",
   25609 	           xmlMemBlocks() - mem_base);
   25610 	    test_ret++;
   25611             printf(" %d", n_name);
   25612             printf(" %d", n_type);
   25613             printf("\n");
   25614         }
   25615     }
   25616     }
   25617     function_tests++;
   25618 
   25619     return(test_ret);
   25620 }
   25621 
   25622 
   25623 static int
   25624 test_xmlNewValidCtxt(void) {
   25625     int test_ret = 0;
   25626 
   25627 
   25628     /* missing type support */
   25629     return(test_ret);
   25630 }
   25631 
   25632 
   25633 static int
   25634 test_xmlRemoveID(void) {
   25635     int test_ret = 0;
   25636 
   25637     int mem_base;
   25638     int ret_val;
   25639     xmlDocPtr doc; /* the document */
   25640     int n_doc;
   25641     xmlAttrPtr attr; /* the attribute */
   25642     int n_attr;
   25643 
   25644     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25645     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   25646         mem_base = xmlMemBlocks();
   25647         doc = gen_xmlDocPtr(n_doc, 0);
   25648         attr = gen_xmlAttrPtr(n_attr, 1);
   25649 
   25650         ret_val = xmlRemoveID(doc, attr);
   25651         desret_int(ret_val);
   25652         call_tests++;
   25653         des_xmlDocPtr(n_doc, doc, 0);
   25654         des_xmlAttrPtr(n_attr, attr, 1);
   25655         xmlResetLastError();
   25656         if (mem_base != xmlMemBlocks()) {
   25657             printf("Leak of %d blocks found in xmlRemoveID",
   25658 	           xmlMemBlocks() - mem_base);
   25659 	    test_ret++;
   25660             printf(" %d", n_doc);
   25661             printf(" %d", n_attr);
   25662             printf("\n");
   25663         }
   25664     }
   25665     }
   25666     function_tests++;
   25667 
   25668     return(test_ret);
   25669 }
   25670 
   25671 
   25672 static int
   25673 test_xmlRemoveRef(void) {
   25674     int test_ret = 0;
   25675 
   25676     int mem_base;
   25677     int ret_val;
   25678     xmlDocPtr doc; /* the document */
   25679     int n_doc;
   25680     xmlAttrPtr attr; /* the attribute */
   25681     int n_attr;
   25682 
   25683     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25684     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   25685         mem_base = xmlMemBlocks();
   25686         doc = gen_xmlDocPtr(n_doc, 0);
   25687         attr = gen_xmlAttrPtr(n_attr, 1);
   25688 
   25689         ret_val = xmlRemoveRef(doc, attr);
   25690         desret_int(ret_val);
   25691         call_tests++;
   25692         des_xmlDocPtr(n_doc, doc, 0);
   25693         des_xmlAttrPtr(n_attr, attr, 1);
   25694         xmlResetLastError();
   25695         if (mem_base != xmlMemBlocks()) {
   25696             printf("Leak of %d blocks found in xmlRemoveRef",
   25697 	           xmlMemBlocks() - mem_base);
   25698 	    test_ret++;
   25699             printf(" %d", n_doc);
   25700             printf(" %d", n_attr);
   25701             printf("\n");
   25702         }
   25703     }
   25704     }
   25705     function_tests++;
   25706 
   25707     return(test_ret);
   25708 }
   25709 
   25710 
   25711 static int
   25712 test_xmlSnprintfElementContent(void) {
   25713     int test_ret = 0;
   25714 
   25715     int mem_base;
   25716     char * buf; /* an output buffer */
   25717     int n_buf;
   25718     int size; /* the buffer size */
   25719     int n_size;
   25720     xmlElementContentPtr content; /* An element table */
   25721     int n_content;
   25722     int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
   25723     int n_englob;
   25724 
   25725     for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
   25726     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   25727     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
   25728     for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
   25729         mem_base = xmlMemBlocks();
   25730         buf = gen_char_ptr(n_buf, 0);
   25731         size = gen_int(n_size, 1);
   25732         content = gen_xmlElementContentPtr(n_content, 2);
   25733         englob = gen_int(n_englob, 3);
   25734 
   25735         xmlSnprintfElementContent(buf, size, content, englob);
   25736         call_tests++;
   25737         des_char_ptr(n_buf, buf, 0);
   25738         des_int(n_size, size, 1);
   25739         des_xmlElementContentPtr(n_content, content, 2);
   25740         des_int(n_englob, englob, 3);
   25741         xmlResetLastError();
   25742         if (mem_base != xmlMemBlocks()) {
   25743             printf("Leak of %d blocks found in xmlSnprintfElementContent",
   25744 	           xmlMemBlocks() - mem_base);
   25745 	    test_ret++;
   25746             printf(" %d", n_buf);
   25747             printf(" %d", n_size);
   25748             printf(" %d", n_content);
   25749             printf(" %d", n_englob);
   25750             printf("\n");
   25751         }
   25752     }
   25753     }
   25754     }
   25755     }
   25756     function_tests++;
   25757 
   25758     return(test_ret);
   25759 }
   25760 
   25761 
   25762 static int
   25763 test_xmlSprintfElementContent(void) {
   25764     int test_ret = 0;
   25765 
   25766 #if defined(LIBXML_OUTPUT_ENABLED)
   25767 #ifdef LIBXML_OUTPUT_ENABLED
   25768     int mem_base;
   25769     char * buf; /* an output buffer */
   25770     int n_buf;
   25771     xmlElementContentPtr content; /* An element table */
   25772     int n_content;
   25773     int englob; /* 1 if one must print the englobing parenthesis, 0 otherwise */
   25774     int n_englob;
   25775 
   25776     for (n_buf = 0;n_buf < gen_nb_char_ptr;n_buf++) {
   25777     for (n_content = 0;n_content < gen_nb_xmlElementContentPtr;n_content++) {
   25778     for (n_englob = 0;n_englob < gen_nb_int;n_englob++) {
   25779         mem_base = xmlMemBlocks();
   25780         buf = gen_char_ptr(n_buf, 0);
   25781         content = gen_xmlElementContentPtr(n_content, 1);
   25782         englob = gen_int(n_englob, 2);
   25783 
   25784         xmlSprintfElementContent(buf, content, englob);
   25785         call_tests++;
   25786         des_char_ptr(n_buf, buf, 0);
   25787         des_xmlElementContentPtr(n_content, content, 1);
   25788         des_int(n_englob, englob, 2);
   25789         xmlResetLastError();
   25790         if (mem_base != xmlMemBlocks()) {
   25791             printf("Leak of %d blocks found in xmlSprintfElementContent",
   25792 	           xmlMemBlocks() - mem_base);
   25793 	    test_ret++;
   25794             printf(" %d", n_buf);
   25795             printf(" %d", n_content);
   25796             printf(" %d", n_englob);
   25797             printf("\n");
   25798         }
   25799     }
   25800     }
   25801     }
   25802     function_tests++;
   25803 #endif
   25804 #endif
   25805 
   25806     return(test_ret);
   25807 }
   25808 
   25809 
   25810 static int
   25811 test_xmlValidBuildContentModel(void) {
   25812     int test_ret = 0;
   25813 
   25814 #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
   25815     int mem_base;
   25816     int ret_val;
   25817     xmlValidCtxtPtr ctxt; /* a validation context */
   25818     int n_ctxt;
   25819     xmlElementPtr elem; /* an element declaration node */
   25820     int n_elem;
   25821 
   25822     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   25823     for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
   25824         mem_base = xmlMemBlocks();
   25825         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   25826         elem = gen_xmlElementPtr(n_elem, 1);
   25827 
   25828         ret_val = xmlValidBuildContentModel(ctxt, elem);
   25829         desret_int(ret_val);
   25830         call_tests++;
   25831         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   25832         des_xmlElementPtr(n_elem, elem, 1);
   25833         xmlResetLastError();
   25834         if (mem_base != xmlMemBlocks()) {
   25835             printf("Leak of %d blocks found in xmlValidBuildContentModel",
   25836 	           xmlMemBlocks() - mem_base);
   25837 	    test_ret++;
   25838             printf(" %d", n_ctxt);
   25839             printf(" %d", n_elem);
   25840             printf("\n");
   25841         }
   25842     }
   25843     }
   25844     function_tests++;
   25845 #endif
   25846 
   25847     return(test_ret);
   25848 }
   25849 
   25850 
   25851 static int
   25852 test_xmlValidCtxtNormalizeAttributeValue(void) {
   25853     int test_ret = 0;
   25854 
   25855 #if defined(LIBXML_VALID_ENABLED)
   25856     int mem_base;
   25857     xmlChar * ret_val;
   25858     xmlValidCtxtPtr ctxt; /* the validation context or NULL */
   25859     int n_ctxt;
   25860     xmlDocPtr doc; /* the document */
   25861     int n_doc;
   25862     xmlNodePtr elem; /* the parent */
   25863     int n_elem;
   25864     xmlChar * name; /* the attribute name */
   25865     int n_name;
   25866     xmlChar * value; /* the attribute value */
   25867     int n_value;
   25868 
   25869     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   25870     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   25871     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   25872     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   25873     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   25874         mem_base = xmlMemBlocks();
   25875         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   25876         doc = gen_xmlDocPtr(n_doc, 1);
   25877         elem = gen_xmlNodePtr(n_elem, 2);
   25878         name = gen_const_xmlChar_ptr(n_name, 3);
   25879         value = gen_const_xmlChar_ptr(n_value, 4);
   25880 
   25881         ret_val = xmlValidCtxtNormalizeAttributeValue(ctxt, doc, elem, (const xmlChar *)name, (const xmlChar *)value);
   25882         desret_xmlChar_ptr(ret_val);
   25883         call_tests++;
   25884         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   25885         des_xmlDocPtr(n_doc, doc, 1);
   25886         des_xmlNodePtr(n_elem, elem, 2);
   25887         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
   25888         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
   25889         xmlResetLastError();
   25890         if (mem_base != xmlMemBlocks()) {
   25891             printf("Leak of %d blocks found in xmlValidCtxtNormalizeAttributeValue",
   25892 	           xmlMemBlocks() - mem_base);
   25893 	    test_ret++;
   25894             printf(" %d", n_ctxt);
   25895             printf(" %d", n_doc);
   25896             printf(" %d", n_elem);
   25897             printf(" %d", n_name);
   25898             printf(" %d", n_value);
   25899             printf("\n");
   25900         }
   25901     }
   25902     }
   25903     }
   25904     }
   25905     }
   25906     function_tests++;
   25907 #endif
   25908 
   25909     return(test_ret);
   25910 }
   25911 
   25912 
   25913 #define gen_nb_xmlElementContent_ptr 1
   25914 static xmlElementContent * gen_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   25915     return(NULL);
   25916 }
   25917 static void des_xmlElementContent_ptr(int no ATTRIBUTE_UNUSED, xmlElementContent * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   25918 }
   25919 
   25920 static int
   25921 test_xmlValidGetPotentialChildren(void) {
   25922     int test_ret = 0;
   25923 
   25924 #if defined(LIBXML_VALID_ENABLED)
   25925 #ifdef LIBXML_VALID_ENABLED
   25926     int mem_base;
   25927     int ret_val;
   25928     xmlElementContent * ctree; /* an element content tree */
   25929     int n_ctree;
   25930     xmlChar ** names; /* an array to store the list of child names */
   25931     int n_names;
   25932     int * len; /* a pointer to the number of element in the list */
   25933     int n_len;
   25934     int max; /* the size of the array */
   25935     int n_max;
   25936 
   25937     for (n_ctree = 0;n_ctree < gen_nb_xmlElementContent_ptr;n_ctree++) {
   25938     for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
   25939     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
   25940     for (n_max = 0;n_max < gen_nb_int;n_max++) {
   25941         mem_base = xmlMemBlocks();
   25942         ctree = gen_xmlElementContent_ptr(n_ctree, 0);
   25943         names = gen_const_xmlChar_ptr_ptr(n_names, 1);
   25944         len = gen_int_ptr(n_len, 2);
   25945         max = gen_int(n_max, 3);
   25946 
   25947         ret_val = xmlValidGetPotentialChildren(ctree, (const xmlChar **)names, len, max);
   25948         desret_int(ret_val);
   25949         call_tests++;
   25950         des_xmlElementContent_ptr(n_ctree, ctree, 0);
   25951         des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 1);
   25952         des_int_ptr(n_len, len, 2);
   25953         des_int(n_max, max, 3);
   25954         xmlResetLastError();
   25955         if (mem_base != xmlMemBlocks()) {
   25956             printf("Leak of %d blocks found in xmlValidGetPotentialChildren",
   25957 	           xmlMemBlocks() - mem_base);
   25958 	    test_ret++;
   25959             printf(" %d", n_ctree);
   25960             printf(" %d", n_names);
   25961             printf(" %d", n_len);
   25962             printf(" %d", n_max);
   25963             printf("\n");
   25964         }
   25965     }
   25966     }
   25967     }
   25968     }
   25969     function_tests++;
   25970 #endif
   25971 #endif
   25972 
   25973     return(test_ret);
   25974 }
   25975 
   25976 
   25977 static int
   25978 test_xmlValidGetValidElements(void) {
   25979     int test_ret = 0;
   25980 
   25981 #if defined(LIBXML_VALID_ENABLED)
   25982 #ifdef LIBXML_VALID_ENABLED
   25983     int mem_base;
   25984     int ret_val;
   25985     xmlNode * prev; /* an element to insert after */
   25986     int n_prev;
   25987     xmlNode * next; /* an element to insert next */
   25988     int n_next;
   25989     xmlChar ** names; /* an array to store the list of child names */
   25990     int n_names;
   25991     int max; /* the size of the array */
   25992     int n_max;
   25993 
   25994     for (n_prev = 0;n_prev < gen_nb_xmlNodePtr;n_prev++) {
   25995     for (n_next = 0;n_next < gen_nb_xmlNodePtr;n_next++) {
   25996     for (n_names = 0;n_names < gen_nb_const_xmlChar_ptr_ptr;n_names++) {
   25997     for (n_max = 0;n_max < gen_nb_int;n_max++) {
   25998         mem_base = xmlMemBlocks();
   25999         prev = gen_xmlNodePtr(n_prev, 0);
   26000         next = gen_xmlNodePtr(n_next, 1);
   26001         names = gen_const_xmlChar_ptr_ptr(n_names, 2);
   26002         max = gen_int(n_max, 3);
   26003 
   26004         ret_val = xmlValidGetValidElements(prev, next, (const xmlChar **)names, max);
   26005         desret_int(ret_val);
   26006         call_tests++;
   26007         des_xmlNodePtr(n_prev, prev, 0);
   26008         des_xmlNodePtr(n_next, next, 1);
   26009         des_const_xmlChar_ptr_ptr(n_names, (const xmlChar **)names, 2);
   26010         des_int(n_max, max, 3);
   26011         xmlResetLastError();
   26012         if (mem_base != xmlMemBlocks()) {
   26013             printf("Leak of %d blocks found in xmlValidGetValidElements",
   26014 	           xmlMemBlocks() - mem_base);
   26015 	    test_ret++;
   26016             printf(" %d", n_prev);
   26017             printf(" %d", n_next);
   26018             printf(" %d", n_names);
   26019             printf(" %d", n_max);
   26020             printf("\n");
   26021         }
   26022     }
   26023     }
   26024     }
   26025     }
   26026     function_tests++;
   26027 #endif
   26028 #endif
   26029 
   26030     return(test_ret);
   26031 }
   26032 
   26033 
   26034 static int
   26035 test_xmlValidNormalizeAttributeValue(void) {
   26036     int test_ret = 0;
   26037 
   26038 #if defined(LIBXML_VALID_ENABLED)
   26039     int mem_base;
   26040     xmlChar * ret_val;
   26041     xmlDocPtr doc; /* the document */
   26042     int n_doc;
   26043     xmlNodePtr elem; /* the parent */
   26044     int n_elem;
   26045     xmlChar * name; /* the attribute name */
   26046     int n_name;
   26047     xmlChar * value; /* the attribute value */
   26048     int n_value;
   26049 
   26050     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26051     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   26052     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   26053     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26054         mem_base = xmlMemBlocks();
   26055         doc = gen_xmlDocPtr(n_doc, 0);
   26056         elem = gen_xmlNodePtr(n_elem, 1);
   26057         name = gen_const_xmlChar_ptr(n_name, 2);
   26058         value = gen_const_xmlChar_ptr(n_value, 3);
   26059 
   26060         ret_val = xmlValidNormalizeAttributeValue(doc, elem, (const xmlChar *)name, (const xmlChar *)value);
   26061         desret_xmlChar_ptr(ret_val);
   26062         call_tests++;
   26063         des_xmlDocPtr(n_doc, doc, 0);
   26064         des_xmlNodePtr(n_elem, elem, 1);
   26065         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   26066         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
   26067         xmlResetLastError();
   26068         if (mem_base != xmlMemBlocks()) {
   26069             printf("Leak of %d blocks found in xmlValidNormalizeAttributeValue",
   26070 	           xmlMemBlocks() - mem_base);
   26071 	    test_ret++;
   26072             printf(" %d", n_doc);
   26073             printf(" %d", n_elem);
   26074             printf(" %d", n_name);
   26075             printf(" %d", n_value);
   26076             printf("\n");
   26077         }
   26078     }
   26079     }
   26080     }
   26081     }
   26082     function_tests++;
   26083 #endif
   26084 
   26085     return(test_ret);
   26086 }
   26087 
   26088 
   26089 static int
   26090 test_xmlValidateAttributeDecl(void) {
   26091     int test_ret = 0;
   26092 
   26093 #if defined(LIBXML_VALID_ENABLED)
   26094     int mem_base;
   26095     int ret_val;
   26096     xmlValidCtxtPtr ctxt; /* the validation context */
   26097     int n_ctxt;
   26098     xmlDocPtr doc; /* a document instance */
   26099     int n_doc;
   26100     xmlAttributePtr attr; /* an attribute definition */
   26101     int n_attr;
   26102 
   26103     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26104     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26105     for (n_attr = 0;n_attr < gen_nb_xmlAttributePtr;n_attr++) {
   26106         mem_base = xmlMemBlocks();
   26107         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26108         doc = gen_xmlDocPtr(n_doc, 1);
   26109         attr = gen_xmlAttributePtr(n_attr, 2);
   26110 
   26111         ret_val = xmlValidateAttributeDecl(ctxt, doc, attr);
   26112         desret_int(ret_val);
   26113         call_tests++;
   26114         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26115         des_xmlDocPtr(n_doc, doc, 1);
   26116         des_xmlAttributePtr(n_attr, attr, 2);
   26117         xmlResetLastError();
   26118         if (mem_base != xmlMemBlocks()) {
   26119             printf("Leak of %d blocks found in xmlValidateAttributeDecl",
   26120 	           xmlMemBlocks() - mem_base);
   26121 	    test_ret++;
   26122             printf(" %d", n_ctxt);
   26123             printf(" %d", n_doc);
   26124             printf(" %d", n_attr);
   26125             printf("\n");
   26126         }
   26127     }
   26128     }
   26129     }
   26130     function_tests++;
   26131 #endif
   26132 
   26133     return(test_ret);
   26134 }
   26135 
   26136 
   26137 static int
   26138 test_xmlValidateAttributeValue(void) {
   26139     int test_ret = 0;
   26140 
   26141 #if defined(LIBXML_VALID_ENABLED)
   26142     int mem_base;
   26143     int ret_val;
   26144     xmlAttributeType type; /* an attribute type */
   26145     int n_type;
   26146     xmlChar * value; /* an attribute value */
   26147     int n_value;
   26148 
   26149     for (n_type = 0;n_type < gen_nb_xmlAttributeType;n_type++) {
   26150     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26151         mem_base = xmlMemBlocks();
   26152         type = gen_xmlAttributeType(n_type, 0);
   26153         value = gen_const_xmlChar_ptr(n_value, 1);
   26154 
   26155         ret_val = xmlValidateAttributeValue(type, (const xmlChar *)value);
   26156         desret_int(ret_val);
   26157         call_tests++;
   26158         des_xmlAttributeType(n_type, type, 0);
   26159         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   26160         xmlResetLastError();
   26161         if (mem_base != xmlMemBlocks()) {
   26162             printf("Leak of %d blocks found in xmlValidateAttributeValue",
   26163 	           xmlMemBlocks() - mem_base);
   26164 	    test_ret++;
   26165             printf(" %d", n_type);
   26166             printf(" %d", n_value);
   26167             printf("\n");
   26168         }
   26169     }
   26170     }
   26171     function_tests++;
   26172 #endif
   26173 
   26174     return(test_ret);
   26175 }
   26176 
   26177 
   26178 static int
   26179 test_xmlValidateDocument(void) {
   26180     int test_ret = 0;
   26181 
   26182 #if defined(LIBXML_VALID_ENABLED)
   26183     int mem_base;
   26184     int ret_val;
   26185     xmlValidCtxtPtr ctxt; /* the validation context */
   26186     int n_ctxt;
   26187     xmlDocPtr doc; /* a document instance */
   26188     int n_doc;
   26189 
   26190     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26191     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26192         mem_base = xmlMemBlocks();
   26193         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26194         doc = gen_xmlDocPtr(n_doc, 1);
   26195 
   26196         ret_val = xmlValidateDocument(ctxt, doc);
   26197         desret_int(ret_val);
   26198         call_tests++;
   26199         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26200         des_xmlDocPtr(n_doc, doc, 1);
   26201         xmlResetLastError();
   26202         if (mem_base != xmlMemBlocks()) {
   26203             printf("Leak of %d blocks found in xmlValidateDocument",
   26204 	           xmlMemBlocks() - mem_base);
   26205 	    test_ret++;
   26206             printf(" %d", n_ctxt);
   26207             printf(" %d", n_doc);
   26208             printf("\n");
   26209         }
   26210     }
   26211     }
   26212     function_tests++;
   26213 #endif
   26214 
   26215     return(test_ret);
   26216 }
   26217 
   26218 
   26219 static int
   26220 test_xmlValidateDocumentFinal(void) {
   26221     int test_ret = 0;
   26222 
   26223 #if defined(LIBXML_VALID_ENABLED)
   26224     int mem_base;
   26225     int ret_val;
   26226     xmlValidCtxtPtr ctxt; /* the validation context */
   26227     int n_ctxt;
   26228     xmlDocPtr doc; /* a document instance */
   26229     int n_doc;
   26230 
   26231     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26232     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26233         mem_base = xmlMemBlocks();
   26234         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26235         doc = gen_xmlDocPtr(n_doc, 1);
   26236 
   26237         ret_val = xmlValidateDocumentFinal(ctxt, doc);
   26238         desret_int(ret_val);
   26239         call_tests++;
   26240         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26241         des_xmlDocPtr(n_doc, doc, 1);
   26242         xmlResetLastError();
   26243         if (mem_base != xmlMemBlocks()) {
   26244             printf("Leak of %d blocks found in xmlValidateDocumentFinal",
   26245 	           xmlMemBlocks() - mem_base);
   26246 	    test_ret++;
   26247             printf(" %d", n_ctxt);
   26248             printf(" %d", n_doc);
   26249             printf("\n");
   26250         }
   26251     }
   26252     }
   26253     function_tests++;
   26254 #endif
   26255 
   26256     return(test_ret);
   26257 }
   26258 
   26259 
   26260 static int
   26261 test_xmlValidateDtd(void) {
   26262     int test_ret = 0;
   26263 
   26264 #if defined(LIBXML_VALID_ENABLED)
   26265     int mem_base;
   26266     int ret_val;
   26267     xmlValidCtxtPtr ctxt; /* the validation context */
   26268     int n_ctxt;
   26269     xmlDocPtr doc; /* a document instance */
   26270     int n_doc;
   26271     xmlDtdPtr dtd; /* a dtd instance */
   26272     int n_dtd;
   26273 
   26274     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26275     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26276     for (n_dtd = 0;n_dtd < gen_nb_xmlDtdPtr;n_dtd++) {
   26277         mem_base = xmlMemBlocks();
   26278         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26279         doc = gen_xmlDocPtr(n_doc, 1);
   26280         dtd = gen_xmlDtdPtr(n_dtd, 2);
   26281 
   26282         ret_val = xmlValidateDtd(ctxt, doc, dtd);
   26283         desret_int(ret_val);
   26284         call_tests++;
   26285         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26286         des_xmlDocPtr(n_doc, doc, 1);
   26287         des_xmlDtdPtr(n_dtd, dtd, 2);
   26288         xmlResetLastError();
   26289         if (mem_base != xmlMemBlocks()) {
   26290             printf("Leak of %d blocks found in xmlValidateDtd",
   26291 	           xmlMemBlocks() - mem_base);
   26292 	    test_ret++;
   26293             printf(" %d", n_ctxt);
   26294             printf(" %d", n_doc);
   26295             printf(" %d", n_dtd);
   26296             printf("\n");
   26297         }
   26298     }
   26299     }
   26300     }
   26301     function_tests++;
   26302 #endif
   26303 
   26304     return(test_ret);
   26305 }
   26306 
   26307 
   26308 static int
   26309 test_xmlValidateDtdFinal(void) {
   26310     int test_ret = 0;
   26311 
   26312 #if defined(LIBXML_VALID_ENABLED)
   26313     int mem_base;
   26314     int ret_val;
   26315     xmlValidCtxtPtr ctxt; /* the validation context */
   26316     int n_ctxt;
   26317     xmlDocPtr doc; /* a document instance */
   26318     int n_doc;
   26319 
   26320     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26321     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26322         mem_base = xmlMemBlocks();
   26323         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26324         doc = gen_xmlDocPtr(n_doc, 1);
   26325 
   26326         ret_val = xmlValidateDtdFinal(ctxt, doc);
   26327         desret_int(ret_val);
   26328         call_tests++;
   26329         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26330         des_xmlDocPtr(n_doc, doc, 1);
   26331         xmlResetLastError();
   26332         if (mem_base != xmlMemBlocks()) {
   26333             printf("Leak of %d blocks found in xmlValidateDtdFinal",
   26334 	           xmlMemBlocks() - mem_base);
   26335 	    test_ret++;
   26336             printf(" %d", n_ctxt);
   26337             printf(" %d", n_doc);
   26338             printf("\n");
   26339         }
   26340     }
   26341     }
   26342     function_tests++;
   26343 #endif
   26344 
   26345     return(test_ret);
   26346 }
   26347 
   26348 
   26349 static int
   26350 test_xmlValidateElement(void) {
   26351     int test_ret = 0;
   26352 
   26353 #if defined(LIBXML_VALID_ENABLED)
   26354     int mem_base;
   26355     int ret_val;
   26356     xmlValidCtxtPtr ctxt; /* the validation context */
   26357     int n_ctxt;
   26358     xmlDocPtr doc; /* a document instance */
   26359     int n_doc;
   26360     xmlNodePtr elem; /* an element instance */
   26361     int n_elem;
   26362 
   26363     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26364     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26365     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   26366         mem_base = xmlMemBlocks();
   26367         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26368         doc = gen_xmlDocPtr(n_doc, 1);
   26369         elem = gen_xmlNodePtr(n_elem, 2);
   26370 
   26371         ret_val = xmlValidateElement(ctxt, doc, elem);
   26372         desret_int(ret_val);
   26373         call_tests++;
   26374         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26375         des_xmlDocPtr(n_doc, doc, 1);
   26376         des_xmlNodePtr(n_elem, elem, 2);
   26377         xmlResetLastError();
   26378         if (mem_base != xmlMemBlocks()) {
   26379             printf("Leak of %d blocks found in xmlValidateElement",
   26380 	           xmlMemBlocks() - mem_base);
   26381 	    test_ret++;
   26382             printf(" %d", n_ctxt);
   26383             printf(" %d", n_doc);
   26384             printf(" %d", n_elem);
   26385             printf("\n");
   26386         }
   26387     }
   26388     }
   26389     }
   26390     function_tests++;
   26391 #endif
   26392 
   26393     return(test_ret);
   26394 }
   26395 
   26396 
   26397 static int
   26398 test_xmlValidateElementDecl(void) {
   26399     int test_ret = 0;
   26400 
   26401 #if defined(LIBXML_VALID_ENABLED)
   26402     int mem_base;
   26403     int ret_val;
   26404     xmlValidCtxtPtr ctxt; /* the validation context */
   26405     int n_ctxt;
   26406     xmlDocPtr doc; /* a document instance */
   26407     int n_doc;
   26408     xmlElementPtr elem; /* an element definition */
   26409     int n_elem;
   26410 
   26411     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26412     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26413     for (n_elem = 0;n_elem < gen_nb_xmlElementPtr;n_elem++) {
   26414         mem_base = xmlMemBlocks();
   26415         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26416         doc = gen_xmlDocPtr(n_doc, 1);
   26417         elem = gen_xmlElementPtr(n_elem, 2);
   26418 
   26419         ret_val = xmlValidateElementDecl(ctxt, doc, elem);
   26420         desret_int(ret_val);
   26421         call_tests++;
   26422         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26423         des_xmlDocPtr(n_doc, doc, 1);
   26424         des_xmlElementPtr(n_elem, elem, 2);
   26425         xmlResetLastError();
   26426         if (mem_base != xmlMemBlocks()) {
   26427             printf("Leak of %d blocks found in xmlValidateElementDecl",
   26428 	           xmlMemBlocks() - mem_base);
   26429 	    test_ret++;
   26430             printf(" %d", n_ctxt);
   26431             printf(" %d", n_doc);
   26432             printf(" %d", n_elem);
   26433             printf("\n");
   26434         }
   26435     }
   26436     }
   26437     }
   26438     function_tests++;
   26439 #endif
   26440 
   26441     return(test_ret);
   26442 }
   26443 
   26444 
   26445 static int
   26446 test_xmlValidateNameValue(void) {
   26447     int test_ret = 0;
   26448 
   26449 #if defined(LIBXML_VALID_ENABLED)
   26450     int mem_base;
   26451     int ret_val;
   26452     xmlChar * value; /* an Name value */
   26453     int n_value;
   26454 
   26455     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26456         mem_base = xmlMemBlocks();
   26457         value = gen_const_xmlChar_ptr(n_value, 0);
   26458 
   26459         ret_val = xmlValidateNameValue((const xmlChar *)value);
   26460         desret_int(ret_val);
   26461         call_tests++;
   26462         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   26463         xmlResetLastError();
   26464         if (mem_base != xmlMemBlocks()) {
   26465             printf("Leak of %d blocks found in xmlValidateNameValue",
   26466 	           xmlMemBlocks() - mem_base);
   26467 	    test_ret++;
   26468             printf(" %d", n_value);
   26469             printf("\n");
   26470         }
   26471     }
   26472     function_tests++;
   26473 #endif
   26474 
   26475     return(test_ret);
   26476 }
   26477 
   26478 
   26479 static int
   26480 test_xmlValidateNamesValue(void) {
   26481     int test_ret = 0;
   26482 
   26483 #if defined(LIBXML_VALID_ENABLED)
   26484     int mem_base;
   26485     int ret_val;
   26486     xmlChar * value; /* an Names value */
   26487     int n_value;
   26488 
   26489     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26490         mem_base = xmlMemBlocks();
   26491         value = gen_const_xmlChar_ptr(n_value, 0);
   26492 
   26493         ret_val = xmlValidateNamesValue((const xmlChar *)value);
   26494         desret_int(ret_val);
   26495         call_tests++;
   26496         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   26497         xmlResetLastError();
   26498         if (mem_base != xmlMemBlocks()) {
   26499             printf("Leak of %d blocks found in xmlValidateNamesValue",
   26500 	           xmlMemBlocks() - mem_base);
   26501 	    test_ret++;
   26502             printf(" %d", n_value);
   26503             printf("\n");
   26504         }
   26505     }
   26506     function_tests++;
   26507 #endif
   26508 
   26509     return(test_ret);
   26510 }
   26511 
   26512 
   26513 static int
   26514 test_xmlValidateNmtokenValue(void) {
   26515     int test_ret = 0;
   26516 
   26517 #if defined(LIBXML_VALID_ENABLED)
   26518     int mem_base;
   26519     int ret_val;
   26520     xmlChar * value; /* an Nmtoken value */
   26521     int n_value;
   26522 
   26523     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26524         mem_base = xmlMemBlocks();
   26525         value = gen_const_xmlChar_ptr(n_value, 0);
   26526 
   26527         ret_val = xmlValidateNmtokenValue((const xmlChar *)value);
   26528         desret_int(ret_val);
   26529         call_tests++;
   26530         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   26531         xmlResetLastError();
   26532         if (mem_base != xmlMemBlocks()) {
   26533             printf("Leak of %d blocks found in xmlValidateNmtokenValue",
   26534 	           xmlMemBlocks() - mem_base);
   26535 	    test_ret++;
   26536             printf(" %d", n_value);
   26537             printf("\n");
   26538         }
   26539     }
   26540     function_tests++;
   26541 #endif
   26542 
   26543     return(test_ret);
   26544 }
   26545 
   26546 
   26547 static int
   26548 test_xmlValidateNmtokensValue(void) {
   26549     int test_ret = 0;
   26550 
   26551 #if defined(LIBXML_VALID_ENABLED)
   26552     int mem_base;
   26553     int ret_val;
   26554     xmlChar * value; /* an Nmtokens value */
   26555     int n_value;
   26556 
   26557     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26558         mem_base = xmlMemBlocks();
   26559         value = gen_const_xmlChar_ptr(n_value, 0);
   26560 
   26561         ret_val = xmlValidateNmtokensValue((const xmlChar *)value);
   26562         desret_int(ret_val);
   26563         call_tests++;
   26564         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   26565         xmlResetLastError();
   26566         if (mem_base != xmlMemBlocks()) {
   26567             printf("Leak of %d blocks found in xmlValidateNmtokensValue",
   26568 	           xmlMemBlocks() - mem_base);
   26569 	    test_ret++;
   26570             printf(" %d", n_value);
   26571             printf("\n");
   26572         }
   26573     }
   26574     function_tests++;
   26575 #endif
   26576 
   26577     return(test_ret);
   26578 }
   26579 
   26580 
   26581 static int
   26582 test_xmlValidateNotationDecl(void) {
   26583     int test_ret = 0;
   26584 
   26585 #if defined(LIBXML_VALID_ENABLED)
   26586     int mem_base;
   26587     int ret_val;
   26588     xmlValidCtxtPtr ctxt; /* the validation context */
   26589     int n_ctxt;
   26590     xmlDocPtr doc; /* a document instance */
   26591     int n_doc;
   26592     xmlNotationPtr nota; /* a notation definition */
   26593     int n_nota;
   26594 
   26595     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26596     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26597     for (n_nota = 0;n_nota < gen_nb_xmlNotationPtr;n_nota++) {
   26598         mem_base = xmlMemBlocks();
   26599         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26600         doc = gen_xmlDocPtr(n_doc, 1);
   26601         nota = gen_xmlNotationPtr(n_nota, 2);
   26602 
   26603         ret_val = xmlValidateNotationDecl(ctxt, doc, nota);
   26604         desret_int(ret_val);
   26605         call_tests++;
   26606         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26607         des_xmlDocPtr(n_doc, doc, 1);
   26608         des_xmlNotationPtr(n_nota, nota, 2);
   26609         xmlResetLastError();
   26610         if (mem_base != xmlMemBlocks()) {
   26611             printf("Leak of %d blocks found in xmlValidateNotationDecl",
   26612 	           xmlMemBlocks() - mem_base);
   26613 	    test_ret++;
   26614             printf(" %d", n_ctxt);
   26615             printf(" %d", n_doc);
   26616             printf(" %d", n_nota);
   26617             printf("\n");
   26618         }
   26619     }
   26620     }
   26621     }
   26622     function_tests++;
   26623 #endif
   26624 
   26625     return(test_ret);
   26626 }
   26627 
   26628 
   26629 static int
   26630 test_xmlValidateNotationUse(void) {
   26631     int test_ret = 0;
   26632 
   26633 #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   26634     int mem_base;
   26635     int ret_val;
   26636     xmlValidCtxtPtr ctxt; /* the validation context */
   26637     int n_ctxt;
   26638     xmlDocPtr doc; /* the document */
   26639     int n_doc;
   26640     xmlChar * notationName; /* the notation name to check */
   26641     int n_notationName;
   26642 
   26643     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26644     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26645     for (n_notationName = 0;n_notationName < gen_nb_const_xmlChar_ptr;n_notationName++) {
   26646         mem_base = xmlMemBlocks();
   26647         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26648         doc = gen_xmlDocPtr(n_doc, 1);
   26649         notationName = gen_const_xmlChar_ptr(n_notationName, 2);
   26650 
   26651         ret_val = xmlValidateNotationUse(ctxt, doc, (const xmlChar *)notationName);
   26652         desret_int(ret_val);
   26653         call_tests++;
   26654         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26655         des_xmlDocPtr(n_doc, doc, 1);
   26656         des_const_xmlChar_ptr(n_notationName, (const xmlChar *)notationName, 2);
   26657         xmlResetLastError();
   26658         if (mem_base != xmlMemBlocks()) {
   26659             printf("Leak of %d blocks found in xmlValidateNotationUse",
   26660 	           xmlMemBlocks() - mem_base);
   26661 	    test_ret++;
   26662             printf(" %d", n_ctxt);
   26663             printf(" %d", n_doc);
   26664             printf(" %d", n_notationName);
   26665             printf("\n");
   26666         }
   26667     }
   26668     }
   26669     }
   26670     function_tests++;
   26671 #endif
   26672 
   26673     return(test_ret);
   26674 }
   26675 
   26676 
   26677 static int
   26678 test_xmlValidateOneAttribute(void) {
   26679     int test_ret = 0;
   26680 
   26681 #if defined(LIBXML_VALID_ENABLED)
   26682     int mem_base;
   26683     int ret_val;
   26684     xmlValidCtxtPtr ctxt; /* the validation context */
   26685     int n_ctxt;
   26686     xmlDocPtr doc; /* a document instance */
   26687     int n_doc;
   26688     xmlNodePtr elem; /* an element instance */
   26689     int n_elem;
   26690     xmlAttrPtr attr; /* an attribute instance */
   26691     int n_attr;
   26692     xmlChar * value; /* the attribute value (without entities processing) */
   26693     int n_value;
   26694 
   26695     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26696     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26697     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   26698     for (n_attr = 0;n_attr < gen_nb_xmlAttrPtr;n_attr++) {
   26699     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26700         mem_base = xmlMemBlocks();
   26701         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26702         doc = gen_xmlDocPtr(n_doc, 1);
   26703         elem = gen_xmlNodePtr(n_elem, 2);
   26704         attr = gen_xmlAttrPtr(n_attr, 3);
   26705         value = gen_const_xmlChar_ptr(n_value, 4);
   26706 
   26707         ret_val = xmlValidateOneAttribute(ctxt, doc, elem, attr, (const xmlChar *)value);
   26708         desret_int(ret_val);
   26709         call_tests++;
   26710         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26711         des_xmlDocPtr(n_doc, doc, 1);
   26712         des_xmlNodePtr(n_elem, elem, 2);
   26713         des_xmlAttrPtr(n_attr, attr, 3);
   26714         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 4);
   26715         xmlResetLastError();
   26716         if (mem_base != xmlMemBlocks()) {
   26717             printf("Leak of %d blocks found in xmlValidateOneAttribute",
   26718 	           xmlMemBlocks() - mem_base);
   26719 	    test_ret++;
   26720             printf(" %d", n_ctxt);
   26721             printf(" %d", n_doc);
   26722             printf(" %d", n_elem);
   26723             printf(" %d", n_attr);
   26724             printf(" %d", n_value);
   26725             printf("\n");
   26726         }
   26727     }
   26728     }
   26729     }
   26730     }
   26731     }
   26732     function_tests++;
   26733 #endif
   26734 
   26735     return(test_ret);
   26736 }
   26737 
   26738 
   26739 static int
   26740 test_xmlValidateOneElement(void) {
   26741     int test_ret = 0;
   26742 
   26743 #if defined(LIBXML_VALID_ENABLED)
   26744     int mem_base;
   26745     int ret_val;
   26746     xmlValidCtxtPtr ctxt; /* the validation context */
   26747     int n_ctxt;
   26748     xmlDocPtr doc; /* a document instance */
   26749     int n_doc;
   26750     xmlNodePtr elem; /* an element instance */
   26751     int n_elem;
   26752 
   26753     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26754     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26755     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   26756         mem_base = xmlMemBlocks();
   26757         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26758         doc = gen_xmlDocPtr(n_doc, 1);
   26759         elem = gen_xmlNodePtr(n_elem, 2);
   26760 
   26761         ret_val = xmlValidateOneElement(ctxt, doc, elem);
   26762         desret_int(ret_val);
   26763         call_tests++;
   26764         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26765         des_xmlDocPtr(n_doc, doc, 1);
   26766         des_xmlNodePtr(n_elem, elem, 2);
   26767         xmlResetLastError();
   26768         if (mem_base != xmlMemBlocks()) {
   26769             printf("Leak of %d blocks found in xmlValidateOneElement",
   26770 	           xmlMemBlocks() - mem_base);
   26771 	    test_ret++;
   26772             printf(" %d", n_ctxt);
   26773             printf(" %d", n_doc);
   26774             printf(" %d", n_elem);
   26775             printf("\n");
   26776         }
   26777     }
   26778     }
   26779     }
   26780     function_tests++;
   26781 #endif
   26782 
   26783     return(test_ret);
   26784 }
   26785 
   26786 
   26787 static int
   26788 test_xmlValidateOneNamespace(void) {
   26789     int test_ret = 0;
   26790 
   26791 #if defined(LIBXML_VALID_ENABLED)
   26792     int mem_base;
   26793     int ret_val;
   26794     xmlValidCtxtPtr ctxt; /* the validation context */
   26795     int n_ctxt;
   26796     xmlDocPtr doc; /* a document instance */
   26797     int n_doc;
   26798     xmlNodePtr elem; /* an element instance */
   26799     int n_elem;
   26800     xmlChar * prefix; /* the namespace prefix */
   26801     int n_prefix;
   26802     xmlNsPtr ns; /* an namespace declaration instance */
   26803     int n_ns;
   26804     xmlChar * value; /* the attribute value (without entities processing) */
   26805     int n_value;
   26806 
   26807     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26808     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26809     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   26810     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   26811     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   26812     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   26813         mem_base = xmlMemBlocks();
   26814         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26815         doc = gen_xmlDocPtr(n_doc, 1);
   26816         elem = gen_xmlNodePtr(n_elem, 2);
   26817         prefix = gen_const_xmlChar_ptr(n_prefix, 3);
   26818         ns = gen_xmlNsPtr(n_ns, 4);
   26819         value = gen_const_xmlChar_ptr(n_value, 5);
   26820 
   26821         ret_val = xmlValidateOneNamespace(ctxt, doc, elem, (const xmlChar *)prefix, ns, (const xmlChar *)value);
   26822         desret_int(ret_val);
   26823         call_tests++;
   26824         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26825         des_xmlDocPtr(n_doc, doc, 1);
   26826         des_xmlNodePtr(n_elem, elem, 2);
   26827         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 3);
   26828         des_xmlNsPtr(n_ns, ns, 4);
   26829         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 5);
   26830         xmlResetLastError();
   26831         if (mem_base != xmlMemBlocks()) {
   26832             printf("Leak of %d blocks found in xmlValidateOneNamespace",
   26833 	           xmlMemBlocks() - mem_base);
   26834 	    test_ret++;
   26835             printf(" %d", n_ctxt);
   26836             printf(" %d", n_doc);
   26837             printf(" %d", n_elem);
   26838             printf(" %d", n_prefix);
   26839             printf(" %d", n_ns);
   26840             printf(" %d", n_value);
   26841             printf("\n");
   26842         }
   26843     }
   26844     }
   26845     }
   26846     }
   26847     }
   26848     }
   26849     function_tests++;
   26850 #endif
   26851 
   26852     return(test_ret);
   26853 }
   26854 
   26855 
   26856 static int
   26857 test_xmlValidatePopElement(void) {
   26858     int test_ret = 0;
   26859 
   26860 #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
   26861     int mem_base;
   26862     int ret_val;
   26863     xmlValidCtxtPtr ctxt; /* the validation context */
   26864     int n_ctxt;
   26865     xmlDocPtr doc; /* a document instance */
   26866     int n_doc;
   26867     xmlNodePtr elem; /* an element instance */
   26868     int n_elem;
   26869     xmlChar * qname; /* the qualified name as appearing in the serialization */
   26870     int n_qname;
   26871 
   26872     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26873     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26874     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   26875     for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
   26876         mem_base = xmlMemBlocks();
   26877         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26878         doc = gen_xmlDocPtr(n_doc, 1);
   26879         elem = gen_xmlNodePtr(n_elem, 2);
   26880         qname = gen_const_xmlChar_ptr(n_qname, 3);
   26881 
   26882         ret_val = xmlValidatePopElement(ctxt, doc, elem, (const xmlChar *)qname);
   26883         desret_int(ret_val);
   26884         call_tests++;
   26885         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26886         des_xmlDocPtr(n_doc, doc, 1);
   26887         des_xmlNodePtr(n_elem, elem, 2);
   26888         des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
   26889         xmlResetLastError();
   26890         if (mem_base != xmlMemBlocks()) {
   26891             printf("Leak of %d blocks found in xmlValidatePopElement",
   26892 	           xmlMemBlocks() - mem_base);
   26893 	    test_ret++;
   26894             printf(" %d", n_ctxt);
   26895             printf(" %d", n_doc);
   26896             printf(" %d", n_elem);
   26897             printf(" %d", n_qname);
   26898             printf("\n");
   26899         }
   26900     }
   26901     }
   26902     }
   26903     }
   26904     function_tests++;
   26905 #endif
   26906 
   26907     return(test_ret);
   26908 }
   26909 
   26910 
   26911 static int
   26912 test_xmlValidatePushCData(void) {
   26913     int test_ret = 0;
   26914 
   26915 #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
   26916     int mem_base;
   26917     int ret_val;
   26918     xmlValidCtxtPtr ctxt; /* the validation context */
   26919     int n_ctxt;
   26920     xmlChar * data; /* some character data read */
   26921     int n_data;
   26922     int len; /* the lenght of the data */
   26923     int n_len;
   26924 
   26925     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26926     for (n_data = 0;n_data < gen_nb_const_xmlChar_ptr;n_data++) {
   26927     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   26928         mem_base = xmlMemBlocks();
   26929         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26930         data = gen_const_xmlChar_ptr(n_data, 1);
   26931         len = gen_int(n_len, 2);
   26932 
   26933         ret_val = xmlValidatePushCData(ctxt, (const xmlChar *)data, len);
   26934         desret_int(ret_val);
   26935         call_tests++;
   26936         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26937         des_const_xmlChar_ptr(n_data, (const xmlChar *)data, 1);
   26938         des_int(n_len, len, 2);
   26939         xmlResetLastError();
   26940         if (mem_base != xmlMemBlocks()) {
   26941             printf("Leak of %d blocks found in xmlValidatePushCData",
   26942 	           xmlMemBlocks() - mem_base);
   26943 	    test_ret++;
   26944             printf(" %d", n_ctxt);
   26945             printf(" %d", n_data);
   26946             printf(" %d", n_len);
   26947             printf("\n");
   26948         }
   26949     }
   26950     }
   26951     }
   26952     function_tests++;
   26953 #endif
   26954 
   26955     return(test_ret);
   26956 }
   26957 
   26958 
   26959 static int
   26960 test_xmlValidatePushElement(void) {
   26961     int test_ret = 0;
   26962 
   26963 #if defined(LIBXML_VALID_ENABLED) && defined(LIBXML_REGEXP_ENABLED)
   26964     int mem_base;
   26965     int ret_val;
   26966     xmlValidCtxtPtr ctxt; /* the validation context */
   26967     int n_ctxt;
   26968     xmlDocPtr doc; /* a document instance */
   26969     int n_doc;
   26970     xmlNodePtr elem; /* an element instance */
   26971     int n_elem;
   26972     xmlChar * qname; /* the qualified name as appearing in the serialization */
   26973     int n_qname;
   26974 
   26975     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   26976     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   26977     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   26978     for (n_qname = 0;n_qname < gen_nb_const_xmlChar_ptr;n_qname++) {
   26979         mem_base = xmlMemBlocks();
   26980         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   26981         doc = gen_xmlDocPtr(n_doc, 1);
   26982         elem = gen_xmlNodePtr(n_elem, 2);
   26983         qname = gen_const_xmlChar_ptr(n_qname, 3);
   26984 
   26985         ret_val = xmlValidatePushElement(ctxt, doc, elem, (const xmlChar *)qname);
   26986         desret_int(ret_val);
   26987         call_tests++;
   26988         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   26989         des_xmlDocPtr(n_doc, doc, 1);
   26990         des_xmlNodePtr(n_elem, elem, 2);
   26991         des_const_xmlChar_ptr(n_qname, (const xmlChar *)qname, 3);
   26992         xmlResetLastError();
   26993         if (mem_base != xmlMemBlocks()) {
   26994             printf("Leak of %d blocks found in xmlValidatePushElement",
   26995 	           xmlMemBlocks() - mem_base);
   26996 	    test_ret++;
   26997             printf(" %d", n_ctxt);
   26998             printf(" %d", n_doc);
   26999             printf(" %d", n_elem);
   27000             printf(" %d", n_qname);
   27001             printf("\n");
   27002         }
   27003     }
   27004     }
   27005     }
   27006     }
   27007     function_tests++;
   27008 #endif
   27009 
   27010     return(test_ret);
   27011 }
   27012 
   27013 
   27014 static int
   27015 test_xmlValidateRoot(void) {
   27016     int test_ret = 0;
   27017 
   27018 #if defined(LIBXML_VALID_ENABLED)
   27019     int mem_base;
   27020     int ret_val;
   27021     xmlValidCtxtPtr ctxt; /* the validation context */
   27022     int n_ctxt;
   27023     xmlDocPtr doc; /* a document instance */
   27024     int n_doc;
   27025 
   27026     for (n_ctxt = 0;n_ctxt < gen_nb_xmlValidCtxtPtr;n_ctxt++) {
   27027     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   27028         mem_base = xmlMemBlocks();
   27029         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
   27030         doc = gen_xmlDocPtr(n_doc, 1);
   27031 
   27032         ret_val = xmlValidateRoot(ctxt, doc);
   27033         desret_int(ret_val);
   27034         call_tests++;
   27035         des_xmlValidCtxtPtr(n_ctxt, ctxt, 0);
   27036         des_xmlDocPtr(n_doc, doc, 1);
   27037         xmlResetLastError();
   27038         if (mem_base != xmlMemBlocks()) {
   27039             printf("Leak of %d blocks found in xmlValidateRoot",
   27040 	           xmlMemBlocks() - mem_base);
   27041 	    test_ret++;
   27042             printf(" %d", n_ctxt);
   27043             printf(" %d", n_doc);
   27044             printf("\n");
   27045         }
   27046     }
   27047     }
   27048     function_tests++;
   27049 #endif
   27050 
   27051     return(test_ret);
   27052 }
   27053 
   27054 static int
   27055 test_valid(void) {
   27056     int test_ret = 0;
   27057 
   27058     if (quiet == 0) printf("Testing valid : 50 of 70 functions ...\n");
   27059     test_ret += test_xmlAddAttributeDecl();
   27060     test_ret += test_xmlAddElementDecl();
   27061     test_ret += test_xmlAddID();
   27062     test_ret += test_xmlAddNotationDecl();
   27063     test_ret += test_xmlAddRef();
   27064     test_ret += test_xmlCopyAttributeTable();
   27065     test_ret += test_xmlCopyDocElementContent();
   27066     test_ret += test_xmlCopyElementContent();
   27067     test_ret += test_xmlCopyElementTable();
   27068     test_ret += test_xmlCopyEnumeration();
   27069     test_ret += test_xmlCopyNotationTable();
   27070     test_ret += test_xmlCreateEnumeration();
   27071     test_ret += test_xmlDumpAttributeDecl();
   27072     test_ret += test_xmlDumpAttributeTable();
   27073     test_ret += test_xmlDumpElementDecl();
   27074     test_ret += test_xmlDumpElementTable();
   27075     test_ret += test_xmlDumpNotationDecl();
   27076     test_ret += test_xmlDumpNotationTable();
   27077     test_ret += test_xmlGetDtdAttrDesc();
   27078     test_ret += test_xmlGetDtdElementDesc();
   27079     test_ret += test_xmlGetDtdNotationDesc();
   27080     test_ret += test_xmlGetDtdQAttrDesc();
   27081     test_ret += test_xmlGetDtdQElementDesc();
   27082     test_ret += test_xmlGetID();
   27083     test_ret += test_xmlGetRefs();
   27084     test_ret += test_xmlIsID();
   27085     test_ret += test_xmlIsMixedElement();
   27086     test_ret += test_xmlIsRef();
   27087     test_ret += test_xmlNewDocElementContent();
   27088     test_ret += test_xmlNewElementContent();
   27089     test_ret += test_xmlNewValidCtxt();
   27090     test_ret += test_xmlRemoveID();
   27091     test_ret += test_xmlRemoveRef();
   27092     test_ret += test_xmlSnprintfElementContent();
   27093     test_ret += test_xmlSprintfElementContent();
   27094     test_ret += test_xmlValidBuildContentModel();
   27095     test_ret += test_xmlValidCtxtNormalizeAttributeValue();
   27096     test_ret += test_xmlValidGetPotentialChildren();
   27097     test_ret += test_xmlValidGetValidElements();
   27098     test_ret += test_xmlValidNormalizeAttributeValue();
   27099     test_ret += test_xmlValidateAttributeDecl();
   27100     test_ret += test_xmlValidateAttributeValue();
   27101     test_ret += test_xmlValidateDocument();
   27102     test_ret += test_xmlValidateDocumentFinal();
   27103     test_ret += test_xmlValidateDtd();
   27104     test_ret += test_xmlValidateDtdFinal();
   27105     test_ret += test_xmlValidateElement();
   27106     test_ret += test_xmlValidateElementDecl();
   27107     test_ret += test_xmlValidateNameValue();
   27108     test_ret += test_xmlValidateNamesValue();
   27109     test_ret += test_xmlValidateNmtokenValue();
   27110     test_ret += test_xmlValidateNmtokensValue();
   27111     test_ret += test_xmlValidateNotationDecl();
   27112     test_ret += test_xmlValidateNotationUse();
   27113     test_ret += test_xmlValidateOneAttribute();
   27114     test_ret += test_xmlValidateOneElement();
   27115     test_ret += test_xmlValidateOneNamespace();
   27116     test_ret += test_xmlValidatePopElement();
   27117     test_ret += test_xmlValidatePushCData();
   27118     test_ret += test_xmlValidatePushElement();
   27119     test_ret += test_xmlValidateRoot();
   27120 
   27121     if (test_ret != 0)
   27122 	printf("Module valid: %d errors\n", test_ret);
   27123     return(test_ret);
   27124 }
   27125 
   27126 static int
   27127 test_xmlXIncludeNewContext(void) {
   27128     int test_ret = 0;
   27129 
   27130 
   27131     /* missing type support */
   27132     return(test_ret);
   27133 }
   27134 
   27135 
   27136 static int
   27137 test_xmlXIncludeProcess(void) {
   27138     int test_ret = 0;
   27139 
   27140 #if defined(LIBXML_XINCLUDE_ENABLED)
   27141     int mem_base;
   27142     int ret_val;
   27143     xmlDocPtr doc; /* an XML document */
   27144     int n_doc;
   27145 
   27146     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   27147         mem_base = xmlMemBlocks();
   27148         doc = gen_xmlDocPtr(n_doc, 0);
   27149 
   27150         ret_val = xmlXIncludeProcess(doc);
   27151         desret_int(ret_val);
   27152         call_tests++;
   27153         des_xmlDocPtr(n_doc, doc, 0);
   27154         xmlResetLastError();
   27155         if (mem_base != xmlMemBlocks()) {
   27156             printf("Leak of %d blocks found in xmlXIncludeProcess",
   27157 	           xmlMemBlocks() - mem_base);
   27158 	    test_ret++;
   27159             printf(" %d", n_doc);
   27160             printf("\n");
   27161         }
   27162     }
   27163     function_tests++;
   27164 #endif
   27165 
   27166     return(test_ret);
   27167 }
   27168 
   27169 
   27170 static int
   27171 test_xmlXIncludeProcessFlags(void) {
   27172     int test_ret = 0;
   27173 
   27174 #if defined(LIBXML_XINCLUDE_ENABLED)
   27175     int mem_base;
   27176     int ret_val;
   27177     xmlDocPtr doc; /* an XML document */
   27178     int n_doc;
   27179     int flags; /* a set of xmlParserOption used for parsing XML includes */
   27180     int n_flags;
   27181 
   27182     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   27183     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
   27184         mem_base = xmlMemBlocks();
   27185         doc = gen_xmlDocPtr(n_doc, 0);
   27186         flags = gen_int(n_flags, 1);
   27187 
   27188         ret_val = xmlXIncludeProcessFlags(doc, flags);
   27189         desret_int(ret_val);
   27190         call_tests++;
   27191         des_xmlDocPtr(n_doc, doc, 0);
   27192         des_int(n_flags, flags, 1);
   27193         xmlResetLastError();
   27194         if (mem_base != xmlMemBlocks()) {
   27195             printf("Leak of %d blocks found in xmlXIncludeProcessFlags",
   27196 	           xmlMemBlocks() - mem_base);
   27197 	    test_ret++;
   27198             printf(" %d", n_doc);
   27199             printf(" %d", n_flags);
   27200             printf("\n");
   27201         }
   27202     }
   27203     }
   27204     function_tests++;
   27205 #endif
   27206 
   27207     return(test_ret);
   27208 }
   27209 
   27210 
   27211 static int
   27212 test_xmlXIncludeProcessFlagsData(void) {
   27213     int test_ret = 0;
   27214 
   27215 #if defined(LIBXML_XINCLUDE_ENABLED)
   27216     int mem_base;
   27217     int ret_val;
   27218     xmlDocPtr doc; /* an XML document */
   27219     int n_doc;
   27220     int flags; /* a set of xmlParserOption used for parsing XML includes */
   27221     int n_flags;
   27222     void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
   27223     int n_data;
   27224 
   27225     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   27226     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
   27227     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   27228         mem_base = xmlMemBlocks();
   27229         doc = gen_xmlDocPtr(n_doc, 0);
   27230         flags = gen_int(n_flags, 1);
   27231         data = gen_userdata(n_data, 2);
   27232 
   27233         ret_val = xmlXIncludeProcessFlagsData(doc, flags, data);
   27234         desret_int(ret_val);
   27235         call_tests++;
   27236         des_xmlDocPtr(n_doc, doc, 0);
   27237         des_int(n_flags, flags, 1);
   27238         des_userdata(n_data, data, 2);
   27239         xmlResetLastError();
   27240         if (mem_base != xmlMemBlocks()) {
   27241             printf("Leak of %d blocks found in xmlXIncludeProcessFlagsData",
   27242 	           xmlMemBlocks() - mem_base);
   27243 	    test_ret++;
   27244             printf(" %d", n_doc);
   27245             printf(" %d", n_flags);
   27246             printf(" %d", n_data);
   27247             printf("\n");
   27248         }
   27249     }
   27250     }
   27251     }
   27252     function_tests++;
   27253 #endif
   27254 
   27255     return(test_ret);
   27256 }
   27257 
   27258 #ifdef LIBXML_XINCLUDE_ENABLED
   27259 
   27260 #define gen_nb_xmlXIncludeCtxtPtr 1
   27261 static xmlXIncludeCtxtPtr gen_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   27262     return(NULL);
   27263 }
   27264 static void des_xmlXIncludeCtxtPtr(int no ATTRIBUTE_UNUSED, xmlXIncludeCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   27265 }
   27266 #endif
   27267 
   27268 
   27269 static int
   27270 test_xmlXIncludeProcessNode(void) {
   27271     int test_ret = 0;
   27272 
   27273 #if defined(LIBXML_XINCLUDE_ENABLED)
   27274     int mem_base;
   27275     int ret_val;
   27276     xmlXIncludeCtxtPtr ctxt; /* an existing XInclude context */
   27277     int n_ctxt;
   27278     xmlNodePtr node; /* a node in an XML document */
   27279     int n_node;
   27280 
   27281     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
   27282     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   27283         mem_base = xmlMemBlocks();
   27284         ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
   27285         node = gen_xmlNodePtr(n_node, 1);
   27286 
   27287         ret_val = xmlXIncludeProcessNode(ctxt, node);
   27288         desret_int(ret_val);
   27289         call_tests++;
   27290         des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
   27291         des_xmlNodePtr(n_node, node, 1);
   27292         xmlResetLastError();
   27293         if (mem_base != xmlMemBlocks()) {
   27294             printf("Leak of %d blocks found in xmlXIncludeProcessNode",
   27295 	           xmlMemBlocks() - mem_base);
   27296 	    test_ret++;
   27297             printf(" %d", n_ctxt);
   27298             printf(" %d", n_node);
   27299             printf("\n");
   27300         }
   27301     }
   27302     }
   27303     function_tests++;
   27304 #endif
   27305 
   27306     return(test_ret);
   27307 }
   27308 
   27309 
   27310 static int
   27311 test_xmlXIncludeProcessTree(void) {
   27312     int test_ret = 0;
   27313 
   27314 #if defined(LIBXML_XINCLUDE_ENABLED)
   27315     int mem_base;
   27316     int ret_val;
   27317     xmlNodePtr tree; /* a node in an XML document */
   27318     int n_tree;
   27319 
   27320     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
   27321         mem_base = xmlMemBlocks();
   27322         tree = gen_xmlNodePtr(n_tree, 0);
   27323 
   27324         ret_val = xmlXIncludeProcessTree(tree);
   27325         desret_int(ret_val);
   27326         call_tests++;
   27327         des_xmlNodePtr(n_tree, tree, 0);
   27328         xmlResetLastError();
   27329         if (mem_base != xmlMemBlocks()) {
   27330             printf("Leak of %d blocks found in xmlXIncludeProcessTree",
   27331 	           xmlMemBlocks() - mem_base);
   27332 	    test_ret++;
   27333             printf(" %d", n_tree);
   27334             printf("\n");
   27335         }
   27336     }
   27337     function_tests++;
   27338 #endif
   27339 
   27340     return(test_ret);
   27341 }
   27342 
   27343 
   27344 static int
   27345 test_xmlXIncludeProcessTreeFlags(void) {
   27346     int test_ret = 0;
   27347 
   27348 #if defined(LIBXML_XINCLUDE_ENABLED)
   27349     int mem_base;
   27350     int ret_val;
   27351     xmlNodePtr tree; /* a node in an XML document */
   27352     int n_tree;
   27353     int flags; /* a set of xmlParserOption used for parsing XML includes */
   27354     int n_flags;
   27355 
   27356     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
   27357     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
   27358         mem_base = xmlMemBlocks();
   27359         tree = gen_xmlNodePtr(n_tree, 0);
   27360         flags = gen_int(n_flags, 1);
   27361 
   27362         ret_val = xmlXIncludeProcessTreeFlags(tree, flags);
   27363         desret_int(ret_val);
   27364         call_tests++;
   27365         des_xmlNodePtr(n_tree, tree, 0);
   27366         des_int(n_flags, flags, 1);
   27367         xmlResetLastError();
   27368         if (mem_base != xmlMemBlocks()) {
   27369             printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlags",
   27370 	           xmlMemBlocks() - mem_base);
   27371 	    test_ret++;
   27372             printf(" %d", n_tree);
   27373             printf(" %d", n_flags);
   27374             printf("\n");
   27375         }
   27376     }
   27377     }
   27378     function_tests++;
   27379 #endif
   27380 
   27381     return(test_ret);
   27382 }
   27383 
   27384 
   27385 static int
   27386 test_xmlXIncludeProcessTreeFlagsData(void) {
   27387     int test_ret = 0;
   27388 
   27389 #if defined(LIBXML_XINCLUDE_ENABLED)
   27390     int mem_base;
   27391     int ret_val;
   27392     xmlNodePtr tree; /* an XML node */
   27393     int n_tree;
   27394     int flags; /* a set of xmlParserOption used for parsing XML includes */
   27395     int n_flags;
   27396     void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
   27397     int n_data;
   27398 
   27399     for (n_tree = 0;n_tree < gen_nb_xmlNodePtr;n_tree++) {
   27400     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
   27401     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   27402         mem_base = xmlMemBlocks();
   27403         tree = gen_xmlNodePtr(n_tree, 0);
   27404         flags = gen_int(n_flags, 1);
   27405         data = gen_userdata(n_data, 2);
   27406 
   27407         ret_val = xmlXIncludeProcessTreeFlagsData(tree, flags, data);
   27408         desret_int(ret_val);
   27409         call_tests++;
   27410         des_xmlNodePtr(n_tree, tree, 0);
   27411         des_int(n_flags, flags, 1);
   27412         des_userdata(n_data, data, 2);
   27413         xmlResetLastError();
   27414         if (mem_base != xmlMemBlocks()) {
   27415             printf("Leak of %d blocks found in xmlXIncludeProcessTreeFlagsData",
   27416 	           xmlMemBlocks() - mem_base);
   27417 	    test_ret++;
   27418             printf(" %d", n_tree);
   27419             printf(" %d", n_flags);
   27420             printf(" %d", n_data);
   27421             printf("\n");
   27422         }
   27423     }
   27424     }
   27425     }
   27426     function_tests++;
   27427 #endif
   27428 
   27429     return(test_ret);
   27430 }
   27431 
   27432 
   27433 static int
   27434 test_xmlXIncludeSetFlags(void) {
   27435     int test_ret = 0;
   27436 
   27437 #if defined(LIBXML_XINCLUDE_ENABLED)
   27438     int mem_base;
   27439     int ret_val;
   27440     xmlXIncludeCtxtPtr ctxt; /* an XInclude processing context */
   27441     int n_ctxt;
   27442     int flags; /* a set of xmlParserOption used for parsing XML includes */
   27443     int n_flags;
   27444 
   27445     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXIncludeCtxtPtr;n_ctxt++) {
   27446     for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
   27447         mem_base = xmlMemBlocks();
   27448         ctxt = gen_xmlXIncludeCtxtPtr(n_ctxt, 0);
   27449         flags = gen_int(n_flags, 1);
   27450 
   27451         ret_val = xmlXIncludeSetFlags(ctxt, flags);
   27452         desret_int(ret_val);
   27453         call_tests++;
   27454         des_xmlXIncludeCtxtPtr(n_ctxt, ctxt, 0);
   27455         des_int(n_flags, flags, 1);
   27456         xmlResetLastError();
   27457         if (mem_base != xmlMemBlocks()) {
   27458             printf("Leak of %d blocks found in xmlXIncludeSetFlags",
   27459 	           xmlMemBlocks() - mem_base);
   27460 	    test_ret++;
   27461             printf(" %d", n_ctxt);
   27462             printf(" %d", n_flags);
   27463             printf("\n");
   27464         }
   27465     }
   27466     }
   27467     function_tests++;
   27468 #endif
   27469 
   27470     return(test_ret);
   27471 }
   27472 
   27473 static int
   27474 test_xinclude(void) {
   27475     int test_ret = 0;
   27476 
   27477     if (quiet == 0) printf("Testing xinclude : 8 of 10 functions ...\n");
   27478     test_ret += test_xmlXIncludeNewContext();
   27479     test_ret += test_xmlXIncludeProcess();
   27480     test_ret += test_xmlXIncludeProcessFlags();
   27481     test_ret += test_xmlXIncludeProcessFlagsData();
   27482     test_ret += test_xmlXIncludeProcessNode();
   27483     test_ret += test_xmlXIncludeProcessTree();
   27484     test_ret += test_xmlXIncludeProcessTreeFlags();
   27485     test_ret += test_xmlXIncludeProcessTreeFlagsData();
   27486     test_ret += test_xmlXIncludeSetFlags();
   27487 
   27488     if (test_ret != 0)
   27489 	printf("Module xinclude: %d errors\n", test_ret);
   27490     return(test_ret);
   27491 }
   27492 
   27493 static int
   27494 test_xmlAllocOutputBuffer(void) {
   27495     int test_ret = 0;
   27496 
   27497 #if defined(LIBXML_OUTPUT_ENABLED)
   27498     int mem_base;
   27499     xmlOutputBufferPtr ret_val;
   27500     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
   27501     int n_encoder;
   27502 
   27503     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
   27504         mem_base = xmlMemBlocks();
   27505         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 0);
   27506 
   27507         ret_val = xmlAllocOutputBuffer(encoder);
   27508         desret_xmlOutputBufferPtr(ret_val);
   27509         call_tests++;
   27510         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 0);
   27511         xmlResetLastError();
   27512         if (mem_base != xmlMemBlocks()) {
   27513             printf("Leak of %d blocks found in xmlAllocOutputBuffer",
   27514 	           xmlMemBlocks() - mem_base);
   27515 	    test_ret++;
   27516             printf(" %d", n_encoder);
   27517             printf("\n");
   27518         }
   27519     }
   27520     function_tests++;
   27521 #endif
   27522 
   27523     return(test_ret);
   27524 }
   27525 
   27526 
   27527 static int
   27528 test_xmlAllocParserInputBuffer(void) {
   27529     int test_ret = 0;
   27530 
   27531     int mem_base;
   27532     xmlParserInputBufferPtr ret_val;
   27533     xmlCharEncoding enc; /* the charset encoding if known */
   27534     int n_enc;
   27535 
   27536     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   27537         mem_base = xmlMemBlocks();
   27538         enc = gen_xmlCharEncoding(n_enc, 0);
   27539 
   27540         ret_val = xmlAllocParserInputBuffer(enc);
   27541         desret_xmlParserInputBufferPtr(ret_val);
   27542         call_tests++;
   27543         des_xmlCharEncoding(n_enc, enc, 0);
   27544         xmlResetLastError();
   27545         if (mem_base != xmlMemBlocks()) {
   27546             printf("Leak of %d blocks found in xmlAllocParserInputBuffer",
   27547 	           xmlMemBlocks() - mem_base);
   27548 	    test_ret++;
   27549             printf(" %d", n_enc);
   27550             printf("\n");
   27551         }
   27552     }
   27553     function_tests++;
   27554 
   27555     return(test_ret);
   27556 }
   27557 
   27558 
   27559 static int
   27560 test_xmlCheckFilename(void) {
   27561     int test_ret = 0;
   27562 
   27563     int mem_base;
   27564     int ret_val;
   27565     char * path; /* the path to check */
   27566     int n_path;
   27567 
   27568     for (n_path = 0;n_path < gen_nb_const_char_ptr;n_path++) {
   27569         mem_base = xmlMemBlocks();
   27570         path = gen_const_char_ptr(n_path, 0);
   27571 
   27572         ret_val = xmlCheckFilename((const char *)path);
   27573         desret_int(ret_val);
   27574         call_tests++;
   27575         des_const_char_ptr(n_path, (const char *)path, 0);
   27576         xmlResetLastError();
   27577         if (mem_base != xmlMemBlocks()) {
   27578             printf("Leak of %d blocks found in xmlCheckFilename",
   27579 	           xmlMemBlocks() - mem_base);
   27580 	    test_ret++;
   27581             printf(" %d", n_path);
   27582             printf("\n");
   27583         }
   27584     }
   27585     function_tests++;
   27586 
   27587     return(test_ret);
   27588 }
   27589 
   27590 
   27591 static int
   27592 test_xmlCheckHTTPInput(void) {
   27593     int test_ret = 0;
   27594 
   27595     int mem_base;
   27596     xmlParserInputPtr ret_val;
   27597     xmlParserCtxtPtr ctxt; /* an XML parser context */
   27598     int n_ctxt;
   27599     xmlParserInputPtr ret; /* an XML parser input */
   27600     int n_ret;
   27601 
   27602     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   27603     for (n_ret = 0;n_ret < gen_nb_xmlParserInputPtr;n_ret++) {
   27604         mem_base = xmlMemBlocks();
   27605         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   27606         ret = gen_xmlParserInputPtr(n_ret, 1);
   27607 
   27608         ret_val = xmlCheckHTTPInput(ctxt, ret);
   27609         desret_xmlParserInputPtr(ret_val);
   27610         call_tests++;
   27611         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   27612         des_xmlParserInputPtr(n_ret, ret, 1);
   27613         xmlResetLastError();
   27614         if (mem_base != xmlMemBlocks()) {
   27615             printf("Leak of %d blocks found in xmlCheckHTTPInput",
   27616 	           xmlMemBlocks() - mem_base);
   27617 	    test_ret++;
   27618             printf(" %d", n_ctxt);
   27619             printf(" %d", n_ret);
   27620             printf("\n");
   27621         }
   27622     }
   27623     }
   27624     function_tests++;
   27625 
   27626     return(test_ret);
   27627 }
   27628 
   27629 
   27630 static int
   27631 test_xmlCleanupInputCallbacks(void) {
   27632     int test_ret = 0;
   27633 
   27634     int mem_base;
   27635 
   27636         mem_base = xmlMemBlocks();
   27637 
   27638         xmlCleanupInputCallbacks();
   27639         call_tests++;
   27640         xmlResetLastError();
   27641         if (mem_base != xmlMemBlocks()) {
   27642             printf("Leak of %d blocks found in xmlCleanupInputCallbacks",
   27643 	           xmlMemBlocks() - mem_base);
   27644 	    test_ret++;
   27645             printf("\n");
   27646         }
   27647     function_tests++;
   27648 
   27649     return(test_ret);
   27650 }
   27651 
   27652 
   27653 static int
   27654 test_xmlCleanupOutputCallbacks(void) {
   27655     int test_ret = 0;
   27656 
   27657 #if defined(LIBXML_OUTPUT_ENABLED)
   27658     int mem_base;
   27659 
   27660         mem_base = xmlMemBlocks();
   27661 
   27662         xmlCleanupOutputCallbacks();
   27663         call_tests++;
   27664         xmlResetLastError();
   27665         if (mem_base != xmlMemBlocks()) {
   27666             printf("Leak of %d blocks found in xmlCleanupOutputCallbacks",
   27667 	           xmlMemBlocks() - mem_base);
   27668 	    test_ret++;
   27669             printf("\n");
   27670         }
   27671     function_tests++;
   27672 #endif
   27673 
   27674     return(test_ret);
   27675 }
   27676 
   27677 
   27678 static int
   27679 test_xmlFileClose(void) {
   27680     int test_ret = 0;
   27681 
   27682     int mem_base;
   27683     int ret_val;
   27684     void * context; /* the I/O context */
   27685     int n_context;
   27686 
   27687     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
   27688         mem_base = xmlMemBlocks();
   27689         context = gen_void_ptr(n_context, 0);
   27690 
   27691         ret_val = xmlFileClose(context);
   27692         desret_int(ret_val);
   27693         call_tests++;
   27694         des_void_ptr(n_context, context, 0);
   27695         xmlResetLastError();
   27696         if (mem_base != xmlMemBlocks()) {
   27697             printf("Leak of %d blocks found in xmlFileClose",
   27698 	           xmlMemBlocks() - mem_base);
   27699 	    test_ret++;
   27700             printf(" %d", n_context);
   27701             printf("\n");
   27702         }
   27703     }
   27704     function_tests++;
   27705 
   27706     return(test_ret);
   27707 }
   27708 
   27709 
   27710 static int
   27711 test_xmlFileMatch(void) {
   27712     int test_ret = 0;
   27713 
   27714     int mem_base;
   27715     int ret_val;
   27716     const char * filename; /* the URI for matching */
   27717     int n_filename;
   27718 
   27719     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   27720         mem_base = xmlMemBlocks();
   27721         filename = gen_filepath(n_filename, 0);
   27722 
   27723         ret_val = xmlFileMatch(filename);
   27724         desret_int(ret_val);
   27725         call_tests++;
   27726         des_filepath(n_filename, filename, 0);
   27727         xmlResetLastError();
   27728         if (mem_base != xmlMemBlocks()) {
   27729             printf("Leak of %d blocks found in xmlFileMatch",
   27730 	           xmlMemBlocks() - mem_base);
   27731 	    test_ret++;
   27732             printf(" %d", n_filename);
   27733             printf("\n");
   27734         }
   27735     }
   27736     function_tests++;
   27737 
   27738     return(test_ret);
   27739 }
   27740 
   27741 
   27742 static int
   27743 test_xmlFileOpen(void) {
   27744     int test_ret = 0;
   27745 
   27746     int mem_base;
   27747     void * ret_val;
   27748     const char * filename; /* the URI for matching */
   27749     int n_filename;
   27750 
   27751     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   27752         mem_base = xmlMemBlocks();
   27753         filename = gen_filepath(n_filename, 0);
   27754 
   27755         ret_val = xmlFileOpen(filename);
   27756         desret_void_ptr(ret_val);
   27757         call_tests++;
   27758         des_filepath(n_filename, filename, 0);
   27759         xmlResetLastError();
   27760         if (mem_base != xmlMemBlocks()) {
   27761             printf("Leak of %d blocks found in xmlFileOpen",
   27762 	           xmlMemBlocks() - mem_base);
   27763 	    test_ret++;
   27764             printf(" %d", n_filename);
   27765             printf("\n");
   27766         }
   27767     }
   27768     function_tests++;
   27769 
   27770     return(test_ret);
   27771 }
   27772 
   27773 
   27774 static int
   27775 test_xmlFileRead(void) {
   27776     int test_ret = 0;
   27777 
   27778     int mem_base;
   27779     int ret_val;
   27780     void * context; /* the I/O context */
   27781     int n_context;
   27782     char * buffer; /* where to drop data */
   27783     int n_buffer;
   27784     int len; /* number of bytes to write */
   27785     int n_len;
   27786 
   27787     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
   27788     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
   27789     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   27790         mem_base = xmlMemBlocks();
   27791         context = gen_void_ptr(n_context, 0);
   27792         buffer = gen_char_ptr(n_buffer, 1);
   27793         len = gen_int(n_len, 2);
   27794 
   27795         ret_val = xmlFileRead(context, buffer, len);
   27796         desret_int(ret_val);
   27797         call_tests++;
   27798         des_void_ptr(n_context, context, 0);
   27799         des_char_ptr(n_buffer, buffer, 1);
   27800         des_int(n_len, len, 2);
   27801         xmlResetLastError();
   27802         if (mem_base != xmlMemBlocks()) {
   27803             printf("Leak of %d blocks found in xmlFileRead",
   27804 	           xmlMemBlocks() - mem_base);
   27805 	    test_ret++;
   27806             printf(" %d", n_context);
   27807             printf(" %d", n_buffer);
   27808             printf(" %d", n_len);
   27809             printf("\n");
   27810         }
   27811     }
   27812     }
   27813     }
   27814     function_tests++;
   27815 
   27816     return(test_ret);
   27817 }
   27818 
   27819 
   27820 static int
   27821 test_xmlIOFTPClose(void) {
   27822     int test_ret = 0;
   27823 
   27824 #if defined(LIBXML_FTP_ENABLED)
   27825     int mem_base;
   27826     int ret_val;
   27827     void * context; /* the I/O context */
   27828     int n_context;
   27829 
   27830     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
   27831         mem_base = xmlMemBlocks();
   27832         context = gen_void_ptr(n_context, 0);
   27833 
   27834         ret_val = xmlIOFTPClose(context);
   27835         desret_int(ret_val);
   27836         call_tests++;
   27837         des_void_ptr(n_context, context, 0);
   27838         xmlResetLastError();
   27839         if (mem_base != xmlMemBlocks()) {
   27840             printf("Leak of %d blocks found in xmlIOFTPClose",
   27841 	           xmlMemBlocks() - mem_base);
   27842 	    test_ret++;
   27843             printf(" %d", n_context);
   27844             printf("\n");
   27845         }
   27846     }
   27847     function_tests++;
   27848 #endif
   27849 
   27850     return(test_ret);
   27851 }
   27852 
   27853 
   27854 static int
   27855 test_xmlIOFTPMatch(void) {
   27856     int test_ret = 0;
   27857 
   27858 #if defined(LIBXML_FTP_ENABLED)
   27859     int mem_base;
   27860     int ret_val;
   27861     const char * filename; /* the URI for matching */
   27862     int n_filename;
   27863 
   27864     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   27865         mem_base = xmlMemBlocks();
   27866         filename = gen_filepath(n_filename, 0);
   27867 
   27868         ret_val = xmlIOFTPMatch(filename);
   27869         desret_int(ret_val);
   27870         call_tests++;
   27871         des_filepath(n_filename, filename, 0);
   27872         xmlResetLastError();
   27873         if (mem_base != xmlMemBlocks()) {
   27874             printf("Leak of %d blocks found in xmlIOFTPMatch",
   27875 	           xmlMemBlocks() - mem_base);
   27876 	    test_ret++;
   27877             printf(" %d", n_filename);
   27878             printf("\n");
   27879         }
   27880     }
   27881     function_tests++;
   27882 #endif
   27883 
   27884     return(test_ret);
   27885 }
   27886 
   27887 
   27888 static int
   27889 test_xmlIOFTPOpen(void) {
   27890     int test_ret = 0;
   27891 
   27892 #if defined(LIBXML_FTP_ENABLED)
   27893     int mem_base;
   27894     void * ret_val;
   27895     const char * filename; /* the URI for matching */
   27896     int n_filename;
   27897 
   27898     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   27899         mem_base = xmlMemBlocks();
   27900         filename = gen_filepath(n_filename, 0);
   27901 
   27902         ret_val = xmlIOFTPOpen(filename);
   27903         desret_void_ptr(ret_val);
   27904         call_tests++;
   27905         des_filepath(n_filename, filename, 0);
   27906         xmlResetLastError();
   27907         if (mem_base != xmlMemBlocks()) {
   27908             printf("Leak of %d blocks found in xmlIOFTPOpen",
   27909 	           xmlMemBlocks() - mem_base);
   27910 	    test_ret++;
   27911             printf(" %d", n_filename);
   27912             printf("\n");
   27913         }
   27914     }
   27915     function_tests++;
   27916 #endif
   27917 
   27918     return(test_ret);
   27919 }
   27920 
   27921 
   27922 static int
   27923 test_xmlIOFTPRead(void) {
   27924     int test_ret = 0;
   27925 
   27926 #if defined(LIBXML_FTP_ENABLED)
   27927     int mem_base;
   27928     int ret_val;
   27929     void * context; /* the I/O context */
   27930     int n_context;
   27931     char * buffer; /* where to drop data */
   27932     int n_buffer;
   27933     int len; /* number of bytes to write */
   27934     int n_len;
   27935 
   27936     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
   27937     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
   27938     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   27939         mem_base = xmlMemBlocks();
   27940         context = gen_void_ptr(n_context, 0);
   27941         buffer = gen_char_ptr(n_buffer, 1);
   27942         len = gen_int(n_len, 2);
   27943 
   27944         ret_val = xmlIOFTPRead(context, buffer, len);
   27945         desret_int(ret_val);
   27946         call_tests++;
   27947         des_void_ptr(n_context, context, 0);
   27948         des_char_ptr(n_buffer, buffer, 1);
   27949         des_int(n_len, len, 2);
   27950         xmlResetLastError();
   27951         if (mem_base != xmlMemBlocks()) {
   27952             printf("Leak of %d blocks found in xmlIOFTPRead",
   27953 	           xmlMemBlocks() - mem_base);
   27954 	    test_ret++;
   27955             printf(" %d", n_context);
   27956             printf(" %d", n_buffer);
   27957             printf(" %d", n_len);
   27958             printf("\n");
   27959         }
   27960     }
   27961     }
   27962     }
   27963     function_tests++;
   27964 #endif
   27965 
   27966     return(test_ret);
   27967 }
   27968 
   27969 
   27970 static int
   27971 test_xmlIOHTTPClose(void) {
   27972     int test_ret = 0;
   27973 
   27974 #if defined(LIBXML_HTTP_ENABLED)
   27975     int mem_base;
   27976     int ret_val;
   27977     void * context; /* the I/O context */
   27978     int n_context;
   27979 
   27980     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
   27981         mem_base = xmlMemBlocks();
   27982         context = gen_void_ptr(n_context, 0);
   27983 
   27984         ret_val = xmlIOHTTPClose(context);
   27985         desret_int(ret_val);
   27986         call_tests++;
   27987         des_void_ptr(n_context, context, 0);
   27988         xmlResetLastError();
   27989         if (mem_base != xmlMemBlocks()) {
   27990             printf("Leak of %d blocks found in xmlIOHTTPClose",
   27991 	           xmlMemBlocks() - mem_base);
   27992 	    test_ret++;
   27993             printf(" %d", n_context);
   27994             printf("\n");
   27995         }
   27996     }
   27997     function_tests++;
   27998 #endif
   27999 
   28000     return(test_ret);
   28001 }
   28002 
   28003 
   28004 static int
   28005 test_xmlIOHTTPMatch(void) {
   28006     int test_ret = 0;
   28007 
   28008 #if defined(LIBXML_HTTP_ENABLED)
   28009     int mem_base;
   28010     int ret_val;
   28011     const char * filename; /* the URI for matching */
   28012     int n_filename;
   28013 
   28014     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   28015         mem_base = xmlMemBlocks();
   28016         filename = gen_filepath(n_filename, 0);
   28017 
   28018         ret_val = xmlIOHTTPMatch(filename);
   28019         desret_int(ret_val);
   28020         call_tests++;
   28021         des_filepath(n_filename, filename, 0);
   28022         xmlResetLastError();
   28023         if (mem_base != xmlMemBlocks()) {
   28024             printf("Leak of %d blocks found in xmlIOHTTPMatch",
   28025 	           xmlMemBlocks() - mem_base);
   28026 	    test_ret++;
   28027             printf(" %d", n_filename);
   28028             printf("\n");
   28029         }
   28030     }
   28031     function_tests++;
   28032 #endif
   28033 
   28034     return(test_ret);
   28035 }
   28036 
   28037 
   28038 static int
   28039 test_xmlIOHTTPOpen(void) {
   28040     int test_ret = 0;
   28041 
   28042 #if defined(LIBXML_HTTP_ENABLED)
   28043     int mem_base;
   28044     void * ret_val;
   28045     const char * filename; /* the URI for matching */
   28046     int n_filename;
   28047 
   28048     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   28049         mem_base = xmlMemBlocks();
   28050         filename = gen_filepath(n_filename, 0);
   28051 
   28052         ret_val = xmlIOHTTPOpen(filename);
   28053         desret_xmlNanoHTTPCtxtPtr(ret_val);
   28054         call_tests++;
   28055         des_filepath(n_filename, filename, 0);
   28056         xmlResetLastError();
   28057         if (mem_base != xmlMemBlocks()) {
   28058             printf("Leak of %d blocks found in xmlIOHTTPOpen",
   28059 	           xmlMemBlocks() - mem_base);
   28060 	    test_ret++;
   28061             printf(" %d", n_filename);
   28062             printf("\n");
   28063         }
   28064     }
   28065     function_tests++;
   28066 #endif
   28067 
   28068     return(test_ret);
   28069 }
   28070 
   28071 
   28072 static int
   28073 test_xmlIOHTTPRead(void) {
   28074     int test_ret = 0;
   28075 
   28076 #if defined(LIBXML_HTTP_ENABLED)
   28077     int mem_base;
   28078     int ret_val;
   28079     void * context; /* the I/O context */
   28080     int n_context;
   28081     char * buffer; /* where to drop data */
   28082     int n_buffer;
   28083     int len; /* number of bytes to write */
   28084     int n_len;
   28085 
   28086     for (n_context = 0;n_context < gen_nb_void_ptr;n_context++) {
   28087     for (n_buffer = 0;n_buffer < gen_nb_char_ptr;n_buffer++) {
   28088     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   28089         mem_base = xmlMemBlocks();
   28090         context = gen_void_ptr(n_context, 0);
   28091         buffer = gen_char_ptr(n_buffer, 1);
   28092         len = gen_int(n_len, 2);
   28093 
   28094         ret_val = xmlIOHTTPRead(context, buffer, len);
   28095         desret_int(ret_val);
   28096         call_tests++;
   28097         des_void_ptr(n_context, context, 0);
   28098         des_char_ptr(n_buffer, buffer, 1);
   28099         des_int(n_len, len, 2);
   28100         xmlResetLastError();
   28101         if (mem_base != xmlMemBlocks()) {
   28102             printf("Leak of %d blocks found in xmlIOHTTPRead",
   28103 	           xmlMemBlocks() - mem_base);
   28104 	    test_ret++;
   28105             printf(" %d", n_context);
   28106             printf(" %d", n_buffer);
   28107             printf(" %d", n_len);
   28108             printf("\n");
   28109         }
   28110     }
   28111     }
   28112     }
   28113     function_tests++;
   28114 #endif
   28115 
   28116     return(test_ret);
   28117 }
   28118 
   28119 
   28120 static int
   28121 test_xmlNoNetExternalEntityLoader(void) {
   28122     int test_ret = 0;
   28123 
   28124     int mem_base;
   28125     xmlParserInputPtr ret_val;
   28126     const char * URL; /* the URL for the entity to load */
   28127     int n_URL;
   28128     char * ID; /* the System ID for the entity to load */
   28129     int n_ID;
   28130     xmlParserCtxtPtr ctxt; /* the context in which the entity is called or NULL */
   28131     int n_ctxt;
   28132 
   28133     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   28134     for (n_ID = 0;n_ID < gen_nb_const_char_ptr;n_ID++) {
   28135     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   28136         mem_base = xmlMemBlocks();
   28137         URL = gen_filepath(n_URL, 0);
   28138         ID = gen_const_char_ptr(n_ID, 1);
   28139         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 2);
   28140 
   28141         ret_val = xmlNoNetExternalEntityLoader(URL, (const char *)ID, ctxt);
   28142         desret_xmlParserInputPtr(ret_val);
   28143         call_tests++;
   28144         des_filepath(n_URL, URL, 0);
   28145         des_const_char_ptr(n_ID, (const char *)ID, 1);
   28146         des_xmlParserCtxtPtr(n_ctxt, ctxt, 2);
   28147         xmlResetLastError();
   28148         if (mem_base != xmlMemBlocks()) {
   28149             printf("Leak of %d blocks found in xmlNoNetExternalEntityLoader",
   28150 	           xmlMemBlocks() - mem_base);
   28151 	    test_ret++;
   28152             printf(" %d", n_URL);
   28153             printf(" %d", n_ID);
   28154             printf(" %d", n_ctxt);
   28155             printf("\n");
   28156         }
   28157     }
   28158     }
   28159     }
   28160     function_tests++;
   28161 
   28162     return(test_ret);
   28163 }
   28164 
   28165 
   28166 static int
   28167 test_xmlNormalizeWindowsPath(void) {
   28168     int test_ret = 0;
   28169 
   28170     int mem_base;
   28171     xmlChar * ret_val;
   28172     xmlChar * path; /* the input file path */
   28173     int n_path;
   28174 
   28175     for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
   28176         mem_base = xmlMemBlocks();
   28177         path = gen_const_xmlChar_ptr(n_path, 0);
   28178 
   28179         ret_val = xmlNormalizeWindowsPath((const xmlChar *)path);
   28180         desret_xmlChar_ptr(ret_val);
   28181         call_tests++;
   28182         des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
   28183         xmlResetLastError();
   28184         if (mem_base != xmlMemBlocks()) {
   28185             printf("Leak of %d blocks found in xmlNormalizeWindowsPath",
   28186 	           xmlMemBlocks() - mem_base);
   28187 	    test_ret++;
   28188             printf(" %d", n_path);
   28189             printf("\n");
   28190         }
   28191     }
   28192     function_tests++;
   28193 
   28194     return(test_ret);
   28195 }
   28196 
   28197 
   28198 static int
   28199 test_xmlOutputBufferCreateBuffer(void) {
   28200     int test_ret = 0;
   28201 
   28202 #if defined(LIBXML_OUTPUT_ENABLED)
   28203     int mem_base;
   28204     xmlOutputBufferPtr ret_val;
   28205     xmlBufferPtr buffer; /* a xmlBufferPtr */
   28206     int n_buffer;
   28207     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
   28208     int n_encoder;
   28209 
   28210     for (n_buffer = 0;n_buffer < gen_nb_xmlBufferPtr;n_buffer++) {
   28211     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
   28212         mem_base = xmlMemBlocks();
   28213         buffer = gen_xmlBufferPtr(n_buffer, 0);
   28214         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
   28215 
   28216         ret_val = xmlOutputBufferCreateBuffer(buffer, encoder);
   28217         desret_xmlOutputBufferPtr(ret_val);
   28218         call_tests++;
   28219         des_xmlBufferPtr(n_buffer, buffer, 0);
   28220         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
   28221         xmlResetLastError();
   28222         if (mem_base != xmlMemBlocks()) {
   28223             printf("Leak of %d blocks found in xmlOutputBufferCreateBuffer",
   28224 	           xmlMemBlocks() - mem_base);
   28225 	    test_ret++;
   28226             printf(" %d", n_buffer);
   28227             printf(" %d", n_encoder);
   28228             printf("\n");
   28229         }
   28230     }
   28231     }
   28232     function_tests++;
   28233 #endif
   28234 
   28235     return(test_ret);
   28236 }
   28237 
   28238 
   28239 static int
   28240 test_xmlOutputBufferCreateFd(void) {
   28241     int test_ret = 0;
   28242 
   28243 #if defined(LIBXML_OUTPUT_ENABLED)
   28244     int mem_base;
   28245     xmlOutputBufferPtr ret_val;
   28246     int fd; /* a file descriptor number */
   28247     int n_fd;
   28248     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
   28249     int n_encoder;
   28250 
   28251     for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
   28252     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
   28253         mem_base = xmlMemBlocks();
   28254         fd = gen_int(n_fd, 0);
   28255         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
   28256 
   28257         ret_val = xmlOutputBufferCreateFd(fd, encoder);
   28258         desret_xmlOutputBufferPtr(ret_val);
   28259         call_tests++;
   28260         des_int(n_fd, fd, 0);
   28261         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
   28262         xmlResetLastError();
   28263         if (mem_base != xmlMemBlocks()) {
   28264             printf("Leak of %d blocks found in xmlOutputBufferCreateFd",
   28265 	           xmlMemBlocks() - mem_base);
   28266 	    test_ret++;
   28267             printf(" %d", n_fd);
   28268             printf(" %d", n_encoder);
   28269             printf("\n");
   28270         }
   28271     }
   28272     }
   28273     function_tests++;
   28274 #endif
   28275 
   28276     return(test_ret);
   28277 }
   28278 
   28279 
   28280 static int
   28281 test_xmlOutputBufferCreateFile(void) {
   28282     int test_ret = 0;
   28283 
   28284 #if defined(LIBXML_OUTPUT_ENABLED)
   28285     int mem_base;
   28286     xmlOutputBufferPtr ret_val;
   28287     FILE * file; /* a FILE* */
   28288     int n_file;
   28289     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
   28290     int n_encoder;
   28291 
   28292     for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
   28293     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
   28294         mem_base = xmlMemBlocks();
   28295         file = gen_FILE_ptr(n_file, 0);
   28296         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
   28297 
   28298         ret_val = xmlOutputBufferCreateFile(file, encoder);
   28299         desret_xmlOutputBufferPtr(ret_val);
   28300         call_tests++;
   28301         des_FILE_ptr(n_file, file, 0);
   28302         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
   28303         xmlResetLastError();
   28304         if (mem_base != xmlMemBlocks()) {
   28305             printf("Leak of %d blocks found in xmlOutputBufferCreateFile",
   28306 	           xmlMemBlocks() - mem_base);
   28307 	    test_ret++;
   28308             printf(" %d", n_file);
   28309             printf(" %d", n_encoder);
   28310             printf("\n");
   28311         }
   28312     }
   28313     }
   28314     function_tests++;
   28315 #endif
   28316 
   28317     return(test_ret);
   28318 }
   28319 
   28320 
   28321 static int
   28322 test_xmlOutputBufferCreateFilename(void) {
   28323     int test_ret = 0;
   28324 
   28325 #if defined(LIBXML_OUTPUT_ENABLED)
   28326     int mem_base;
   28327     xmlOutputBufferPtr ret_val;
   28328     const char * URI; /* a C string containing the URI or filename */
   28329     int n_URI;
   28330     xmlCharEncodingHandlerPtr encoder; /* the encoding converter or NULL */
   28331     int n_encoder;
   28332     int compression; /* the compression ration (0 none, 9 max). */
   28333     int n_compression;
   28334 
   28335     for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
   28336     for (n_encoder = 0;n_encoder < gen_nb_xmlCharEncodingHandlerPtr;n_encoder++) {
   28337     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
   28338         mem_base = xmlMemBlocks();
   28339         URI = gen_fileoutput(n_URI, 0);
   28340         encoder = gen_xmlCharEncodingHandlerPtr(n_encoder, 1);
   28341         compression = gen_int(n_compression, 2);
   28342 
   28343         ret_val = xmlOutputBufferCreateFilename(URI, encoder, compression);
   28344         desret_xmlOutputBufferPtr(ret_val);
   28345         call_tests++;
   28346         des_fileoutput(n_URI, URI, 0);
   28347         des_xmlCharEncodingHandlerPtr(n_encoder, encoder, 1);
   28348         des_int(n_compression, compression, 2);
   28349         xmlResetLastError();
   28350         if (mem_base != xmlMemBlocks()) {
   28351             printf("Leak of %d blocks found in xmlOutputBufferCreateFilename",
   28352 	           xmlMemBlocks() - mem_base);
   28353 	    test_ret++;
   28354             printf(" %d", n_URI);
   28355             printf(" %d", n_encoder);
   28356             printf(" %d", n_compression);
   28357             printf("\n");
   28358         }
   28359     }
   28360     }
   28361     }
   28362     function_tests++;
   28363 #endif
   28364 
   28365     return(test_ret);
   28366 }
   28367 
   28368 
   28369 static int
   28370 test_xmlOutputBufferFlush(void) {
   28371     int test_ret = 0;
   28372 
   28373 #if defined(LIBXML_OUTPUT_ENABLED)
   28374     int mem_base;
   28375     int ret_val;
   28376     xmlOutputBufferPtr out; /* a buffered output */
   28377     int n_out;
   28378 
   28379     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
   28380         mem_base = xmlMemBlocks();
   28381         out = gen_xmlOutputBufferPtr(n_out, 0);
   28382 
   28383         ret_val = xmlOutputBufferFlush(out);
   28384         desret_int(ret_val);
   28385         call_tests++;
   28386         des_xmlOutputBufferPtr(n_out, out, 0);
   28387         xmlResetLastError();
   28388         if (mem_base != xmlMemBlocks()) {
   28389             printf("Leak of %d blocks found in xmlOutputBufferFlush",
   28390 	           xmlMemBlocks() - mem_base);
   28391 	    test_ret++;
   28392             printf(" %d", n_out);
   28393             printf("\n");
   28394         }
   28395     }
   28396     function_tests++;
   28397 #endif
   28398 
   28399     return(test_ret);
   28400 }
   28401 
   28402 
   28403 static int
   28404 test_xmlOutputBufferWrite(void) {
   28405     int test_ret = 0;
   28406 
   28407 #if defined(LIBXML_OUTPUT_ENABLED)
   28408     int mem_base;
   28409     int ret_val;
   28410     xmlOutputBufferPtr out; /* a buffered parser output */
   28411     int n_out;
   28412     int len; /* the size in bytes of the array. */
   28413     int n_len;
   28414     char * buf; /* an char array */
   28415     int n_buf;
   28416 
   28417     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
   28418     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   28419     for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
   28420         mem_base = xmlMemBlocks();
   28421         out = gen_xmlOutputBufferPtr(n_out, 0);
   28422         len = gen_int(n_len, 1);
   28423         buf = gen_const_char_ptr(n_buf, 2);
   28424 
   28425         ret_val = xmlOutputBufferWrite(out, len, (const char *)buf);
   28426         desret_int(ret_val);
   28427         call_tests++;
   28428         des_xmlOutputBufferPtr(n_out, out, 0);
   28429         des_int(n_len, len, 1);
   28430         des_const_char_ptr(n_buf, (const char *)buf, 2);
   28431         xmlResetLastError();
   28432         if (mem_base != xmlMemBlocks()) {
   28433             printf("Leak of %d blocks found in xmlOutputBufferWrite",
   28434 	           xmlMemBlocks() - mem_base);
   28435 	    test_ret++;
   28436             printf(" %d", n_out);
   28437             printf(" %d", n_len);
   28438             printf(" %d", n_buf);
   28439             printf("\n");
   28440         }
   28441     }
   28442     }
   28443     }
   28444     function_tests++;
   28445 #endif
   28446 
   28447     return(test_ret);
   28448 }
   28449 
   28450 
   28451 static int
   28452 test_xmlOutputBufferWriteEscape(void) {
   28453     int test_ret = 0;
   28454 
   28455 
   28456     /* missing type support */
   28457     return(test_ret);
   28458 }
   28459 
   28460 
   28461 static int
   28462 test_xmlOutputBufferWriteString(void) {
   28463     int test_ret = 0;
   28464 
   28465 #if defined(LIBXML_OUTPUT_ENABLED)
   28466     int mem_base;
   28467     int ret_val;
   28468     xmlOutputBufferPtr out; /* a buffered parser output */
   28469     int n_out;
   28470     char * str; /* a zero terminated C string */
   28471     int n_str;
   28472 
   28473     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
   28474     for (n_str = 0;n_str < gen_nb_const_char_ptr;n_str++) {
   28475         mem_base = xmlMemBlocks();
   28476         out = gen_xmlOutputBufferPtr(n_out, 0);
   28477         str = gen_const_char_ptr(n_str, 1);
   28478 
   28479         ret_val = xmlOutputBufferWriteString(out, (const char *)str);
   28480         desret_int(ret_val);
   28481         call_tests++;
   28482         des_xmlOutputBufferPtr(n_out, out, 0);
   28483         des_const_char_ptr(n_str, (const char *)str, 1);
   28484         xmlResetLastError();
   28485         if (mem_base != xmlMemBlocks()) {
   28486             printf("Leak of %d blocks found in xmlOutputBufferWriteString",
   28487 	           xmlMemBlocks() - mem_base);
   28488 	    test_ret++;
   28489             printf(" %d", n_out);
   28490             printf(" %d", n_str);
   28491             printf("\n");
   28492         }
   28493     }
   28494     }
   28495     function_tests++;
   28496 #endif
   28497 
   28498     return(test_ret);
   28499 }
   28500 
   28501 
   28502 static int
   28503 test_xmlParserGetDirectory(void) {
   28504     int test_ret = 0;
   28505 
   28506 
   28507     /* missing type support */
   28508     return(test_ret);
   28509 }
   28510 
   28511 
   28512 static int
   28513 test_xmlParserInputBufferCreateFd(void) {
   28514     int test_ret = 0;
   28515 
   28516     int mem_base;
   28517     xmlParserInputBufferPtr ret_val;
   28518     int fd; /* a file descriptor number */
   28519     int n_fd;
   28520     xmlCharEncoding enc; /* the charset encoding if known */
   28521     int n_enc;
   28522 
   28523     for (n_fd = 0;n_fd < gen_nb_int;n_fd++) {
   28524     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   28525         mem_base = xmlMemBlocks();
   28526         fd = gen_int(n_fd, 0);
   28527         enc = gen_xmlCharEncoding(n_enc, 1);
   28528         if (fd >= 0) fd = -1;
   28529 
   28530         ret_val = xmlParserInputBufferCreateFd(fd, enc);
   28531         desret_xmlParserInputBufferPtr(ret_val);
   28532         call_tests++;
   28533         des_int(n_fd, fd, 0);
   28534         des_xmlCharEncoding(n_enc, enc, 1);
   28535         xmlResetLastError();
   28536         if (mem_base != xmlMemBlocks()) {
   28537             printf("Leak of %d blocks found in xmlParserInputBufferCreateFd",
   28538 	           xmlMemBlocks() - mem_base);
   28539 	    test_ret++;
   28540             printf(" %d", n_fd);
   28541             printf(" %d", n_enc);
   28542             printf("\n");
   28543         }
   28544     }
   28545     }
   28546     function_tests++;
   28547 
   28548     return(test_ret);
   28549 }
   28550 
   28551 
   28552 static int
   28553 test_xmlParserInputBufferCreateFile(void) {
   28554     int test_ret = 0;
   28555 
   28556     int mem_base;
   28557     xmlParserInputBufferPtr ret_val;
   28558     FILE * file; /* a FILE* */
   28559     int n_file;
   28560     xmlCharEncoding enc; /* the charset encoding if known */
   28561     int n_enc;
   28562 
   28563     for (n_file = 0;n_file < gen_nb_FILE_ptr;n_file++) {
   28564     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   28565         mem_base = xmlMemBlocks();
   28566         file = gen_FILE_ptr(n_file, 0);
   28567         enc = gen_xmlCharEncoding(n_enc, 1);
   28568 
   28569         ret_val = xmlParserInputBufferCreateFile(file, enc);
   28570         desret_xmlParserInputBufferPtr(ret_val);
   28571         call_tests++;
   28572         des_FILE_ptr(n_file, file, 0);
   28573         des_xmlCharEncoding(n_enc, enc, 1);
   28574         xmlResetLastError();
   28575         if (mem_base != xmlMemBlocks()) {
   28576             printf("Leak of %d blocks found in xmlParserInputBufferCreateFile",
   28577 	           xmlMemBlocks() - mem_base);
   28578 	    test_ret++;
   28579             printf(" %d", n_file);
   28580             printf(" %d", n_enc);
   28581             printf("\n");
   28582         }
   28583     }
   28584     }
   28585     function_tests++;
   28586 
   28587     return(test_ret);
   28588 }
   28589 
   28590 
   28591 static int
   28592 test_xmlParserInputBufferCreateFilename(void) {
   28593     int test_ret = 0;
   28594 
   28595     int mem_base;
   28596     xmlParserInputBufferPtr ret_val;
   28597     const char * URI; /* a C string containing the URI or filename */
   28598     int n_URI;
   28599     xmlCharEncoding enc; /* the charset encoding if known */
   28600     int n_enc;
   28601 
   28602     for (n_URI = 0;n_URI < gen_nb_fileoutput;n_URI++) {
   28603     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   28604         mem_base = xmlMemBlocks();
   28605         URI = gen_fileoutput(n_URI, 0);
   28606         enc = gen_xmlCharEncoding(n_enc, 1);
   28607 
   28608         ret_val = xmlParserInputBufferCreateFilename(URI, enc);
   28609         desret_xmlParserInputBufferPtr(ret_val);
   28610         call_tests++;
   28611         des_fileoutput(n_URI, URI, 0);
   28612         des_xmlCharEncoding(n_enc, enc, 1);
   28613         xmlResetLastError();
   28614         if (mem_base != xmlMemBlocks()) {
   28615             printf("Leak of %d blocks found in xmlParserInputBufferCreateFilename",
   28616 	           xmlMemBlocks() - mem_base);
   28617 	    test_ret++;
   28618             printf(" %d", n_URI);
   28619             printf(" %d", n_enc);
   28620             printf("\n");
   28621         }
   28622     }
   28623     }
   28624     function_tests++;
   28625 
   28626     return(test_ret);
   28627 }
   28628 
   28629 
   28630 static int
   28631 test_xmlParserInputBufferCreateMem(void) {
   28632     int test_ret = 0;
   28633 
   28634     int mem_base;
   28635     xmlParserInputBufferPtr ret_val;
   28636     char * mem; /* the memory input */
   28637     int n_mem;
   28638     int size; /* the length of the memory block */
   28639     int n_size;
   28640     xmlCharEncoding enc; /* the charset encoding if known */
   28641     int n_enc;
   28642 
   28643     for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
   28644     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   28645     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   28646         mem_base = xmlMemBlocks();
   28647         mem = gen_const_char_ptr(n_mem, 0);
   28648         size = gen_int(n_size, 1);
   28649         enc = gen_xmlCharEncoding(n_enc, 2);
   28650 
   28651         ret_val = xmlParserInputBufferCreateMem((const char *)mem, size, enc);
   28652         desret_xmlParserInputBufferPtr(ret_val);
   28653         call_tests++;
   28654         des_const_char_ptr(n_mem, (const char *)mem, 0);
   28655         des_int(n_size, size, 1);
   28656         des_xmlCharEncoding(n_enc, enc, 2);
   28657         xmlResetLastError();
   28658         if (mem_base != xmlMemBlocks()) {
   28659             printf("Leak of %d blocks found in xmlParserInputBufferCreateMem",
   28660 	           xmlMemBlocks() - mem_base);
   28661 	    test_ret++;
   28662             printf(" %d", n_mem);
   28663             printf(" %d", n_size);
   28664             printf(" %d", n_enc);
   28665             printf("\n");
   28666         }
   28667     }
   28668     }
   28669     }
   28670     function_tests++;
   28671 
   28672     return(test_ret);
   28673 }
   28674 
   28675 
   28676 static int
   28677 test_xmlParserInputBufferCreateStatic(void) {
   28678     int test_ret = 0;
   28679 
   28680     int mem_base;
   28681     xmlParserInputBufferPtr ret_val;
   28682     char * mem; /* the memory input */
   28683     int n_mem;
   28684     int size; /* the length of the memory block */
   28685     int n_size;
   28686     xmlCharEncoding enc; /* the charset encoding if known */
   28687     int n_enc;
   28688 
   28689     for (n_mem = 0;n_mem < gen_nb_const_char_ptr;n_mem++) {
   28690     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   28691     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   28692         mem_base = xmlMemBlocks();
   28693         mem = gen_const_char_ptr(n_mem, 0);
   28694         size = gen_int(n_size, 1);
   28695         enc = gen_xmlCharEncoding(n_enc, 2);
   28696 
   28697         ret_val = xmlParserInputBufferCreateStatic((const char *)mem, size, enc);
   28698         desret_xmlParserInputBufferPtr(ret_val);
   28699         call_tests++;
   28700         des_const_char_ptr(n_mem, (const char *)mem, 0);
   28701         des_int(n_size, size, 1);
   28702         des_xmlCharEncoding(n_enc, enc, 2);
   28703         xmlResetLastError();
   28704         if (mem_base != xmlMemBlocks()) {
   28705             printf("Leak of %d blocks found in xmlParserInputBufferCreateStatic",
   28706 	           xmlMemBlocks() - mem_base);
   28707 	    test_ret++;
   28708             printf(" %d", n_mem);
   28709             printf(" %d", n_size);
   28710             printf(" %d", n_enc);
   28711             printf("\n");
   28712         }
   28713     }
   28714     }
   28715     }
   28716     function_tests++;
   28717 
   28718     return(test_ret);
   28719 }
   28720 
   28721 
   28722 static int
   28723 test_xmlParserInputBufferGrow(void) {
   28724     int test_ret = 0;
   28725 
   28726     int mem_base;
   28727     int ret_val;
   28728     xmlParserInputBufferPtr in; /* a buffered parser input */
   28729     int n_in;
   28730     int len; /* indicative value of the amount of chars to read */
   28731     int n_len;
   28732 
   28733     for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
   28734     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   28735         mem_base = xmlMemBlocks();
   28736         in = gen_xmlParserInputBufferPtr(n_in, 0);
   28737         len = gen_int(n_len, 1);
   28738 
   28739         ret_val = xmlParserInputBufferGrow(in, len);
   28740         desret_int(ret_val);
   28741         call_tests++;
   28742         des_xmlParserInputBufferPtr(n_in, in, 0);
   28743         des_int(n_len, len, 1);
   28744         xmlResetLastError();
   28745         if (mem_base != xmlMemBlocks()) {
   28746             printf("Leak of %d blocks found in xmlParserInputBufferGrow",
   28747 	           xmlMemBlocks() - mem_base);
   28748 	    test_ret++;
   28749             printf(" %d", n_in);
   28750             printf(" %d", n_len);
   28751             printf("\n");
   28752         }
   28753     }
   28754     }
   28755     function_tests++;
   28756 
   28757     return(test_ret);
   28758 }
   28759 
   28760 
   28761 static int
   28762 test_xmlParserInputBufferPush(void) {
   28763     int test_ret = 0;
   28764 
   28765     int mem_base;
   28766     int ret_val;
   28767     xmlParserInputBufferPtr in; /* a buffered parser input */
   28768     int n_in;
   28769     int len; /* the size in bytes of the array. */
   28770     int n_len;
   28771     char * buf; /* an char array */
   28772     int n_buf;
   28773 
   28774     for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
   28775     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   28776     for (n_buf = 0;n_buf < gen_nb_const_char_ptr;n_buf++) {
   28777         mem_base = xmlMemBlocks();
   28778         in = gen_xmlParserInputBufferPtr(n_in, 0);
   28779         len = gen_int(n_len, 1);
   28780         buf = gen_const_char_ptr(n_buf, 2);
   28781 
   28782         ret_val = xmlParserInputBufferPush(in, len, (const char *)buf);
   28783         desret_int(ret_val);
   28784         call_tests++;
   28785         des_xmlParserInputBufferPtr(n_in, in, 0);
   28786         des_int(n_len, len, 1);
   28787         des_const_char_ptr(n_buf, (const char *)buf, 2);
   28788         xmlResetLastError();
   28789         if (mem_base != xmlMemBlocks()) {
   28790             printf("Leak of %d blocks found in xmlParserInputBufferPush",
   28791 	           xmlMemBlocks() - mem_base);
   28792 	    test_ret++;
   28793             printf(" %d", n_in);
   28794             printf(" %d", n_len);
   28795             printf(" %d", n_buf);
   28796             printf("\n");
   28797         }
   28798     }
   28799     }
   28800     }
   28801     function_tests++;
   28802 
   28803     return(test_ret);
   28804 }
   28805 
   28806 
   28807 static int
   28808 test_xmlParserInputBufferRead(void) {
   28809     int test_ret = 0;
   28810 
   28811     int mem_base;
   28812     int ret_val;
   28813     xmlParserInputBufferPtr in; /* a buffered parser input */
   28814     int n_in;
   28815     int len; /* indicative value of the amount of chars to read */
   28816     int n_len;
   28817 
   28818     for (n_in = 0;n_in < gen_nb_xmlParserInputBufferPtr;n_in++) {
   28819     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   28820         mem_base = xmlMemBlocks();
   28821         in = gen_xmlParserInputBufferPtr(n_in, 0);
   28822         len = gen_int(n_len, 1);
   28823 
   28824         ret_val = xmlParserInputBufferRead(in, len);
   28825         desret_int(ret_val);
   28826         call_tests++;
   28827         des_xmlParserInputBufferPtr(n_in, in, 0);
   28828         des_int(n_len, len, 1);
   28829         xmlResetLastError();
   28830         if (mem_base != xmlMemBlocks()) {
   28831             printf("Leak of %d blocks found in xmlParserInputBufferRead",
   28832 	           xmlMemBlocks() - mem_base);
   28833 	    test_ret++;
   28834             printf(" %d", n_in);
   28835             printf(" %d", n_len);
   28836             printf("\n");
   28837         }
   28838     }
   28839     }
   28840     function_tests++;
   28841 
   28842     return(test_ret);
   28843 }
   28844 
   28845 
   28846 static int
   28847 test_xmlPopInputCallbacks(void) {
   28848     int test_ret = 0;
   28849 
   28850     int mem_base;
   28851     int ret_val;
   28852 
   28853         mem_base = xmlMemBlocks();
   28854 
   28855         ret_val = xmlPopInputCallbacks();
   28856         desret_int(ret_val);
   28857         call_tests++;
   28858         xmlResetLastError();
   28859         if (mem_base != xmlMemBlocks()) {
   28860             printf("Leak of %d blocks found in xmlPopInputCallbacks",
   28861 	           xmlMemBlocks() - mem_base);
   28862 	    test_ret++;
   28863             printf("\n");
   28864         }
   28865     function_tests++;
   28866 
   28867     return(test_ret);
   28868 }
   28869 
   28870 
   28871 static int
   28872 test_xmlRegisterDefaultInputCallbacks(void) {
   28873     int test_ret = 0;
   28874 
   28875     int mem_base;
   28876 
   28877         mem_base = xmlMemBlocks();
   28878 
   28879         xmlRegisterDefaultInputCallbacks();
   28880         call_tests++;
   28881         xmlResetLastError();
   28882         if (mem_base != xmlMemBlocks()) {
   28883             printf("Leak of %d blocks found in xmlRegisterDefaultInputCallbacks",
   28884 	           xmlMemBlocks() - mem_base);
   28885 	    test_ret++;
   28886             printf("\n");
   28887         }
   28888     function_tests++;
   28889 
   28890     return(test_ret);
   28891 }
   28892 
   28893 
   28894 static int
   28895 test_xmlRegisterDefaultOutputCallbacks(void) {
   28896     int test_ret = 0;
   28897 
   28898 #if defined(LIBXML_OUTPUT_ENABLED)
   28899     int mem_base;
   28900 
   28901         mem_base = xmlMemBlocks();
   28902 
   28903         xmlRegisterDefaultOutputCallbacks();
   28904         call_tests++;
   28905         xmlResetLastError();
   28906         if (mem_base != xmlMemBlocks()) {
   28907             printf("Leak of %d blocks found in xmlRegisterDefaultOutputCallbacks",
   28908 	           xmlMemBlocks() - mem_base);
   28909 	    test_ret++;
   28910             printf("\n");
   28911         }
   28912     function_tests++;
   28913 #endif
   28914 
   28915     return(test_ret);
   28916 }
   28917 
   28918 
   28919 static int
   28920 test_xmlRegisterHTTPPostCallbacks(void) {
   28921     int test_ret = 0;
   28922 
   28923 #if defined(LIBXML_OUTPUT_ENABLED) && defined(LIBXML_HTTP_ENABLED)
   28924     int mem_base;
   28925 
   28926         mem_base = xmlMemBlocks();
   28927 
   28928         xmlRegisterHTTPPostCallbacks();
   28929         call_tests++;
   28930         xmlResetLastError();
   28931         if (mem_base != xmlMemBlocks()) {
   28932             printf("Leak of %d blocks found in xmlRegisterHTTPPostCallbacks",
   28933 	           xmlMemBlocks() - mem_base);
   28934 	    test_ret++;
   28935             printf("\n");
   28936         }
   28937     function_tests++;
   28938 #endif
   28939 
   28940     return(test_ret);
   28941 }
   28942 
   28943 static int
   28944 test_xmlIO(void) {
   28945     int test_ret = 0;
   28946 
   28947     if (quiet == 0) printf("Testing xmlIO : 39 of 48 functions ...\n");
   28948     test_ret += test_xmlAllocOutputBuffer();
   28949     test_ret += test_xmlAllocParserInputBuffer();
   28950     test_ret += test_xmlCheckFilename();
   28951     test_ret += test_xmlCheckHTTPInput();
   28952     test_ret += test_xmlCleanupInputCallbacks();
   28953     test_ret += test_xmlCleanupOutputCallbacks();
   28954     test_ret += test_xmlFileClose();
   28955     test_ret += test_xmlFileMatch();
   28956     test_ret += test_xmlFileOpen();
   28957     test_ret += test_xmlFileRead();
   28958     test_ret += test_xmlIOFTPClose();
   28959     test_ret += test_xmlIOFTPMatch();
   28960     test_ret += test_xmlIOFTPOpen();
   28961     test_ret += test_xmlIOFTPRead();
   28962     test_ret += test_xmlIOHTTPClose();
   28963     test_ret += test_xmlIOHTTPMatch();
   28964     test_ret += test_xmlIOHTTPOpen();
   28965     test_ret += test_xmlIOHTTPRead();
   28966     test_ret += test_xmlNoNetExternalEntityLoader();
   28967     test_ret += test_xmlNormalizeWindowsPath();
   28968     test_ret += test_xmlOutputBufferCreateBuffer();
   28969     test_ret += test_xmlOutputBufferCreateFd();
   28970     test_ret += test_xmlOutputBufferCreateFile();
   28971     test_ret += test_xmlOutputBufferCreateFilename();
   28972     test_ret += test_xmlOutputBufferFlush();
   28973     test_ret += test_xmlOutputBufferWrite();
   28974     test_ret += test_xmlOutputBufferWriteEscape();
   28975     test_ret += test_xmlOutputBufferWriteString();
   28976     test_ret += test_xmlParserGetDirectory();
   28977     test_ret += test_xmlParserInputBufferCreateFd();
   28978     test_ret += test_xmlParserInputBufferCreateFile();
   28979     test_ret += test_xmlParserInputBufferCreateFilename();
   28980     test_ret += test_xmlParserInputBufferCreateMem();
   28981     test_ret += test_xmlParserInputBufferCreateStatic();
   28982     test_ret += test_xmlParserInputBufferGrow();
   28983     test_ret += test_xmlParserInputBufferPush();
   28984     test_ret += test_xmlParserInputBufferRead();
   28985     test_ret += test_xmlPopInputCallbacks();
   28986     test_ret += test_xmlRegisterDefaultInputCallbacks();
   28987     test_ret += test_xmlRegisterDefaultOutputCallbacks();
   28988     test_ret += test_xmlRegisterHTTPPostCallbacks();
   28989 
   28990     if (test_ret != 0)
   28991 	printf("Module xmlIO: %d errors\n", test_ret);
   28992     return(test_ret);
   28993 }
   28994 #ifdef LIBXML_AUTOMATA_ENABLED
   28995 
   28996 #define gen_nb_xmlAutomataPtr 1
   28997 static xmlAutomataPtr gen_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   28998     return(NULL);
   28999 }
   29000 static void des_xmlAutomataPtr(int no ATTRIBUTE_UNUSED, xmlAutomataPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29001 }
   29002 #endif
   29003 
   29004 
   29005 static int
   29006 test_xmlAutomataCompile(void) {
   29007     int test_ret = 0;
   29008 
   29009 
   29010     /* missing type support */
   29011     return(test_ret);
   29012 }
   29013 
   29014 
   29015 static int
   29016 test_xmlAutomataGetInitState(void) {
   29017     int test_ret = 0;
   29018 
   29019 
   29020     /* missing type support */
   29021     return(test_ret);
   29022 }
   29023 
   29024 
   29025 static int
   29026 test_xmlAutomataIsDeterminist(void) {
   29027     int test_ret = 0;
   29028 
   29029 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
   29030     int mem_base;
   29031     int ret_val;
   29032     xmlAutomataPtr am; /* an automata */
   29033     int n_am;
   29034 
   29035     for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
   29036         mem_base = xmlMemBlocks();
   29037         am = gen_xmlAutomataPtr(n_am, 0);
   29038 
   29039         ret_val = xmlAutomataIsDeterminist(am);
   29040         desret_int(ret_val);
   29041         call_tests++;
   29042         des_xmlAutomataPtr(n_am, am, 0);
   29043         xmlResetLastError();
   29044         if (mem_base != xmlMemBlocks()) {
   29045             printf("Leak of %d blocks found in xmlAutomataIsDeterminist",
   29046 	           xmlMemBlocks() - mem_base);
   29047 	    test_ret++;
   29048             printf(" %d", n_am);
   29049             printf("\n");
   29050         }
   29051     }
   29052     function_tests++;
   29053 #endif
   29054 
   29055     return(test_ret);
   29056 }
   29057 
   29058 #ifdef LIBXML_AUTOMATA_ENABLED
   29059 
   29060 #define gen_nb_xmlAutomataStatePtr 1
   29061 static xmlAutomataStatePtr gen_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29062     return(NULL);
   29063 }
   29064 static void des_xmlAutomataStatePtr(int no ATTRIBUTE_UNUSED, xmlAutomataStatePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29065 }
   29066 #endif
   29067 
   29068 
   29069 static int
   29070 test_xmlAutomataNewAllTrans(void) {
   29071     int test_ret = 0;
   29072 
   29073 
   29074     /* missing type support */
   29075     return(test_ret);
   29076 }
   29077 
   29078 
   29079 static int
   29080 test_xmlAutomataNewCountTrans(void) {
   29081     int test_ret = 0;
   29082 
   29083 
   29084     /* missing type support */
   29085     return(test_ret);
   29086 }
   29087 
   29088 
   29089 static int
   29090 test_xmlAutomataNewCountTrans2(void) {
   29091     int test_ret = 0;
   29092 
   29093 
   29094     /* missing type support */
   29095     return(test_ret);
   29096 }
   29097 
   29098 
   29099 static int
   29100 test_xmlAutomataNewCountedTrans(void) {
   29101     int test_ret = 0;
   29102 
   29103 
   29104     /* missing type support */
   29105     return(test_ret);
   29106 }
   29107 
   29108 
   29109 static int
   29110 test_xmlAutomataNewCounter(void) {
   29111     int test_ret = 0;
   29112 
   29113 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
   29114     int mem_base;
   29115     int ret_val;
   29116     xmlAutomataPtr am; /* an automata */
   29117     int n_am;
   29118     int min; /* the minimal value on the counter */
   29119     int n_min;
   29120     int max; /* the maximal value on the counter */
   29121     int n_max;
   29122 
   29123     for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
   29124     for (n_min = 0;n_min < gen_nb_int;n_min++) {
   29125     for (n_max = 0;n_max < gen_nb_int;n_max++) {
   29126         mem_base = xmlMemBlocks();
   29127         am = gen_xmlAutomataPtr(n_am, 0);
   29128         min = gen_int(n_min, 1);
   29129         max = gen_int(n_max, 2);
   29130 
   29131         ret_val = xmlAutomataNewCounter(am, min, max);
   29132         desret_int(ret_val);
   29133         call_tests++;
   29134         des_xmlAutomataPtr(n_am, am, 0);
   29135         des_int(n_min, min, 1);
   29136         des_int(n_max, max, 2);
   29137         xmlResetLastError();
   29138         if (mem_base != xmlMemBlocks()) {
   29139             printf("Leak of %d blocks found in xmlAutomataNewCounter",
   29140 	           xmlMemBlocks() - mem_base);
   29141 	    test_ret++;
   29142             printf(" %d", n_am);
   29143             printf(" %d", n_min);
   29144             printf(" %d", n_max);
   29145             printf("\n");
   29146         }
   29147     }
   29148     }
   29149     }
   29150     function_tests++;
   29151 #endif
   29152 
   29153     return(test_ret);
   29154 }
   29155 
   29156 
   29157 static int
   29158 test_xmlAutomataNewCounterTrans(void) {
   29159     int test_ret = 0;
   29160 
   29161 
   29162     /* missing type support */
   29163     return(test_ret);
   29164 }
   29165 
   29166 
   29167 static int
   29168 test_xmlAutomataNewEpsilon(void) {
   29169     int test_ret = 0;
   29170 
   29171 
   29172     /* missing type support */
   29173     return(test_ret);
   29174 }
   29175 
   29176 
   29177 static int
   29178 test_xmlAutomataNewNegTrans(void) {
   29179     int test_ret = 0;
   29180 
   29181 
   29182     /* missing type support */
   29183     return(test_ret);
   29184 }
   29185 
   29186 
   29187 static int
   29188 test_xmlAutomataNewOnceTrans(void) {
   29189     int test_ret = 0;
   29190 
   29191 
   29192     /* missing type support */
   29193     return(test_ret);
   29194 }
   29195 
   29196 
   29197 static int
   29198 test_xmlAutomataNewOnceTrans2(void) {
   29199     int test_ret = 0;
   29200 
   29201 
   29202     /* missing type support */
   29203     return(test_ret);
   29204 }
   29205 
   29206 
   29207 static int
   29208 test_xmlAutomataNewState(void) {
   29209     int test_ret = 0;
   29210 
   29211 
   29212     /* missing type support */
   29213     return(test_ret);
   29214 }
   29215 
   29216 
   29217 static int
   29218 test_xmlAutomataNewTransition(void) {
   29219     int test_ret = 0;
   29220 
   29221 
   29222     /* missing type support */
   29223     return(test_ret);
   29224 }
   29225 
   29226 
   29227 static int
   29228 test_xmlAutomataNewTransition2(void) {
   29229     int test_ret = 0;
   29230 
   29231 
   29232     /* missing type support */
   29233     return(test_ret);
   29234 }
   29235 
   29236 
   29237 static int
   29238 test_xmlAutomataSetFinalState(void) {
   29239     int test_ret = 0;
   29240 
   29241 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_AUTOMATA_ENABLED)
   29242     int mem_base;
   29243     int ret_val;
   29244     xmlAutomataPtr am; /* an automata */
   29245     int n_am;
   29246     xmlAutomataStatePtr state; /* a state in this automata */
   29247     int n_state;
   29248 
   29249     for (n_am = 0;n_am < gen_nb_xmlAutomataPtr;n_am++) {
   29250     for (n_state = 0;n_state < gen_nb_xmlAutomataStatePtr;n_state++) {
   29251         mem_base = xmlMemBlocks();
   29252         am = gen_xmlAutomataPtr(n_am, 0);
   29253         state = gen_xmlAutomataStatePtr(n_state, 1);
   29254 
   29255         ret_val = xmlAutomataSetFinalState(am, state);
   29256         desret_int(ret_val);
   29257         call_tests++;
   29258         des_xmlAutomataPtr(n_am, am, 0);
   29259         des_xmlAutomataStatePtr(n_state, state, 1);
   29260         xmlResetLastError();
   29261         if (mem_base != xmlMemBlocks()) {
   29262             printf("Leak of %d blocks found in xmlAutomataSetFinalState",
   29263 	           xmlMemBlocks() - mem_base);
   29264 	    test_ret++;
   29265             printf(" %d", n_am);
   29266             printf(" %d", n_state);
   29267             printf("\n");
   29268         }
   29269     }
   29270     }
   29271     function_tests++;
   29272 #endif
   29273 
   29274     return(test_ret);
   29275 }
   29276 
   29277 
   29278 static int
   29279 test_xmlNewAutomata(void) {
   29280     int test_ret = 0;
   29281 
   29282 
   29283     /* missing type support */
   29284     return(test_ret);
   29285 }
   29286 
   29287 static int
   29288 test_xmlautomata(void) {
   29289     int test_ret = 0;
   29290 
   29291     if (quiet == 0) printf("Testing xmlautomata : 3 of 19 functions ...\n");
   29292     test_ret += test_xmlAutomataCompile();
   29293     test_ret += test_xmlAutomataGetInitState();
   29294     test_ret += test_xmlAutomataIsDeterminist();
   29295     test_ret += test_xmlAutomataNewAllTrans();
   29296     test_ret += test_xmlAutomataNewCountTrans();
   29297     test_ret += test_xmlAutomataNewCountTrans2();
   29298     test_ret += test_xmlAutomataNewCountedTrans();
   29299     test_ret += test_xmlAutomataNewCounter();
   29300     test_ret += test_xmlAutomataNewCounterTrans();
   29301     test_ret += test_xmlAutomataNewEpsilon();
   29302     test_ret += test_xmlAutomataNewNegTrans();
   29303     test_ret += test_xmlAutomataNewOnceTrans();
   29304     test_ret += test_xmlAutomataNewOnceTrans2();
   29305     test_ret += test_xmlAutomataNewState();
   29306     test_ret += test_xmlAutomataNewTransition();
   29307     test_ret += test_xmlAutomataNewTransition2();
   29308     test_ret += test_xmlAutomataSetFinalState();
   29309     test_ret += test_xmlNewAutomata();
   29310 
   29311     if (test_ret != 0)
   29312 	printf("Module xmlautomata: %d errors\n", test_ret);
   29313     return(test_ret);
   29314 }
   29315 
   29316 #define gen_nb_xmlGenericErrorFunc_ptr 1
   29317 static xmlGenericErrorFunc * gen_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29318     return(NULL);
   29319 }
   29320 static void des_xmlGenericErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlGenericErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29321 }
   29322 
   29323 static int
   29324 test_initGenericErrorDefaultFunc(void) {
   29325     int test_ret = 0;
   29326 
   29327     int mem_base;
   29328     xmlGenericErrorFunc * handler; /* the handler */
   29329     int n_handler;
   29330 
   29331     for (n_handler = 0;n_handler < gen_nb_xmlGenericErrorFunc_ptr;n_handler++) {
   29332         mem_base = xmlMemBlocks();
   29333         handler = gen_xmlGenericErrorFunc_ptr(n_handler, 0);
   29334 
   29335         initGenericErrorDefaultFunc(handler);
   29336         call_tests++;
   29337         des_xmlGenericErrorFunc_ptr(n_handler, handler, 0);
   29338         xmlResetLastError();
   29339         if (mem_base != xmlMemBlocks()) {
   29340             printf("Leak of %d blocks found in initGenericErrorDefaultFunc",
   29341 	           xmlMemBlocks() - mem_base);
   29342 	    test_ret++;
   29343             printf(" %d", n_handler);
   29344             printf("\n");
   29345         }
   29346     }
   29347     function_tests++;
   29348 
   29349     return(test_ret);
   29350 }
   29351 
   29352 
   29353 #define gen_nb_xmlErrorPtr 1
   29354 static xmlErrorPtr gen_xmlErrorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29355     return(NULL);
   29356 }
   29357 static void des_xmlErrorPtr(int no ATTRIBUTE_UNUSED, xmlErrorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29358 }
   29359 
   29360 static int
   29361 test_xmlCopyError(void) {
   29362     int test_ret = 0;
   29363 
   29364     int mem_base;
   29365     int ret_val;
   29366     xmlErrorPtr from; /* a source error */
   29367     int n_from;
   29368     xmlErrorPtr to; /* a target error */
   29369     int n_to;
   29370 
   29371     for (n_from = 0;n_from < gen_nb_xmlErrorPtr;n_from++) {
   29372     for (n_to = 0;n_to < gen_nb_xmlErrorPtr;n_to++) {
   29373         mem_base = xmlMemBlocks();
   29374         from = gen_xmlErrorPtr(n_from, 0);
   29375         to = gen_xmlErrorPtr(n_to, 1);
   29376 
   29377         ret_val = xmlCopyError(from, to);
   29378         desret_int(ret_val);
   29379         call_tests++;
   29380         des_xmlErrorPtr(n_from, from, 0);
   29381         des_xmlErrorPtr(n_to, to, 1);
   29382         xmlResetLastError();
   29383         if (mem_base != xmlMemBlocks()) {
   29384             printf("Leak of %d blocks found in xmlCopyError",
   29385 	           xmlMemBlocks() - mem_base);
   29386 	    test_ret++;
   29387             printf(" %d", n_from);
   29388             printf(" %d", n_to);
   29389             printf("\n");
   29390         }
   29391     }
   29392     }
   29393     function_tests++;
   29394 
   29395     return(test_ret);
   29396 }
   29397 
   29398 
   29399 static int
   29400 test_xmlCtxtGetLastError(void) {
   29401     int test_ret = 0;
   29402 
   29403 
   29404     /* missing type support */
   29405     return(test_ret);
   29406 }
   29407 
   29408 
   29409 static int
   29410 test_xmlCtxtResetLastError(void) {
   29411     int test_ret = 0;
   29412 
   29413     int mem_base;
   29414     void * ctx; /* an XML parser context */
   29415     int n_ctx;
   29416 
   29417     for (n_ctx = 0;n_ctx < gen_nb_void_ptr;n_ctx++) {
   29418         mem_base = xmlMemBlocks();
   29419         ctx = gen_void_ptr(n_ctx, 0);
   29420 
   29421         xmlCtxtResetLastError(ctx);
   29422         call_tests++;
   29423         des_void_ptr(n_ctx, ctx, 0);
   29424         xmlResetLastError();
   29425         if (mem_base != xmlMemBlocks()) {
   29426             printf("Leak of %d blocks found in xmlCtxtResetLastError",
   29427 	           xmlMemBlocks() - mem_base);
   29428 	    test_ret++;
   29429             printf(" %d", n_ctx);
   29430             printf("\n");
   29431         }
   29432     }
   29433     function_tests++;
   29434 
   29435     return(test_ret);
   29436 }
   29437 
   29438 
   29439 static int
   29440 test_xmlGetLastError(void) {
   29441     int test_ret = 0;
   29442 
   29443 
   29444     /* missing type support */
   29445     return(test_ret);
   29446 }
   29447 
   29448 
   29449 static int
   29450 test_xmlParserError(void) {
   29451     int test_ret = 0;
   29452 
   29453 
   29454     /* missing type support */
   29455     return(test_ret);
   29456 }
   29457 
   29458 
   29459 static int
   29460 test_xmlParserPrintFileContext(void) {
   29461     int test_ret = 0;
   29462 
   29463     int mem_base;
   29464     xmlParserInputPtr input; /* an xmlParserInputPtr input */
   29465     int n_input;
   29466 
   29467     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
   29468         mem_base = xmlMemBlocks();
   29469         input = gen_xmlParserInputPtr(n_input, 0);
   29470 
   29471         xmlParserPrintFileContext(input);
   29472         call_tests++;
   29473         des_xmlParserInputPtr(n_input, input, 0);
   29474         xmlResetLastError();
   29475         if (mem_base != xmlMemBlocks()) {
   29476             printf("Leak of %d blocks found in xmlParserPrintFileContext",
   29477 	           xmlMemBlocks() - mem_base);
   29478 	    test_ret++;
   29479             printf(" %d", n_input);
   29480             printf("\n");
   29481         }
   29482     }
   29483     function_tests++;
   29484 
   29485     return(test_ret);
   29486 }
   29487 
   29488 
   29489 static int
   29490 test_xmlParserPrintFileInfo(void) {
   29491     int test_ret = 0;
   29492 
   29493     int mem_base;
   29494     xmlParserInputPtr input; /* an xmlParserInputPtr input */
   29495     int n_input;
   29496 
   29497     for (n_input = 0;n_input < gen_nb_xmlParserInputPtr;n_input++) {
   29498         mem_base = xmlMemBlocks();
   29499         input = gen_xmlParserInputPtr(n_input, 0);
   29500 
   29501         xmlParserPrintFileInfo(input);
   29502         call_tests++;
   29503         des_xmlParserInputPtr(n_input, input, 0);
   29504         xmlResetLastError();
   29505         if (mem_base != xmlMemBlocks()) {
   29506             printf("Leak of %d blocks found in xmlParserPrintFileInfo",
   29507 	           xmlMemBlocks() - mem_base);
   29508 	    test_ret++;
   29509             printf(" %d", n_input);
   29510             printf("\n");
   29511         }
   29512     }
   29513     function_tests++;
   29514 
   29515     return(test_ret);
   29516 }
   29517 
   29518 
   29519 static int
   29520 test_xmlParserValidityError(void) {
   29521     int test_ret = 0;
   29522 
   29523 
   29524     /* missing type support */
   29525     return(test_ret);
   29526 }
   29527 
   29528 
   29529 static int
   29530 test_xmlParserValidityWarning(void) {
   29531     int test_ret = 0;
   29532 
   29533 
   29534     /* missing type support */
   29535     return(test_ret);
   29536 }
   29537 
   29538 
   29539 static int
   29540 test_xmlParserWarning(void) {
   29541     int test_ret = 0;
   29542 
   29543 
   29544     /* missing type support */
   29545     return(test_ret);
   29546 }
   29547 
   29548 
   29549 static int
   29550 test_xmlResetError(void) {
   29551     int test_ret = 0;
   29552 
   29553     int mem_base;
   29554     xmlErrorPtr err; /* pointer to the error. */
   29555     int n_err;
   29556 
   29557     for (n_err = 0;n_err < gen_nb_xmlErrorPtr;n_err++) {
   29558         mem_base = xmlMemBlocks();
   29559         err = gen_xmlErrorPtr(n_err, 0);
   29560 
   29561         xmlResetError(err);
   29562         call_tests++;
   29563         des_xmlErrorPtr(n_err, err, 0);
   29564         xmlResetLastError();
   29565         if (mem_base != xmlMemBlocks()) {
   29566             printf("Leak of %d blocks found in xmlResetError",
   29567 	           xmlMemBlocks() - mem_base);
   29568 	    test_ret++;
   29569             printf(" %d", n_err);
   29570             printf("\n");
   29571         }
   29572     }
   29573     function_tests++;
   29574 
   29575     return(test_ret);
   29576 }
   29577 
   29578 
   29579 static int
   29580 test_xmlResetLastError(void) {
   29581     int test_ret = 0;
   29582 
   29583 
   29584 
   29585         xmlResetLastError();
   29586         call_tests++;
   29587         xmlResetLastError();
   29588     function_tests++;
   29589 
   29590     return(test_ret);
   29591 }
   29592 
   29593 
   29594 static int
   29595 test_xmlSetGenericErrorFunc(void) {
   29596     int test_ret = 0;
   29597 
   29598 
   29599     /* missing type support */
   29600     return(test_ret);
   29601 }
   29602 
   29603 
   29604 static int
   29605 test_xmlSetStructuredErrorFunc(void) {
   29606     int test_ret = 0;
   29607 
   29608 
   29609     /* missing type support */
   29610     return(test_ret);
   29611 }
   29612 
   29613 static int
   29614 test_xmlerror(void) {
   29615     int test_ret = 0;
   29616 
   29617     if (quiet == 0) printf("Testing xmlerror : 7 of 15 functions ...\n");
   29618     test_ret += test_initGenericErrorDefaultFunc();
   29619     test_ret += test_xmlCopyError();
   29620     test_ret += test_xmlCtxtGetLastError();
   29621     test_ret += test_xmlCtxtResetLastError();
   29622     test_ret += test_xmlGetLastError();
   29623     test_ret += test_xmlParserError();
   29624     test_ret += test_xmlParserPrintFileContext();
   29625     test_ret += test_xmlParserPrintFileInfo();
   29626     test_ret += test_xmlParserValidityError();
   29627     test_ret += test_xmlParserValidityWarning();
   29628     test_ret += test_xmlParserWarning();
   29629     test_ret += test_xmlResetError();
   29630     test_ret += test_xmlResetLastError();
   29631     test_ret += test_xmlSetGenericErrorFunc();
   29632     test_ret += test_xmlSetStructuredErrorFunc();
   29633 
   29634     if (test_ret != 0)
   29635 	printf("Module xmlerror: %d errors\n", test_ret);
   29636     return(test_ret);
   29637 }
   29638 #ifdef LIBXML_MODULES_ENABLED
   29639 
   29640 #define gen_nb_xmlModulePtr 1
   29641 static xmlModulePtr gen_xmlModulePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29642     return(NULL);
   29643 }
   29644 static void des_xmlModulePtr(int no ATTRIBUTE_UNUSED, xmlModulePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   29645 }
   29646 #endif
   29647 
   29648 
   29649 static int
   29650 test_xmlModuleClose(void) {
   29651     int test_ret = 0;
   29652 
   29653 #if defined(LIBXML_MODULES_ENABLED)
   29654     int mem_base;
   29655     int ret_val;
   29656     xmlModulePtr module; /* the module handle */
   29657     int n_module;
   29658 
   29659     for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
   29660         mem_base = xmlMemBlocks();
   29661         module = gen_xmlModulePtr(n_module, 0);
   29662 
   29663         ret_val = xmlModuleClose(module);
   29664         desret_int(ret_val);
   29665         call_tests++;
   29666         des_xmlModulePtr(n_module, module, 0);
   29667         xmlResetLastError();
   29668         if (mem_base != xmlMemBlocks()) {
   29669             printf("Leak of %d blocks found in xmlModuleClose",
   29670 	           xmlMemBlocks() - mem_base);
   29671 	    test_ret++;
   29672             printf(" %d", n_module);
   29673             printf("\n");
   29674         }
   29675     }
   29676     function_tests++;
   29677 #endif
   29678 
   29679     return(test_ret);
   29680 }
   29681 
   29682 
   29683 static int
   29684 test_xmlModuleOpen(void) {
   29685     int test_ret = 0;
   29686 
   29687 
   29688     /* missing type support */
   29689     return(test_ret);
   29690 }
   29691 
   29692 
   29693 static int
   29694 test_xmlModuleSymbol(void) {
   29695     int test_ret = 0;
   29696 
   29697 #if defined(LIBXML_MODULES_ENABLED)
   29698     int mem_base;
   29699     int ret_val;
   29700     xmlModulePtr module; /* the module */
   29701     int n_module;
   29702     char * name; /* the name of the symbol */
   29703     int n_name;
   29704     void ** symbol; /* the resulting symbol address */
   29705     int n_symbol;
   29706 
   29707     for (n_module = 0;n_module < gen_nb_xmlModulePtr;n_module++) {
   29708     for (n_name = 0;n_name < gen_nb_const_char_ptr;n_name++) {
   29709     for (n_symbol = 0;n_symbol < gen_nb_void_ptr_ptr;n_symbol++) {
   29710         mem_base = xmlMemBlocks();
   29711         module = gen_xmlModulePtr(n_module, 0);
   29712         name = gen_const_char_ptr(n_name, 1);
   29713         symbol = gen_void_ptr_ptr(n_symbol, 2);
   29714 
   29715         ret_val = xmlModuleSymbol(module, (const char *)name, symbol);
   29716         desret_int(ret_val);
   29717         call_tests++;
   29718         des_xmlModulePtr(n_module, module, 0);
   29719         des_const_char_ptr(n_name, (const char *)name, 1);
   29720         des_void_ptr_ptr(n_symbol, symbol, 2);
   29721         xmlResetLastError();
   29722         if (mem_base != xmlMemBlocks()) {
   29723             printf("Leak of %d blocks found in xmlModuleSymbol",
   29724 	           xmlMemBlocks() - mem_base);
   29725 	    test_ret++;
   29726             printf(" %d", n_module);
   29727             printf(" %d", n_name);
   29728             printf(" %d", n_symbol);
   29729             printf("\n");
   29730         }
   29731     }
   29732     }
   29733     }
   29734     function_tests++;
   29735 #endif
   29736 
   29737     return(test_ret);
   29738 }
   29739 
   29740 static int
   29741 test_xmlmodule(void) {
   29742     int test_ret = 0;
   29743 
   29744     if (quiet == 0) printf("Testing xmlmodule : 2 of 4 functions ...\n");
   29745     test_ret += test_xmlModuleClose();
   29746     test_ret += test_xmlModuleOpen();
   29747     test_ret += test_xmlModuleSymbol();
   29748 
   29749     if (test_ret != 0)
   29750 	printf("Module xmlmodule: %d errors\n", test_ret);
   29751     return(test_ret);
   29752 }
   29753 
   29754 static int
   29755 test_xmlNewTextReader(void) {
   29756     int test_ret = 0;
   29757 
   29758 #if defined(LIBXML_READER_ENABLED)
   29759     int mem_base;
   29760     xmlTextReaderPtr ret_val;
   29761     xmlParserInputBufferPtr input; /* the xmlParserInputBufferPtr used to read data */
   29762     int n_input;
   29763     const char * URI; /* the URI information for the source if available */
   29764     int n_URI;
   29765 
   29766     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
   29767     for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
   29768         mem_base = xmlMemBlocks();
   29769         input = gen_xmlParserInputBufferPtr(n_input, 0);
   29770         URI = gen_filepath(n_URI, 1);
   29771 
   29772         ret_val = xmlNewTextReader(input, URI);
   29773         desret_xmlTextReaderPtr(ret_val);
   29774         call_tests++;
   29775         des_xmlParserInputBufferPtr(n_input, input, 0);
   29776         des_filepath(n_URI, URI, 1);
   29777         xmlResetLastError();
   29778         if (mem_base != xmlMemBlocks()) {
   29779             printf("Leak of %d blocks found in xmlNewTextReader",
   29780 	           xmlMemBlocks() - mem_base);
   29781 	    test_ret++;
   29782             printf(" %d", n_input);
   29783             printf(" %d", n_URI);
   29784             printf("\n");
   29785         }
   29786     }
   29787     }
   29788     function_tests++;
   29789 #endif
   29790 
   29791     return(test_ret);
   29792 }
   29793 
   29794 
   29795 static int
   29796 test_xmlNewTextReaderFilename(void) {
   29797     int test_ret = 0;
   29798 
   29799 #if defined(LIBXML_READER_ENABLED)
   29800     int mem_base;
   29801     xmlTextReaderPtr ret_val;
   29802     const char * URI; /* the URI of the resource to process */
   29803     int n_URI;
   29804 
   29805     for (n_URI = 0;n_URI < gen_nb_filepath;n_URI++) {
   29806         mem_base = xmlMemBlocks();
   29807         URI = gen_filepath(n_URI, 0);
   29808 
   29809         ret_val = xmlNewTextReaderFilename(URI);
   29810         desret_xmlTextReaderPtr(ret_val);
   29811         call_tests++;
   29812         des_filepath(n_URI, URI, 0);
   29813         xmlResetLastError();
   29814         if (mem_base != xmlMemBlocks()) {
   29815             printf("Leak of %d blocks found in xmlNewTextReaderFilename",
   29816 	           xmlMemBlocks() - mem_base);
   29817 	    test_ret++;
   29818             printf(" %d", n_URI);
   29819             printf("\n");
   29820         }
   29821     }
   29822     function_tests++;
   29823 #endif
   29824 
   29825     return(test_ret);
   29826 }
   29827 
   29828 
   29829 static int
   29830 test_xmlReaderForDoc(void) {
   29831     int test_ret = 0;
   29832 
   29833 #if defined(LIBXML_READER_ENABLED)
   29834     int mem_base;
   29835     xmlTextReaderPtr ret_val;
   29836     xmlChar * cur; /* a pointer to a zero terminated string */
   29837     int n_cur;
   29838     const char * URL; /* the base URL to use for the document */
   29839     int n_URL;
   29840     char * encoding; /* the document encoding, or NULL */
   29841     int n_encoding;
   29842     int options; /* a combination of xmlParserOption */
   29843     int n_options;
   29844 
   29845     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   29846     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   29847     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   29848     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   29849         mem_base = xmlMemBlocks();
   29850         cur = gen_const_xmlChar_ptr(n_cur, 0);
   29851         URL = gen_filepath(n_URL, 1);
   29852         encoding = gen_const_char_ptr(n_encoding, 2);
   29853         options = gen_parseroptions(n_options, 3);
   29854 
   29855         ret_val = xmlReaderForDoc((const xmlChar *)cur, URL, (const char *)encoding, options);
   29856         desret_xmlTextReaderPtr(ret_val);
   29857         call_tests++;
   29858         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   29859         des_filepath(n_URL, URL, 1);
   29860         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   29861         des_parseroptions(n_options, options, 3);
   29862         xmlResetLastError();
   29863         if (mem_base != xmlMemBlocks()) {
   29864             printf("Leak of %d blocks found in xmlReaderForDoc",
   29865 	           xmlMemBlocks() - mem_base);
   29866 	    test_ret++;
   29867             printf(" %d", n_cur);
   29868             printf(" %d", n_URL);
   29869             printf(" %d", n_encoding);
   29870             printf(" %d", n_options);
   29871             printf("\n");
   29872         }
   29873     }
   29874     }
   29875     }
   29876     }
   29877     function_tests++;
   29878 #endif
   29879 
   29880     return(test_ret);
   29881 }
   29882 
   29883 
   29884 static int
   29885 test_xmlReaderForFile(void) {
   29886     int test_ret = 0;
   29887 
   29888 #if defined(LIBXML_READER_ENABLED)
   29889     int mem_base;
   29890     xmlTextReaderPtr ret_val;
   29891     const char * filename; /* a file or URL */
   29892     int n_filename;
   29893     char * encoding; /* the document encoding, or NULL */
   29894     int n_encoding;
   29895     int options; /* a combination of xmlParserOption */
   29896     int n_options;
   29897 
   29898     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   29899     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   29900     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   29901         mem_base = xmlMemBlocks();
   29902         filename = gen_filepath(n_filename, 0);
   29903         encoding = gen_const_char_ptr(n_encoding, 1);
   29904         options = gen_parseroptions(n_options, 2);
   29905 
   29906         ret_val = xmlReaderForFile(filename, (const char *)encoding, options);
   29907         desret_xmlTextReaderPtr(ret_val);
   29908         call_tests++;
   29909         des_filepath(n_filename, filename, 0);
   29910         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
   29911         des_parseroptions(n_options, options, 2);
   29912         xmlResetLastError();
   29913         if (mem_base != xmlMemBlocks()) {
   29914             printf("Leak of %d blocks found in xmlReaderForFile",
   29915 	           xmlMemBlocks() - mem_base);
   29916 	    test_ret++;
   29917             printf(" %d", n_filename);
   29918             printf(" %d", n_encoding);
   29919             printf(" %d", n_options);
   29920             printf("\n");
   29921         }
   29922     }
   29923     }
   29924     }
   29925     function_tests++;
   29926 #endif
   29927 
   29928     return(test_ret);
   29929 }
   29930 
   29931 
   29932 static int
   29933 test_xmlReaderForMemory(void) {
   29934     int test_ret = 0;
   29935 
   29936 #if defined(LIBXML_READER_ENABLED)
   29937     int mem_base;
   29938     xmlTextReaderPtr ret_val;
   29939     char * buffer; /* a pointer to a char array */
   29940     int n_buffer;
   29941     int size; /* the size of the array */
   29942     int n_size;
   29943     const char * URL; /* the base URL to use for the document */
   29944     int n_URL;
   29945     char * encoding; /* the document encoding, or NULL */
   29946     int n_encoding;
   29947     int options; /* a combination of xmlParserOption */
   29948     int n_options;
   29949 
   29950     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   29951     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   29952     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   29953     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   29954     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   29955         mem_base = xmlMemBlocks();
   29956         buffer = gen_const_char_ptr(n_buffer, 0);
   29957         size = gen_int(n_size, 1);
   29958         URL = gen_filepath(n_URL, 2);
   29959         encoding = gen_const_char_ptr(n_encoding, 3);
   29960         options = gen_parseroptions(n_options, 4);
   29961 
   29962         ret_val = xmlReaderForMemory((const char *)buffer, size, URL, (const char *)encoding, options);
   29963         desret_xmlTextReaderPtr(ret_val);
   29964         call_tests++;
   29965         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   29966         des_int(n_size, size, 1);
   29967         des_filepath(n_URL, URL, 2);
   29968         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   29969         des_parseroptions(n_options, options, 4);
   29970         xmlResetLastError();
   29971         if (mem_base != xmlMemBlocks()) {
   29972             printf("Leak of %d blocks found in xmlReaderForMemory",
   29973 	           xmlMemBlocks() - mem_base);
   29974 	    test_ret++;
   29975             printf(" %d", n_buffer);
   29976             printf(" %d", n_size);
   29977             printf(" %d", n_URL);
   29978             printf(" %d", n_encoding);
   29979             printf(" %d", n_options);
   29980             printf("\n");
   29981         }
   29982     }
   29983     }
   29984     }
   29985     }
   29986     }
   29987     function_tests++;
   29988 #endif
   29989 
   29990     return(test_ret);
   29991 }
   29992 
   29993 
   29994 static int
   29995 test_xmlReaderNewDoc(void) {
   29996     int test_ret = 0;
   29997 
   29998 #if defined(LIBXML_READER_ENABLED)
   29999     int mem_base;
   30000     int ret_val;
   30001     xmlTextReaderPtr reader; /* an XML reader */
   30002     int n_reader;
   30003     xmlChar * cur; /* a pointer to a zero terminated string */
   30004     int n_cur;
   30005     const char * URL; /* the base URL to use for the document */
   30006     int n_URL;
   30007     char * encoding; /* the document encoding, or NULL */
   30008     int n_encoding;
   30009     int options; /* a combination of xmlParserOption */
   30010     int n_options;
   30011 
   30012     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30013     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   30014     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   30015     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   30016     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   30017         mem_base = xmlMemBlocks();
   30018         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30019         cur = gen_const_xmlChar_ptr(n_cur, 1);
   30020         URL = gen_filepath(n_URL, 2);
   30021         encoding = gen_const_char_ptr(n_encoding, 3);
   30022         options = gen_parseroptions(n_options, 4);
   30023 
   30024         ret_val = xmlReaderNewDoc(reader, (const xmlChar *)cur, URL, (const char *)encoding, options);
   30025         desret_int(ret_val);
   30026         call_tests++;
   30027         des_xmlTextReaderPtr(n_reader, reader, 0);
   30028         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 1);
   30029         des_filepath(n_URL, URL, 2);
   30030         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   30031         des_parseroptions(n_options, options, 4);
   30032         xmlResetLastError();
   30033         if (mem_base != xmlMemBlocks()) {
   30034             printf("Leak of %d blocks found in xmlReaderNewDoc",
   30035 	           xmlMemBlocks() - mem_base);
   30036 	    test_ret++;
   30037             printf(" %d", n_reader);
   30038             printf(" %d", n_cur);
   30039             printf(" %d", n_URL);
   30040             printf(" %d", n_encoding);
   30041             printf(" %d", n_options);
   30042             printf("\n");
   30043         }
   30044     }
   30045     }
   30046     }
   30047     }
   30048     }
   30049     function_tests++;
   30050 #endif
   30051 
   30052     return(test_ret);
   30053 }
   30054 
   30055 
   30056 static int
   30057 test_xmlReaderNewFile(void) {
   30058     int test_ret = 0;
   30059 
   30060 #if defined(LIBXML_READER_ENABLED)
   30061     int mem_base;
   30062     int ret_val;
   30063     xmlTextReaderPtr reader; /* an XML reader */
   30064     int n_reader;
   30065     const char * filename; /* a file or URL */
   30066     int n_filename;
   30067     char * encoding; /* the document encoding, or NULL */
   30068     int n_encoding;
   30069     int options; /* a combination of xmlParserOption */
   30070     int n_options;
   30071 
   30072     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30073     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   30074     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   30075     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   30076         mem_base = xmlMemBlocks();
   30077         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30078         filename = gen_filepath(n_filename, 1);
   30079         encoding = gen_const_char_ptr(n_encoding, 2);
   30080         options = gen_parseroptions(n_options, 3);
   30081 
   30082         ret_val = xmlReaderNewFile(reader, filename, (const char *)encoding, options);
   30083         desret_int(ret_val);
   30084         call_tests++;
   30085         des_xmlTextReaderPtr(n_reader, reader, 0);
   30086         des_filepath(n_filename, filename, 1);
   30087         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   30088         des_parseroptions(n_options, options, 3);
   30089         xmlResetLastError();
   30090         if (mem_base != xmlMemBlocks()) {
   30091             printf("Leak of %d blocks found in xmlReaderNewFile",
   30092 	           xmlMemBlocks() - mem_base);
   30093 	    test_ret++;
   30094             printf(" %d", n_reader);
   30095             printf(" %d", n_filename);
   30096             printf(" %d", n_encoding);
   30097             printf(" %d", n_options);
   30098             printf("\n");
   30099         }
   30100     }
   30101     }
   30102     }
   30103     }
   30104     function_tests++;
   30105 #endif
   30106 
   30107     return(test_ret);
   30108 }
   30109 
   30110 
   30111 static int
   30112 test_xmlReaderNewMemory(void) {
   30113     int test_ret = 0;
   30114 
   30115 #if defined(LIBXML_READER_ENABLED)
   30116     int mem_base;
   30117     int ret_val;
   30118     xmlTextReaderPtr reader; /* an XML reader */
   30119     int n_reader;
   30120     char * buffer; /* a pointer to a char array */
   30121     int n_buffer;
   30122     int size; /* the size of the array */
   30123     int n_size;
   30124     const char * URL; /* the base URL to use for the document */
   30125     int n_URL;
   30126     char * encoding; /* the document encoding, or NULL */
   30127     int n_encoding;
   30128     int options; /* a combination of xmlParserOption */
   30129     int n_options;
   30130 
   30131     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30132     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   30133     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   30134     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   30135     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   30136     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   30137         mem_base = xmlMemBlocks();
   30138         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30139         buffer = gen_const_char_ptr(n_buffer, 1);
   30140         size = gen_int(n_size, 2);
   30141         URL = gen_filepath(n_URL, 3);
   30142         encoding = gen_const_char_ptr(n_encoding, 4);
   30143         options = gen_parseroptions(n_options, 5);
   30144 
   30145         ret_val = xmlReaderNewMemory(reader, (const char *)buffer, size, URL, (const char *)encoding, options);
   30146         desret_int(ret_val);
   30147         call_tests++;
   30148         des_xmlTextReaderPtr(n_reader, reader, 0);
   30149         des_const_char_ptr(n_buffer, (const char *)buffer, 1);
   30150         des_int(n_size, size, 2);
   30151         des_filepath(n_URL, URL, 3);
   30152         des_const_char_ptr(n_encoding, (const char *)encoding, 4);
   30153         des_parseroptions(n_options, options, 5);
   30154         xmlResetLastError();
   30155         if (mem_base != xmlMemBlocks()) {
   30156             printf("Leak of %d blocks found in xmlReaderNewMemory",
   30157 	           xmlMemBlocks() - mem_base);
   30158 	    test_ret++;
   30159             printf(" %d", n_reader);
   30160             printf(" %d", n_buffer);
   30161             printf(" %d", n_size);
   30162             printf(" %d", n_URL);
   30163             printf(" %d", n_encoding);
   30164             printf(" %d", n_options);
   30165             printf("\n");
   30166         }
   30167     }
   30168     }
   30169     }
   30170     }
   30171     }
   30172     }
   30173     function_tests++;
   30174 #endif
   30175 
   30176     return(test_ret);
   30177 }
   30178 
   30179 
   30180 static int
   30181 test_xmlReaderNewWalker(void) {
   30182     int test_ret = 0;
   30183 
   30184 #if defined(LIBXML_READER_ENABLED)
   30185     int mem_base;
   30186     int ret_val;
   30187     xmlTextReaderPtr reader; /* an XML reader */
   30188     int n_reader;
   30189     xmlDocPtr doc; /* a preparsed document */
   30190     int n_doc;
   30191 
   30192     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30193     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   30194         mem_base = xmlMemBlocks();
   30195         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30196         doc = gen_xmlDocPtr(n_doc, 1);
   30197 
   30198         ret_val = xmlReaderNewWalker(reader, doc);
   30199         desret_int(ret_val);
   30200         call_tests++;
   30201         des_xmlTextReaderPtr(n_reader, reader, 0);
   30202         des_xmlDocPtr(n_doc, doc, 1);
   30203         xmlResetLastError();
   30204         if (mem_base != xmlMemBlocks()) {
   30205             printf("Leak of %d blocks found in xmlReaderNewWalker",
   30206 	           xmlMemBlocks() - mem_base);
   30207 	    test_ret++;
   30208             printf(" %d", n_reader);
   30209             printf(" %d", n_doc);
   30210             printf("\n");
   30211         }
   30212     }
   30213     }
   30214     function_tests++;
   30215 #endif
   30216 
   30217     return(test_ret);
   30218 }
   30219 
   30220 
   30221 static int
   30222 test_xmlReaderWalker(void) {
   30223     int test_ret = 0;
   30224 
   30225 #if defined(LIBXML_READER_ENABLED)
   30226     int mem_base;
   30227     xmlTextReaderPtr ret_val;
   30228     xmlDocPtr doc; /* a preparsed document */
   30229     int n_doc;
   30230 
   30231     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   30232         mem_base = xmlMemBlocks();
   30233         doc = gen_xmlDocPtr(n_doc, 0);
   30234 
   30235         ret_val = xmlReaderWalker(doc);
   30236         desret_xmlTextReaderPtr(ret_val);
   30237         call_tests++;
   30238         des_xmlDocPtr(n_doc, doc, 0);
   30239         xmlResetLastError();
   30240         if (mem_base != xmlMemBlocks()) {
   30241             printf("Leak of %d blocks found in xmlReaderWalker",
   30242 	           xmlMemBlocks() - mem_base);
   30243 	    test_ret++;
   30244             printf(" %d", n_doc);
   30245             printf("\n");
   30246         }
   30247     }
   30248     function_tests++;
   30249 #endif
   30250 
   30251     return(test_ret);
   30252 }
   30253 
   30254 
   30255 static int
   30256 test_xmlTextReaderAttributeCount(void) {
   30257     int test_ret = 0;
   30258 
   30259 #if defined(LIBXML_READER_ENABLED)
   30260     int mem_base;
   30261     int ret_val;
   30262     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30263     int n_reader;
   30264 
   30265     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30266         mem_base = xmlMemBlocks();
   30267         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30268 
   30269         ret_val = xmlTextReaderAttributeCount(reader);
   30270         desret_int(ret_val);
   30271         call_tests++;
   30272         des_xmlTextReaderPtr(n_reader, reader, 0);
   30273         xmlResetLastError();
   30274         if (mem_base != xmlMemBlocks()) {
   30275             printf("Leak of %d blocks found in xmlTextReaderAttributeCount",
   30276 	           xmlMemBlocks() - mem_base);
   30277 	    test_ret++;
   30278             printf(" %d", n_reader);
   30279             printf("\n");
   30280         }
   30281     }
   30282     function_tests++;
   30283 #endif
   30284 
   30285     return(test_ret);
   30286 }
   30287 
   30288 
   30289 static int
   30290 test_xmlTextReaderBaseUri(void) {
   30291     int test_ret = 0;
   30292 
   30293 #if defined(LIBXML_READER_ENABLED)
   30294     int mem_base;
   30295     xmlChar * ret_val;
   30296     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30297     int n_reader;
   30298 
   30299     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30300         mem_base = xmlMemBlocks();
   30301         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30302 
   30303         ret_val = xmlTextReaderBaseUri(reader);
   30304         desret_xmlChar_ptr(ret_val);
   30305         call_tests++;
   30306         des_xmlTextReaderPtr(n_reader, reader, 0);
   30307         xmlResetLastError();
   30308         if (mem_base != xmlMemBlocks()) {
   30309             printf("Leak of %d blocks found in xmlTextReaderBaseUri",
   30310 	           xmlMemBlocks() - mem_base);
   30311 	    test_ret++;
   30312             printf(" %d", n_reader);
   30313             printf("\n");
   30314         }
   30315     }
   30316     function_tests++;
   30317 #endif
   30318 
   30319     return(test_ret);
   30320 }
   30321 
   30322 
   30323 static int
   30324 test_xmlTextReaderByteConsumed(void) {
   30325     int test_ret = 0;
   30326 
   30327 #if defined(LIBXML_READER_ENABLED)
   30328     int mem_base;
   30329     long ret_val;
   30330     xmlTextReaderPtr reader; /* an XML reader */
   30331     int n_reader;
   30332 
   30333     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30334         mem_base = xmlMemBlocks();
   30335         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30336 
   30337         ret_val = xmlTextReaderByteConsumed(reader);
   30338         desret_long(ret_val);
   30339         call_tests++;
   30340         des_xmlTextReaderPtr(n_reader, reader, 0);
   30341         xmlResetLastError();
   30342         if (mem_base != xmlMemBlocks()) {
   30343             printf("Leak of %d blocks found in xmlTextReaderByteConsumed",
   30344 	           xmlMemBlocks() - mem_base);
   30345 	    test_ret++;
   30346             printf(" %d", n_reader);
   30347             printf("\n");
   30348         }
   30349     }
   30350     function_tests++;
   30351 #endif
   30352 
   30353     return(test_ret);
   30354 }
   30355 
   30356 
   30357 static int
   30358 test_xmlTextReaderClose(void) {
   30359     int test_ret = 0;
   30360 
   30361 #if defined(LIBXML_READER_ENABLED)
   30362     int mem_base;
   30363     int ret_val;
   30364     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30365     int n_reader;
   30366 
   30367     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30368         mem_base = xmlMemBlocks();
   30369         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30370 
   30371         ret_val = xmlTextReaderClose(reader);
   30372         desret_int(ret_val);
   30373         call_tests++;
   30374         des_xmlTextReaderPtr(n_reader, reader, 0);
   30375         xmlResetLastError();
   30376         if (mem_base != xmlMemBlocks()) {
   30377             printf("Leak of %d blocks found in xmlTextReaderClose",
   30378 	           xmlMemBlocks() - mem_base);
   30379 	    test_ret++;
   30380             printf(" %d", n_reader);
   30381             printf("\n");
   30382         }
   30383     }
   30384     function_tests++;
   30385 #endif
   30386 
   30387     return(test_ret);
   30388 }
   30389 
   30390 
   30391 static int
   30392 test_xmlTextReaderConstBaseUri(void) {
   30393     int test_ret = 0;
   30394 
   30395 #if defined(LIBXML_READER_ENABLED)
   30396     int mem_base;
   30397     const xmlChar * ret_val;
   30398     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30399     int n_reader;
   30400 
   30401     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30402         mem_base = xmlMemBlocks();
   30403         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30404 
   30405         ret_val = xmlTextReaderConstBaseUri(reader);
   30406         desret_const_xmlChar_ptr(ret_val);
   30407         call_tests++;
   30408         des_xmlTextReaderPtr(n_reader, reader, 0);
   30409         xmlResetLastError();
   30410         if (mem_base != xmlMemBlocks()) {
   30411             printf("Leak of %d blocks found in xmlTextReaderConstBaseUri",
   30412 	           xmlMemBlocks() - mem_base);
   30413 	    test_ret++;
   30414             printf(" %d", n_reader);
   30415             printf("\n");
   30416         }
   30417     }
   30418     function_tests++;
   30419 #endif
   30420 
   30421     return(test_ret);
   30422 }
   30423 
   30424 
   30425 static int
   30426 test_xmlTextReaderConstEncoding(void) {
   30427     int test_ret = 0;
   30428 
   30429 #if defined(LIBXML_READER_ENABLED)
   30430     int mem_base;
   30431     const xmlChar * ret_val;
   30432     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30433     int n_reader;
   30434 
   30435     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30436         mem_base = xmlMemBlocks();
   30437         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30438 
   30439         ret_val = xmlTextReaderConstEncoding(reader);
   30440         desret_const_xmlChar_ptr(ret_val);
   30441         call_tests++;
   30442         des_xmlTextReaderPtr(n_reader, reader, 0);
   30443         xmlResetLastError();
   30444         if (mem_base != xmlMemBlocks()) {
   30445             printf("Leak of %d blocks found in xmlTextReaderConstEncoding",
   30446 	           xmlMemBlocks() - mem_base);
   30447 	    test_ret++;
   30448             printf(" %d", n_reader);
   30449             printf("\n");
   30450         }
   30451     }
   30452     function_tests++;
   30453 #endif
   30454 
   30455     return(test_ret);
   30456 }
   30457 
   30458 
   30459 static int
   30460 test_xmlTextReaderConstLocalName(void) {
   30461     int test_ret = 0;
   30462 
   30463 #if defined(LIBXML_READER_ENABLED)
   30464     int mem_base;
   30465     const xmlChar * ret_val;
   30466     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30467     int n_reader;
   30468 
   30469     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30470         mem_base = xmlMemBlocks();
   30471         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30472 
   30473         ret_val = xmlTextReaderConstLocalName(reader);
   30474         desret_const_xmlChar_ptr(ret_val);
   30475         call_tests++;
   30476         des_xmlTextReaderPtr(n_reader, reader, 0);
   30477         xmlResetLastError();
   30478         if (mem_base != xmlMemBlocks()) {
   30479             printf("Leak of %d blocks found in xmlTextReaderConstLocalName",
   30480 	           xmlMemBlocks() - mem_base);
   30481 	    test_ret++;
   30482             printf(" %d", n_reader);
   30483             printf("\n");
   30484         }
   30485     }
   30486     function_tests++;
   30487 #endif
   30488 
   30489     return(test_ret);
   30490 }
   30491 
   30492 
   30493 static int
   30494 test_xmlTextReaderConstName(void) {
   30495     int test_ret = 0;
   30496 
   30497 #if defined(LIBXML_READER_ENABLED)
   30498     int mem_base;
   30499     const xmlChar * ret_val;
   30500     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30501     int n_reader;
   30502 
   30503     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30504         mem_base = xmlMemBlocks();
   30505         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30506 
   30507         ret_val = xmlTextReaderConstName(reader);
   30508         desret_const_xmlChar_ptr(ret_val);
   30509         call_tests++;
   30510         des_xmlTextReaderPtr(n_reader, reader, 0);
   30511         xmlResetLastError();
   30512         if (mem_base != xmlMemBlocks()) {
   30513             printf("Leak of %d blocks found in xmlTextReaderConstName",
   30514 	           xmlMemBlocks() - mem_base);
   30515 	    test_ret++;
   30516             printf(" %d", n_reader);
   30517             printf("\n");
   30518         }
   30519     }
   30520     function_tests++;
   30521 #endif
   30522 
   30523     return(test_ret);
   30524 }
   30525 
   30526 
   30527 static int
   30528 test_xmlTextReaderConstNamespaceUri(void) {
   30529     int test_ret = 0;
   30530 
   30531 #if defined(LIBXML_READER_ENABLED)
   30532     int mem_base;
   30533     const xmlChar * ret_val;
   30534     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30535     int n_reader;
   30536 
   30537     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30538         mem_base = xmlMemBlocks();
   30539         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30540 
   30541         ret_val = xmlTextReaderConstNamespaceUri(reader);
   30542         desret_const_xmlChar_ptr(ret_val);
   30543         call_tests++;
   30544         des_xmlTextReaderPtr(n_reader, reader, 0);
   30545         xmlResetLastError();
   30546         if (mem_base != xmlMemBlocks()) {
   30547             printf("Leak of %d blocks found in xmlTextReaderConstNamespaceUri",
   30548 	           xmlMemBlocks() - mem_base);
   30549 	    test_ret++;
   30550             printf(" %d", n_reader);
   30551             printf("\n");
   30552         }
   30553     }
   30554     function_tests++;
   30555 #endif
   30556 
   30557     return(test_ret);
   30558 }
   30559 
   30560 
   30561 static int
   30562 test_xmlTextReaderConstPrefix(void) {
   30563     int test_ret = 0;
   30564 
   30565 #if defined(LIBXML_READER_ENABLED)
   30566     int mem_base;
   30567     const xmlChar * ret_val;
   30568     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30569     int n_reader;
   30570 
   30571     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30572         mem_base = xmlMemBlocks();
   30573         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30574 
   30575         ret_val = xmlTextReaderConstPrefix(reader);
   30576         desret_const_xmlChar_ptr(ret_val);
   30577         call_tests++;
   30578         des_xmlTextReaderPtr(n_reader, reader, 0);
   30579         xmlResetLastError();
   30580         if (mem_base != xmlMemBlocks()) {
   30581             printf("Leak of %d blocks found in xmlTextReaderConstPrefix",
   30582 	           xmlMemBlocks() - mem_base);
   30583 	    test_ret++;
   30584             printf(" %d", n_reader);
   30585             printf("\n");
   30586         }
   30587     }
   30588     function_tests++;
   30589 #endif
   30590 
   30591     return(test_ret);
   30592 }
   30593 
   30594 
   30595 static int
   30596 test_xmlTextReaderConstString(void) {
   30597     int test_ret = 0;
   30598 
   30599 #if defined(LIBXML_READER_ENABLED)
   30600     int mem_base;
   30601     const xmlChar * ret_val;
   30602     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30603     int n_reader;
   30604     xmlChar * str; /* the string to intern. */
   30605     int n_str;
   30606 
   30607     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30608     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   30609         mem_base = xmlMemBlocks();
   30610         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30611         str = gen_const_xmlChar_ptr(n_str, 1);
   30612 
   30613         ret_val = xmlTextReaderConstString(reader, (const xmlChar *)str);
   30614         desret_const_xmlChar_ptr(ret_val);
   30615         call_tests++;
   30616         des_xmlTextReaderPtr(n_reader, reader, 0);
   30617         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   30618         xmlResetLastError();
   30619         if (mem_base != xmlMemBlocks()) {
   30620             printf("Leak of %d blocks found in xmlTextReaderConstString",
   30621 	           xmlMemBlocks() - mem_base);
   30622 	    test_ret++;
   30623             printf(" %d", n_reader);
   30624             printf(" %d", n_str);
   30625             printf("\n");
   30626         }
   30627     }
   30628     }
   30629     function_tests++;
   30630 #endif
   30631 
   30632     return(test_ret);
   30633 }
   30634 
   30635 
   30636 static int
   30637 test_xmlTextReaderConstValue(void) {
   30638     int test_ret = 0;
   30639 
   30640 #if defined(LIBXML_READER_ENABLED)
   30641     int mem_base;
   30642     const xmlChar * ret_val;
   30643     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30644     int n_reader;
   30645 
   30646     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30647         mem_base = xmlMemBlocks();
   30648         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30649 
   30650         ret_val = xmlTextReaderConstValue(reader);
   30651         desret_const_xmlChar_ptr(ret_val);
   30652         call_tests++;
   30653         des_xmlTextReaderPtr(n_reader, reader, 0);
   30654         xmlResetLastError();
   30655         if (mem_base != xmlMemBlocks()) {
   30656             printf("Leak of %d blocks found in xmlTextReaderConstValue",
   30657 	           xmlMemBlocks() - mem_base);
   30658 	    test_ret++;
   30659             printf(" %d", n_reader);
   30660             printf("\n");
   30661         }
   30662     }
   30663     function_tests++;
   30664 #endif
   30665 
   30666     return(test_ret);
   30667 }
   30668 
   30669 
   30670 static int
   30671 test_xmlTextReaderConstXmlLang(void) {
   30672     int test_ret = 0;
   30673 
   30674 #if defined(LIBXML_READER_ENABLED)
   30675     int mem_base;
   30676     const xmlChar * ret_val;
   30677     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30678     int n_reader;
   30679 
   30680     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30681         mem_base = xmlMemBlocks();
   30682         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30683 
   30684         ret_val = xmlTextReaderConstXmlLang(reader);
   30685         desret_const_xmlChar_ptr(ret_val);
   30686         call_tests++;
   30687         des_xmlTextReaderPtr(n_reader, reader, 0);
   30688         xmlResetLastError();
   30689         if (mem_base != xmlMemBlocks()) {
   30690             printf("Leak of %d blocks found in xmlTextReaderConstXmlLang",
   30691 	           xmlMemBlocks() - mem_base);
   30692 	    test_ret++;
   30693             printf(" %d", n_reader);
   30694             printf("\n");
   30695         }
   30696     }
   30697     function_tests++;
   30698 #endif
   30699 
   30700     return(test_ret);
   30701 }
   30702 
   30703 
   30704 static int
   30705 test_xmlTextReaderConstXmlVersion(void) {
   30706     int test_ret = 0;
   30707 
   30708 #if defined(LIBXML_READER_ENABLED)
   30709     int mem_base;
   30710     const xmlChar * ret_val;
   30711     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30712     int n_reader;
   30713 
   30714     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30715         mem_base = xmlMemBlocks();
   30716         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30717 
   30718         ret_val = xmlTextReaderConstXmlVersion(reader);
   30719         desret_const_xmlChar_ptr(ret_val);
   30720         call_tests++;
   30721         des_xmlTextReaderPtr(n_reader, reader, 0);
   30722         xmlResetLastError();
   30723         if (mem_base != xmlMemBlocks()) {
   30724             printf("Leak of %d blocks found in xmlTextReaderConstXmlVersion",
   30725 	           xmlMemBlocks() - mem_base);
   30726 	    test_ret++;
   30727             printf(" %d", n_reader);
   30728             printf("\n");
   30729         }
   30730     }
   30731     function_tests++;
   30732 #endif
   30733 
   30734     return(test_ret);
   30735 }
   30736 
   30737 
   30738 static int
   30739 test_xmlTextReaderCurrentDoc(void) {
   30740     int test_ret = 0;
   30741 
   30742 #if defined(LIBXML_READER_ENABLED)
   30743     int mem_base;
   30744     xmlDocPtr ret_val;
   30745     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30746     int n_reader;
   30747 
   30748     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30749         mem_base = xmlMemBlocks();
   30750         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30751 
   30752         ret_val = xmlTextReaderCurrentDoc(reader);
   30753         desret_xmlDocPtr(ret_val);
   30754         call_tests++;
   30755         des_xmlTextReaderPtr(n_reader, reader, 0);
   30756         xmlResetLastError();
   30757         if (mem_base != xmlMemBlocks()) {
   30758             printf("Leak of %d blocks found in xmlTextReaderCurrentDoc",
   30759 	           xmlMemBlocks() - mem_base);
   30760 	    test_ret++;
   30761             printf(" %d", n_reader);
   30762             printf("\n");
   30763         }
   30764     }
   30765     function_tests++;
   30766 #endif
   30767 
   30768     return(test_ret);
   30769 }
   30770 
   30771 
   30772 static int
   30773 test_xmlTextReaderCurrentNode(void) {
   30774     int test_ret = 0;
   30775 
   30776 #if defined(LIBXML_READER_ENABLED)
   30777     int mem_base;
   30778     xmlNodePtr ret_val;
   30779     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30780     int n_reader;
   30781 
   30782     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30783         mem_base = xmlMemBlocks();
   30784         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30785 
   30786         ret_val = xmlTextReaderCurrentNode(reader);
   30787         desret_xmlNodePtr(ret_val);
   30788         call_tests++;
   30789         des_xmlTextReaderPtr(n_reader, reader, 0);
   30790         xmlResetLastError();
   30791         if (mem_base != xmlMemBlocks()) {
   30792             printf("Leak of %d blocks found in xmlTextReaderCurrentNode",
   30793 	           xmlMemBlocks() - mem_base);
   30794 	    test_ret++;
   30795             printf(" %d", n_reader);
   30796             printf("\n");
   30797         }
   30798     }
   30799     function_tests++;
   30800 #endif
   30801 
   30802     return(test_ret);
   30803 }
   30804 
   30805 
   30806 static int
   30807 test_xmlTextReaderDepth(void) {
   30808     int test_ret = 0;
   30809 
   30810 #if defined(LIBXML_READER_ENABLED)
   30811     int mem_base;
   30812     int ret_val;
   30813     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30814     int n_reader;
   30815 
   30816     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30817         mem_base = xmlMemBlocks();
   30818         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30819 
   30820         ret_val = xmlTextReaderDepth(reader);
   30821         desret_int(ret_val);
   30822         call_tests++;
   30823         des_xmlTextReaderPtr(n_reader, reader, 0);
   30824         xmlResetLastError();
   30825         if (mem_base != xmlMemBlocks()) {
   30826             printf("Leak of %d blocks found in xmlTextReaderDepth",
   30827 	           xmlMemBlocks() - mem_base);
   30828 	    test_ret++;
   30829             printf(" %d", n_reader);
   30830             printf("\n");
   30831         }
   30832     }
   30833     function_tests++;
   30834 #endif
   30835 
   30836     return(test_ret);
   30837 }
   30838 
   30839 
   30840 static int
   30841 test_xmlTextReaderExpand(void) {
   30842     int test_ret = 0;
   30843 
   30844 #if defined(LIBXML_READER_ENABLED)
   30845     int mem_base;
   30846     xmlNodePtr ret_val;
   30847     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30848     int n_reader;
   30849 
   30850     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30851         mem_base = xmlMemBlocks();
   30852         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30853 
   30854         ret_val = xmlTextReaderExpand(reader);
   30855         desret_xmlNodePtr(ret_val);
   30856         call_tests++;
   30857         des_xmlTextReaderPtr(n_reader, reader, 0);
   30858         xmlResetLastError();
   30859         if (mem_base != xmlMemBlocks()) {
   30860             printf("Leak of %d blocks found in xmlTextReaderExpand",
   30861 	           xmlMemBlocks() - mem_base);
   30862 	    test_ret++;
   30863             printf(" %d", n_reader);
   30864             printf("\n");
   30865         }
   30866     }
   30867     function_tests++;
   30868 #endif
   30869 
   30870     return(test_ret);
   30871 }
   30872 
   30873 
   30874 static int
   30875 test_xmlTextReaderGetAttribute(void) {
   30876     int test_ret = 0;
   30877 
   30878 #if defined(LIBXML_READER_ENABLED)
   30879     int mem_base;
   30880     xmlChar * ret_val;
   30881     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30882     int n_reader;
   30883     xmlChar * name; /* the qualified name of the attribute. */
   30884     int n_name;
   30885 
   30886     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30887     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   30888         mem_base = xmlMemBlocks();
   30889         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30890         name = gen_const_xmlChar_ptr(n_name, 1);
   30891 
   30892         ret_val = xmlTextReaderGetAttribute(reader, (const xmlChar *)name);
   30893         desret_xmlChar_ptr(ret_val);
   30894         call_tests++;
   30895         des_xmlTextReaderPtr(n_reader, reader, 0);
   30896         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   30897         xmlResetLastError();
   30898         if (mem_base != xmlMemBlocks()) {
   30899             printf("Leak of %d blocks found in xmlTextReaderGetAttribute",
   30900 	           xmlMemBlocks() - mem_base);
   30901 	    test_ret++;
   30902             printf(" %d", n_reader);
   30903             printf(" %d", n_name);
   30904             printf("\n");
   30905         }
   30906     }
   30907     }
   30908     function_tests++;
   30909 #endif
   30910 
   30911     return(test_ret);
   30912 }
   30913 
   30914 
   30915 static int
   30916 test_xmlTextReaderGetAttributeNo(void) {
   30917     int test_ret = 0;
   30918 
   30919 #if defined(LIBXML_READER_ENABLED)
   30920     int mem_base;
   30921     xmlChar * ret_val;
   30922     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30923     int n_reader;
   30924     int no; /* the zero-based index of the attribute relative to the containing element */
   30925     int n_no;
   30926 
   30927     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30928     for (n_no = 0;n_no < gen_nb_int;n_no++) {
   30929         mem_base = xmlMemBlocks();
   30930         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30931         no = gen_int(n_no, 1);
   30932 
   30933         ret_val = xmlTextReaderGetAttributeNo(reader, no);
   30934         desret_xmlChar_ptr(ret_val);
   30935         call_tests++;
   30936         des_xmlTextReaderPtr(n_reader, reader, 0);
   30937         des_int(n_no, no, 1);
   30938         xmlResetLastError();
   30939         if (mem_base != xmlMemBlocks()) {
   30940             printf("Leak of %d blocks found in xmlTextReaderGetAttributeNo",
   30941 	           xmlMemBlocks() - mem_base);
   30942 	    test_ret++;
   30943             printf(" %d", n_reader);
   30944             printf(" %d", n_no);
   30945             printf("\n");
   30946         }
   30947     }
   30948     }
   30949     function_tests++;
   30950 #endif
   30951 
   30952     return(test_ret);
   30953 }
   30954 
   30955 
   30956 static int
   30957 test_xmlTextReaderGetAttributeNs(void) {
   30958     int test_ret = 0;
   30959 
   30960 #if defined(LIBXML_READER_ENABLED)
   30961     int mem_base;
   30962     xmlChar * ret_val;
   30963     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   30964     int n_reader;
   30965     xmlChar * localName; /* the local name of the attribute. */
   30966     int n_localName;
   30967     xmlChar * namespaceURI; /* the namespace URI of the attribute. */
   30968     int n_namespaceURI;
   30969 
   30970     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   30971     for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
   30972     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
   30973         mem_base = xmlMemBlocks();
   30974         reader = gen_xmlTextReaderPtr(n_reader, 0);
   30975         localName = gen_const_xmlChar_ptr(n_localName, 1);
   30976         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
   30977 
   30978         ret_val = xmlTextReaderGetAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
   30979         desret_xmlChar_ptr(ret_val);
   30980         call_tests++;
   30981         des_xmlTextReaderPtr(n_reader, reader, 0);
   30982         des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
   30983         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
   30984         xmlResetLastError();
   30985         if (mem_base != xmlMemBlocks()) {
   30986             printf("Leak of %d blocks found in xmlTextReaderGetAttributeNs",
   30987 	           xmlMemBlocks() - mem_base);
   30988 	    test_ret++;
   30989             printf(" %d", n_reader);
   30990             printf(" %d", n_localName);
   30991             printf(" %d", n_namespaceURI);
   30992             printf("\n");
   30993         }
   30994     }
   30995     }
   30996     }
   30997     function_tests++;
   30998 #endif
   30999 
   31000     return(test_ret);
   31001 }
   31002 
   31003 #ifdef LIBXML_READER_ENABLED
   31004 
   31005 #define gen_nb_xmlTextReaderErrorFunc_ptr 1
   31006 static xmlTextReaderErrorFunc * gen_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   31007     return(NULL);
   31008 }
   31009 static void des_xmlTextReaderErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlTextReaderErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   31010 }
   31011 #endif
   31012 
   31013 
   31014 static int
   31015 test_xmlTextReaderGetErrorHandler(void) {
   31016     int test_ret = 0;
   31017 
   31018 #if defined(LIBXML_READER_ENABLED)
   31019     int mem_base;
   31020     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31021     int n_reader;
   31022     xmlTextReaderErrorFunc * f; /* the callback function or NULL is no callback has been registered */
   31023     int n_f;
   31024     void ** arg; /* a user argument */
   31025     int n_arg;
   31026 
   31027     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31028     for (n_f = 0;n_f < gen_nb_xmlTextReaderErrorFunc_ptr;n_f++) {
   31029     for (n_arg = 0;n_arg < gen_nb_void_ptr_ptr;n_arg++) {
   31030         mem_base = xmlMemBlocks();
   31031         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31032         f = gen_xmlTextReaderErrorFunc_ptr(n_f, 1);
   31033         arg = gen_void_ptr_ptr(n_arg, 2);
   31034 
   31035         xmlTextReaderGetErrorHandler(reader, f, arg);
   31036         call_tests++;
   31037         des_xmlTextReaderPtr(n_reader, reader, 0);
   31038         des_xmlTextReaderErrorFunc_ptr(n_f, f, 1);
   31039         des_void_ptr_ptr(n_arg, arg, 2);
   31040         xmlResetLastError();
   31041         if (mem_base != xmlMemBlocks()) {
   31042             printf("Leak of %d blocks found in xmlTextReaderGetErrorHandler",
   31043 	           xmlMemBlocks() - mem_base);
   31044 	    test_ret++;
   31045             printf(" %d", n_reader);
   31046             printf(" %d", n_f);
   31047             printf(" %d", n_arg);
   31048             printf("\n");
   31049         }
   31050     }
   31051     }
   31052     }
   31053     function_tests++;
   31054 #endif
   31055 
   31056     return(test_ret);
   31057 }
   31058 
   31059 
   31060 static int
   31061 test_xmlTextReaderGetParserColumnNumber(void) {
   31062     int test_ret = 0;
   31063 
   31064 #if defined(LIBXML_READER_ENABLED)
   31065     int mem_base;
   31066     int ret_val;
   31067     xmlTextReaderPtr reader; /* the user data (XML reader context) */
   31068     int n_reader;
   31069 
   31070     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31071         mem_base = xmlMemBlocks();
   31072         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31073 
   31074         ret_val = xmlTextReaderGetParserColumnNumber(reader);
   31075         desret_int(ret_val);
   31076         call_tests++;
   31077         des_xmlTextReaderPtr(n_reader, reader, 0);
   31078         xmlResetLastError();
   31079         if (mem_base != xmlMemBlocks()) {
   31080             printf("Leak of %d blocks found in xmlTextReaderGetParserColumnNumber",
   31081 	           xmlMemBlocks() - mem_base);
   31082 	    test_ret++;
   31083             printf(" %d", n_reader);
   31084             printf("\n");
   31085         }
   31086     }
   31087     function_tests++;
   31088 #endif
   31089 
   31090     return(test_ret);
   31091 }
   31092 
   31093 
   31094 static int
   31095 test_xmlTextReaderGetParserLineNumber(void) {
   31096     int test_ret = 0;
   31097 
   31098 #if defined(LIBXML_READER_ENABLED)
   31099     int mem_base;
   31100     int ret_val;
   31101     xmlTextReaderPtr reader; /* the user data (XML reader context) */
   31102     int n_reader;
   31103 
   31104     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31105         mem_base = xmlMemBlocks();
   31106         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31107 
   31108         ret_val = xmlTextReaderGetParserLineNumber(reader);
   31109         desret_int(ret_val);
   31110         call_tests++;
   31111         des_xmlTextReaderPtr(n_reader, reader, 0);
   31112         xmlResetLastError();
   31113         if (mem_base != xmlMemBlocks()) {
   31114             printf("Leak of %d blocks found in xmlTextReaderGetParserLineNumber",
   31115 	           xmlMemBlocks() - mem_base);
   31116 	    test_ret++;
   31117             printf(" %d", n_reader);
   31118             printf("\n");
   31119         }
   31120     }
   31121     function_tests++;
   31122 #endif
   31123 
   31124     return(test_ret);
   31125 }
   31126 
   31127 
   31128 static int
   31129 test_xmlTextReaderGetParserProp(void) {
   31130     int test_ret = 0;
   31131 
   31132 #if defined(LIBXML_READER_ENABLED)
   31133     int mem_base;
   31134     int ret_val;
   31135     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31136     int n_reader;
   31137     int prop; /* the xmlParserProperties to get */
   31138     int n_prop;
   31139 
   31140     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31141     for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
   31142         mem_base = xmlMemBlocks();
   31143         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31144         prop = gen_int(n_prop, 1);
   31145 
   31146         ret_val = xmlTextReaderGetParserProp(reader, prop);
   31147         desret_int(ret_val);
   31148         call_tests++;
   31149         des_xmlTextReaderPtr(n_reader, reader, 0);
   31150         des_int(n_prop, prop, 1);
   31151         xmlResetLastError();
   31152         if (mem_base != xmlMemBlocks()) {
   31153             printf("Leak of %d blocks found in xmlTextReaderGetParserProp",
   31154 	           xmlMemBlocks() - mem_base);
   31155 	    test_ret++;
   31156             printf(" %d", n_reader);
   31157             printf(" %d", n_prop);
   31158             printf("\n");
   31159         }
   31160     }
   31161     }
   31162     function_tests++;
   31163 #endif
   31164 
   31165     return(test_ret);
   31166 }
   31167 
   31168 
   31169 static int
   31170 test_xmlTextReaderGetRemainder(void) {
   31171     int test_ret = 0;
   31172 
   31173 #if defined(LIBXML_READER_ENABLED)
   31174     int mem_base;
   31175     xmlParserInputBufferPtr ret_val;
   31176     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31177     int n_reader;
   31178 
   31179     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31180         mem_base = xmlMemBlocks();
   31181         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31182 
   31183         ret_val = xmlTextReaderGetRemainder(reader);
   31184         desret_xmlParserInputBufferPtr(ret_val);
   31185         call_tests++;
   31186         des_xmlTextReaderPtr(n_reader, reader, 0);
   31187         xmlResetLastError();
   31188         if (mem_base != xmlMemBlocks()) {
   31189             printf("Leak of %d blocks found in xmlTextReaderGetRemainder",
   31190 	           xmlMemBlocks() - mem_base);
   31191 	    test_ret++;
   31192             printf(" %d", n_reader);
   31193             printf("\n");
   31194         }
   31195     }
   31196     function_tests++;
   31197 #endif
   31198 
   31199     return(test_ret);
   31200 }
   31201 
   31202 
   31203 static int
   31204 test_xmlTextReaderHasAttributes(void) {
   31205     int test_ret = 0;
   31206 
   31207 #if defined(LIBXML_READER_ENABLED)
   31208     int mem_base;
   31209     int ret_val;
   31210     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31211     int n_reader;
   31212 
   31213     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31214         mem_base = xmlMemBlocks();
   31215         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31216 
   31217         ret_val = xmlTextReaderHasAttributes(reader);
   31218         desret_int(ret_val);
   31219         call_tests++;
   31220         des_xmlTextReaderPtr(n_reader, reader, 0);
   31221         xmlResetLastError();
   31222         if (mem_base != xmlMemBlocks()) {
   31223             printf("Leak of %d blocks found in xmlTextReaderHasAttributes",
   31224 	           xmlMemBlocks() - mem_base);
   31225 	    test_ret++;
   31226             printf(" %d", n_reader);
   31227             printf("\n");
   31228         }
   31229     }
   31230     function_tests++;
   31231 #endif
   31232 
   31233     return(test_ret);
   31234 }
   31235 
   31236 
   31237 static int
   31238 test_xmlTextReaderHasValue(void) {
   31239     int test_ret = 0;
   31240 
   31241 #if defined(LIBXML_READER_ENABLED)
   31242     int mem_base;
   31243     int ret_val;
   31244     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31245     int n_reader;
   31246 
   31247     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31248         mem_base = xmlMemBlocks();
   31249         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31250 
   31251         ret_val = xmlTextReaderHasValue(reader);
   31252         desret_int(ret_val);
   31253         call_tests++;
   31254         des_xmlTextReaderPtr(n_reader, reader, 0);
   31255         xmlResetLastError();
   31256         if (mem_base != xmlMemBlocks()) {
   31257             printf("Leak of %d blocks found in xmlTextReaderHasValue",
   31258 	           xmlMemBlocks() - mem_base);
   31259 	    test_ret++;
   31260             printf(" %d", n_reader);
   31261             printf("\n");
   31262         }
   31263     }
   31264     function_tests++;
   31265 #endif
   31266 
   31267     return(test_ret);
   31268 }
   31269 
   31270 
   31271 static int
   31272 test_xmlTextReaderIsDefault(void) {
   31273     int test_ret = 0;
   31274 
   31275 #if defined(LIBXML_READER_ENABLED)
   31276     int mem_base;
   31277     int ret_val;
   31278     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31279     int n_reader;
   31280 
   31281     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31282         mem_base = xmlMemBlocks();
   31283         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31284 
   31285         ret_val = xmlTextReaderIsDefault(reader);
   31286         desret_int(ret_val);
   31287         call_tests++;
   31288         des_xmlTextReaderPtr(n_reader, reader, 0);
   31289         xmlResetLastError();
   31290         if (mem_base != xmlMemBlocks()) {
   31291             printf("Leak of %d blocks found in xmlTextReaderIsDefault",
   31292 	           xmlMemBlocks() - mem_base);
   31293 	    test_ret++;
   31294             printf(" %d", n_reader);
   31295             printf("\n");
   31296         }
   31297     }
   31298     function_tests++;
   31299 #endif
   31300 
   31301     return(test_ret);
   31302 }
   31303 
   31304 
   31305 static int
   31306 test_xmlTextReaderIsEmptyElement(void) {
   31307     int test_ret = 0;
   31308 
   31309 #if defined(LIBXML_READER_ENABLED)
   31310     int mem_base;
   31311     int ret_val;
   31312     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31313     int n_reader;
   31314 
   31315     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31316         mem_base = xmlMemBlocks();
   31317         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31318 
   31319         ret_val = xmlTextReaderIsEmptyElement(reader);
   31320         desret_int(ret_val);
   31321         call_tests++;
   31322         des_xmlTextReaderPtr(n_reader, reader, 0);
   31323         xmlResetLastError();
   31324         if (mem_base != xmlMemBlocks()) {
   31325             printf("Leak of %d blocks found in xmlTextReaderIsEmptyElement",
   31326 	           xmlMemBlocks() - mem_base);
   31327 	    test_ret++;
   31328             printf(" %d", n_reader);
   31329             printf("\n");
   31330         }
   31331     }
   31332     function_tests++;
   31333 #endif
   31334 
   31335     return(test_ret);
   31336 }
   31337 
   31338 
   31339 static int
   31340 test_xmlTextReaderIsNamespaceDecl(void) {
   31341     int test_ret = 0;
   31342 
   31343 #if defined(LIBXML_READER_ENABLED)
   31344     int mem_base;
   31345     int ret_val;
   31346     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31347     int n_reader;
   31348 
   31349     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31350         mem_base = xmlMemBlocks();
   31351         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31352 
   31353         ret_val = xmlTextReaderIsNamespaceDecl(reader);
   31354         desret_int(ret_val);
   31355         call_tests++;
   31356         des_xmlTextReaderPtr(n_reader, reader, 0);
   31357         xmlResetLastError();
   31358         if (mem_base != xmlMemBlocks()) {
   31359             printf("Leak of %d blocks found in xmlTextReaderIsNamespaceDecl",
   31360 	           xmlMemBlocks() - mem_base);
   31361 	    test_ret++;
   31362             printf(" %d", n_reader);
   31363             printf("\n");
   31364         }
   31365     }
   31366     function_tests++;
   31367 #endif
   31368 
   31369     return(test_ret);
   31370 }
   31371 
   31372 
   31373 static int
   31374 test_xmlTextReaderIsValid(void) {
   31375     int test_ret = 0;
   31376 
   31377 #if defined(LIBXML_READER_ENABLED)
   31378     int mem_base;
   31379     int ret_val;
   31380     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31381     int n_reader;
   31382 
   31383     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31384         mem_base = xmlMemBlocks();
   31385         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31386 
   31387         ret_val = xmlTextReaderIsValid(reader);
   31388         desret_int(ret_val);
   31389         call_tests++;
   31390         des_xmlTextReaderPtr(n_reader, reader, 0);
   31391         xmlResetLastError();
   31392         if (mem_base != xmlMemBlocks()) {
   31393             printf("Leak of %d blocks found in xmlTextReaderIsValid",
   31394 	           xmlMemBlocks() - mem_base);
   31395 	    test_ret++;
   31396             printf(" %d", n_reader);
   31397             printf("\n");
   31398         }
   31399     }
   31400     function_tests++;
   31401 #endif
   31402 
   31403     return(test_ret);
   31404 }
   31405 
   31406 
   31407 static int
   31408 test_xmlTextReaderLocalName(void) {
   31409     int test_ret = 0;
   31410 
   31411 #if defined(LIBXML_READER_ENABLED)
   31412     int mem_base;
   31413     xmlChar * ret_val;
   31414     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31415     int n_reader;
   31416 
   31417     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31418         mem_base = xmlMemBlocks();
   31419         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31420 
   31421         ret_val = xmlTextReaderLocalName(reader);
   31422         desret_xmlChar_ptr(ret_val);
   31423         call_tests++;
   31424         des_xmlTextReaderPtr(n_reader, reader, 0);
   31425         xmlResetLastError();
   31426         if (mem_base != xmlMemBlocks()) {
   31427             printf("Leak of %d blocks found in xmlTextReaderLocalName",
   31428 	           xmlMemBlocks() - mem_base);
   31429 	    test_ret++;
   31430             printf(" %d", n_reader);
   31431             printf("\n");
   31432         }
   31433     }
   31434     function_tests++;
   31435 #endif
   31436 
   31437     return(test_ret);
   31438 }
   31439 
   31440 #ifdef LIBXML_READER_ENABLED
   31441 
   31442 #define gen_nb_xmlTextReaderLocatorPtr 1
   31443 static xmlTextReaderLocatorPtr gen_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   31444     return(NULL);
   31445 }
   31446 static void des_xmlTextReaderLocatorPtr(int no ATTRIBUTE_UNUSED, xmlTextReaderLocatorPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   31447 }
   31448 #endif
   31449 
   31450 
   31451 static int
   31452 test_xmlTextReaderLocatorBaseURI(void) {
   31453     int test_ret = 0;
   31454 
   31455 #if defined(LIBXML_READER_ENABLED)
   31456     int mem_base;
   31457     xmlChar * ret_val;
   31458     xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
   31459     int n_locator;
   31460 
   31461     for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
   31462         mem_base = xmlMemBlocks();
   31463         locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
   31464 
   31465         ret_val = xmlTextReaderLocatorBaseURI(locator);
   31466         desret_xmlChar_ptr(ret_val);
   31467         call_tests++;
   31468         des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
   31469         xmlResetLastError();
   31470         if (mem_base != xmlMemBlocks()) {
   31471             printf("Leak of %d blocks found in xmlTextReaderLocatorBaseURI",
   31472 	           xmlMemBlocks() - mem_base);
   31473 	    test_ret++;
   31474             printf(" %d", n_locator);
   31475             printf("\n");
   31476         }
   31477     }
   31478     function_tests++;
   31479 #endif
   31480 
   31481     return(test_ret);
   31482 }
   31483 
   31484 
   31485 static int
   31486 test_xmlTextReaderLocatorLineNumber(void) {
   31487     int test_ret = 0;
   31488 
   31489 #if defined(LIBXML_READER_ENABLED)
   31490     int mem_base;
   31491     int ret_val;
   31492     xmlTextReaderLocatorPtr locator; /* the xmlTextReaderLocatorPtr used */
   31493     int n_locator;
   31494 
   31495     for (n_locator = 0;n_locator < gen_nb_xmlTextReaderLocatorPtr;n_locator++) {
   31496         mem_base = xmlMemBlocks();
   31497         locator = gen_xmlTextReaderLocatorPtr(n_locator, 0);
   31498 
   31499         ret_val = xmlTextReaderLocatorLineNumber(locator);
   31500         desret_int(ret_val);
   31501         call_tests++;
   31502         des_xmlTextReaderLocatorPtr(n_locator, locator, 0);
   31503         xmlResetLastError();
   31504         if (mem_base != xmlMemBlocks()) {
   31505             printf("Leak of %d blocks found in xmlTextReaderLocatorLineNumber",
   31506 	           xmlMemBlocks() - mem_base);
   31507 	    test_ret++;
   31508             printf(" %d", n_locator);
   31509             printf("\n");
   31510         }
   31511     }
   31512     function_tests++;
   31513 #endif
   31514 
   31515     return(test_ret);
   31516 }
   31517 
   31518 
   31519 static int
   31520 test_xmlTextReaderLookupNamespace(void) {
   31521     int test_ret = 0;
   31522 
   31523 #if defined(LIBXML_READER_ENABLED)
   31524     int mem_base;
   31525     xmlChar * ret_val;
   31526     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31527     int n_reader;
   31528     xmlChar * prefix; /* the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL */
   31529     int n_prefix;
   31530 
   31531     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31532     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   31533         mem_base = xmlMemBlocks();
   31534         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31535         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   31536 
   31537         ret_val = xmlTextReaderLookupNamespace(reader, (const xmlChar *)prefix);
   31538         desret_xmlChar_ptr(ret_val);
   31539         call_tests++;
   31540         des_xmlTextReaderPtr(n_reader, reader, 0);
   31541         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   31542         xmlResetLastError();
   31543         if (mem_base != xmlMemBlocks()) {
   31544             printf("Leak of %d blocks found in xmlTextReaderLookupNamespace",
   31545 	           xmlMemBlocks() - mem_base);
   31546 	    test_ret++;
   31547             printf(" %d", n_reader);
   31548             printf(" %d", n_prefix);
   31549             printf("\n");
   31550         }
   31551     }
   31552     }
   31553     function_tests++;
   31554 #endif
   31555 
   31556     return(test_ret);
   31557 }
   31558 
   31559 
   31560 static int
   31561 test_xmlTextReaderMoveToAttribute(void) {
   31562     int test_ret = 0;
   31563 
   31564 #if defined(LIBXML_READER_ENABLED)
   31565     int mem_base;
   31566     int ret_val;
   31567     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31568     int n_reader;
   31569     xmlChar * name; /* the qualified name of the attribute. */
   31570     int n_name;
   31571 
   31572     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31573     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   31574         mem_base = xmlMemBlocks();
   31575         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31576         name = gen_const_xmlChar_ptr(n_name, 1);
   31577 
   31578         ret_val = xmlTextReaderMoveToAttribute(reader, (const xmlChar *)name);
   31579         desret_int(ret_val);
   31580         call_tests++;
   31581         des_xmlTextReaderPtr(n_reader, reader, 0);
   31582         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   31583         xmlResetLastError();
   31584         if (mem_base != xmlMemBlocks()) {
   31585             printf("Leak of %d blocks found in xmlTextReaderMoveToAttribute",
   31586 	           xmlMemBlocks() - mem_base);
   31587 	    test_ret++;
   31588             printf(" %d", n_reader);
   31589             printf(" %d", n_name);
   31590             printf("\n");
   31591         }
   31592     }
   31593     }
   31594     function_tests++;
   31595 #endif
   31596 
   31597     return(test_ret);
   31598 }
   31599 
   31600 
   31601 static int
   31602 test_xmlTextReaderMoveToAttributeNo(void) {
   31603     int test_ret = 0;
   31604 
   31605 #if defined(LIBXML_READER_ENABLED)
   31606     int mem_base;
   31607     int ret_val;
   31608     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31609     int n_reader;
   31610     int no; /* the zero-based index of the attribute relative to the containing element. */
   31611     int n_no;
   31612 
   31613     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31614     for (n_no = 0;n_no < gen_nb_int;n_no++) {
   31615         mem_base = xmlMemBlocks();
   31616         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31617         no = gen_int(n_no, 1);
   31618 
   31619         ret_val = xmlTextReaderMoveToAttributeNo(reader, no);
   31620         desret_int(ret_val);
   31621         call_tests++;
   31622         des_xmlTextReaderPtr(n_reader, reader, 0);
   31623         des_int(n_no, no, 1);
   31624         xmlResetLastError();
   31625         if (mem_base != xmlMemBlocks()) {
   31626             printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNo",
   31627 	           xmlMemBlocks() - mem_base);
   31628 	    test_ret++;
   31629             printf(" %d", n_reader);
   31630             printf(" %d", n_no);
   31631             printf("\n");
   31632         }
   31633     }
   31634     }
   31635     function_tests++;
   31636 #endif
   31637 
   31638     return(test_ret);
   31639 }
   31640 
   31641 
   31642 static int
   31643 test_xmlTextReaderMoveToAttributeNs(void) {
   31644     int test_ret = 0;
   31645 
   31646 #if defined(LIBXML_READER_ENABLED)
   31647     int mem_base;
   31648     int ret_val;
   31649     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31650     int n_reader;
   31651     xmlChar * localName; /* the local name of the attribute. */
   31652     int n_localName;
   31653     xmlChar * namespaceURI; /* the namespace URI of the attribute. */
   31654     int n_namespaceURI;
   31655 
   31656     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31657     for (n_localName = 0;n_localName < gen_nb_const_xmlChar_ptr;n_localName++) {
   31658     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
   31659         mem_base = xmlMemBlocks();
   31660         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31661         localName = gen_const_xmlChar_ptr(n_localName, 1);
   31662         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 2);
   31663 
   31664         ret_val = xmlTextReaderMoveToAttributeNs(reader, (const xmlChar *)localName, (const xmlChar *)namespaceURI);
   31665         desret_int(ret_val);
   31666         call_tests++;
   31667         des_xmlTextReaderPtr(n_reader, reader, 0);
   31668         des_const_xmlChar_ptr(n_localName, (const xmlChar *)localName, 1);
   31669         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 2);
   31670         xmlResetLastError();
   31671         if (mem_base != xmlMemBlocks()) {
   31672             printf("Leak of %d blocks found in xmlTextReaderMoveToAttributeNs",
   31673 	           xmlMemBlocks() - mem_base);
   31674 	    test_ret++;
   31675             printf(" %d", n_reader);
   31676             printf(" %d", n_localName);
   31677             printf(" %d", n_namespaceURI);
   31678             printf("\n");
   31679         }
   31680     }
   31681     }
   31682     }
   31683     function_tests++;
   31684 #endif
   31685 
   31686     return(test_ret);
   31687 }
   31688 
   31689 
   31690 static int
   31691 test_xmlTextReaderMoveToElement(void) {
   31692     int test_ret = 0;
   31693 
   31694 #if defined(LIBXML_READER_ENABLED)
   31695     int mem_base;
   31696     int ret_val;
   31697     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31698     int n_reader;
   31699 
   31700     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31701         mem_base = xmlMemBlocks();
   31702         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31703 
   31704         ret_val = xmlTextReaderMoveToElement(reader);
   31705         desret_int(ret_val);
   31706         call_tests++;
   31707         des_xmlTextReaderPtr(n_reader, reader, 0);
   31708         xmlResetLastError();
   31709         if (mem_base != xmlMemBlocks()) {
   31710             printf("Leak of %d blocks found in xmlTextReaderMoveToElement",
   31711 	           xmlMemBlocks() - mem_base);
   31712 	    test_ret++;
   31713             printf(" %d", n_reader);
   31714             printf("\n");
   31715         }
   31716     }
   31717     function_tests++;
   31718 #endif
   31719 
   31720     return(test_ret);
   31721 }
   31722 
   31723 
   31724 static int
   31725 test_xmlTextReaderMoveToFirstAttribute(void) {
   31726     int test_ret = 0;
   31727 
   31728 #if defined(LIBXML_READER_ENABLED)
   31729     int mem_base;
   31730     int ret_val;
   31731     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31732     int n_reader;
   31733 
   31734     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31735         mem_base = xmlMemBlocks();
   31736         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31737 
   31738         ret_val = xmlTextReaderMoveToFirstAttribute(reader);
   31739         desret_int(ret_val);
   31740         call_tests++;
   31741         des_xmlTextReaderPtr(n_reader, reader, 0);
   31742         xmlResetLastError();
   31743         if (mem_base != xmlMemBlocks()) {
   31744             printf("Leak of %d blocks found in xmlTextReaderMoveToFirstAttribute",
   31745 	           xmlMemBlocks() - mem_base);
   31746 	    test_ret++;
   31747             printf(" %d", n_reader);
   31748             printf("\n");
   31749         }
   31750     }
   31751     function_tests++;
   31752 #endif
   31753 
   31754     return(test_ret);
   31755 }
   31756 
   31757 
   31758 static int
   31759 test_xmlTextReaderMoveToNextAttribute(void) {
   31760     int test_ret = 0;
   31761 
   31762 #if defined(LIBXML_READER_ENABLED)
   31763     int mem_base;
   31764     int ret_val;
   31765     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31766     int n_reader;
   31767 
   31768     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31769         mem_base = xmlMemBlocks();
   31770         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31771 
   31772         ret_val = xmlTextReaderMoveToNextAttribute(reader);
   31773         desret_int(ret_val);
   31774         call_tests++;
   31775         des_xmlTextReaderPtr(n_reader, reader, 0);
   31776         xmlResetLastError();
   31777         if (mem_base != xmlMemBlocks()) {
   31778             printf("Leak of %d blocks found in xmlTextReaderMoveToNextAttribute",
   31779 	           xmlMemBlocks() - mem_base);
   31780 	    test_ret++;
   31781             printf(" %d", n_reader);
   31782             printf("\n");
   31783         }
   31784     }
   31785     function_tests++;
   31786 #endif
   31787 
   31788     return(test_ret);
   31789 }
   31790 
   31791 
   31792 static int
   31793 test_xmlTextReaderName(void) {
   31794     int test_ret = 0;
   31795 
   31796 #if defined(LIBXML_READER_ENABLED)
   31797     int mem_base;
   31798     xmlChar * ret_val;
   31799     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31800     int n_reader;
   31801 
   31802     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31803         mem_base = xmlMemBlocks();
   31804         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31805 
   31806         ret_val = xmlTextReaderName(reader);
   31807         desret_xmlChar_ptr(ret_val);
   31808         call_tests++;
   31809         des_xmlTextReaderPtr(n_reader, reader, 0);
   31810         xmlResetLastError();
   31811         if (mem_base != xmlMemBlocks()) {
   31812             printf("Leak of %d blocks found in xmlTextReaderName",
   31813 	           xmlMemBlocks() - mem_base);
   31814 	    test_ret++;
   31815             printf(" %d", n_reader);
   31816             printf("\n");
   31817         }
   31818     }
   31819     function_tests++;
   31820 #endif
   31821 
   31822     return(test_ret);
   31823 }
   31824 
   31825 
   31826 static int
   31827 test_xmlTextReaderNamespaceUri(void) {
   31828     int test_ret = 0;
   31829 
   31830 #if defined(LIBXML_READER_ENABLED)
   31831     int mem_base;
   31832     xmlChar * ret_val;
   31833     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31834     int n_reader;
   31835 
   31836     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31837         mem_base = xmlMemBlocks();
   31838         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31839 
   31840         ret_val = xmlTextReaderNamespaceUri(reader);
   31841         desret_xmlChar_ptr(ret_val);
   31842         call_tests++;
   31843         des_xmlTextReaderPtr(n_reader, reader, 0);
   31844         xmlResetLastError();
   31845         if (mem_base != xmlMemBlocks()) {
   31846             printf("Leak of %d blocks found in xmlTextReaderNamespaceUri",
   31847 	           xmlMemBlocks() - mem_base);
   31848 	    test_ret++;
   31849             printf(" %d", n_reader);
   31850             printf("\n");
   31851         }
   31852     }
   31853     function_tests++;
   31854 #endif
   31855 
   31856     return(test_ret);
   31857 }
   31858 
   31859 
   31860 static int
   31861 test_xmlTextReaderNext(void) {
   31862     int test_ret = 0;
   31863 
   31864 #if defined(LIBXML_READER_ENABLED)
   31865     int mem_base;
   31866     int ret_val;
   31867     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31868     int n_reader;
   31869 
   31870     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31871         mem_base = xmlMemBlocks();
   31872         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31873 
   31874         ret_val = xmlTextReaderNext(reader);
   31875         desret_int(ret_val);
   31876         call_tests++;
   31877         des_xmlTextReaderPtr(n_reader, reader, 0);
   31878         xmlResetLastError();
   31879         if (mem_base != xmlMemBlocks()) {
   31880             printf("Leak of %d blocks found in xmlTextReaderNext",
   31881 	           xmlMemBlocks() - mem_base);
   31882 	    test_ret++;
   31883             printf(" %d", n_reader);
   31884             printf("\n");
   31885         }
   31886     }
   31887     function_tests++;
   31888 #endif
   31889 
   31890     return(test_ret);
   31891 }
   31892 
   31893 
   31894 static int
   31895 test_xmlTextReaderNextSibling(void) {
   31896     int test_ret = 0;
   31897 
   31898 #if defined(LIBXML_READER_ENABLED)
   31899     int mem_base;
   31900     int ret_val;
   31901     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31902     int n_reader;
   31903 
   31904     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31905         mem_base = xmlMemBlocks();
   31906         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31907 
   31908         ret_val = xmlTextReaderNextSibling(reader);
   31909         desret_int(ret_val);
   31910         call_tests++;
   31911         des_xmlTextReaderPtr(n_reader, reader, 0);
   31912         xmlResetLastError();
   31913         if (mem_base != xmlMemBlocks()) {
   31914             printf("Leak of %d blocks found in xmlTextReaderNextSibling",
   31915 	           xmlMemBlocks() - mem_base);
   31916 	    test_ret++;
   31917             printf(" %d", n_reader);
   31918             printf("\n");
   31919         }
   31920     }
   31921     function_tests++;
   31922 #endif
   31923 
   31924     return(test_ret);
   31925 }
   31926 
   31927 
   31928 static int
   31929 test_xmlTextReaderNodeType(void) {
   31930     int test_ret = 0;
   31931 
   31932 #if defined(LIBXML_READER_ENABLED)
   31933     int mem_base;
   31934     int ret_val;
   31935     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31936     int n_reader;
   31937 
   31938     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31939         mem_base = xmlMemBlocks();
   31940         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31941 
   31942         ret_val = xmlTextReaderNodeType(reader);
   31943         desret_int(ret_val);
   31944         call_tests++;
   31945         des_xmlTextReaderPtr(n_reader, reader, 0);
   31946         xmlResetLastError();
   31947         if (mem_base != xmlMemBlocks()) {
   31948             printf("Leak of %d blocks found in xmlTextReaderNodeType",
   31949 	           xmlMemBlocks() - mem_base);
   31950 	    test_ret++;
   31951             printf(" %d", n_reader);
   31952             printf("\n");
   31953         }
   31954     }
   31955     function_tests++;
   31956 #endif
   31957 
   31958     return(test_ret);
   31959 }
   31960 
   31961 
   31962 static int
   31963 test_xmlTextReaderNormalization(void) {
   31964     int test_ret = 0;
   31965 
   31966 #if defined(LIBXML_READER_ENABLED)
   31967     int mem_base;
   31968     int ret_val;
   31969     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   31970     int n_reader;
   31971 
   31972     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   31973         mem_base = xmlMemBlocks();
   31974         reader = gen_xmlTextReaderPtr(n_reader, 0);
   31975 
   31976         ret_val = xmlTextReaderNormalization(reader);
   31977         desret_int(ret_val);
   31978         call_tests++;
   31979         des_xmlTextReaderPtr(n_reader, reader, 0);
   31980         xmlResetLastError();
   31981         if (mem_base != xmlMemBlocks()) {
   31982             printf("Leak of %d blocks found in xmlTextReaderNormalization",
   31983 	           xmlMemBlocks() - mem_base);
   31984 	    test_ret++;
   31985             printf(" %d", n_reader);
   31986             printf("\n");
   31987         }
   31988     }
   31989     function_tests++;
   31990 #endif
   31991 
   31992     return(test_ret);
   31993 }
   31994 
   31995 
   31996 static int
   31997 test_xmlTextReaderPrefix(void) {
   31998     int test_ret = 0;
   31999 
   32000 #if defined(LIBXML_READER_ENABLED)
   32001     int mem_base;
   32002     xmlChar * ret_val;
   32003     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32004     int n_reader;
   32005 
   32006     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32007         mem_base = xmlMemBlocks();
   32008         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32009 
   32010         ret_val = xmlTextReaderPrefix(reader);
   32011         desret_xmlChar_ptr(ret_val);
   32012         call_tests++;
   32013         des_xmlTextReaderPtr(n_reader, reader, 0);
   32014         xmlResetLastError();
   32015         if (mem_base != xmlMemBlocks()) {
   32016             printf("Leak of %d blocks found in xmlTextReaderPrefix",
   32017 	           xmlMemBlocks() - mem_base);
   32018 	    test_ret++;
   32019             printf(" %d", n_reader);
   32020             printf("\n");
   32021         }
   32022     }
   32023     function_tests++;
   32024 #endif
   32025 
   32026     return(test_ret);
   32027 }
   32028 
   32029 
   32030 static int
   32031 test_xmlTextReaderPreserve(void) {
   32032     int test_ret = 0;
   32033 
   32034 #if defined(LIBXML_READER_ENABLED)
   32035     int mem_base;
   32036     xmlNodePtr ret_val;
   32037     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32038     int n_reader;
   32039 
   32040     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32041         mem_base = xmlMemBlocks();
   32042         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32043 
   32044         ret_val = xmlTextReaderPreserve(reader);
   32045         desret_xmlNodePtr(ret_val);
   32046         call_tests++;
   32047         des_xmlTextReaderPtr(n_reader, reader, 0);
   32048         xmlResetLastError();
   32049         if (mem_base != xmlMemBlocks()) {
   32050             printf("Leak of %d blocks found in xmlTextReaderPreserve",
   32051 	           xmlMemBlocks() - mem_base);
   32052 	    test_ret++;
   32053             printf(" %d", n_reader);
   32054             printf("\n");
   32055         }
   32056     }
   32057     function_tests++;
   32058 #endif
   32059 
   32060     return(test_ret);
   32061 }
   32062 
   32063 
   32064 static int
   32065 test_xmlTextReaderPreservePattern(void) {
   32066     int test_ret = 0;
   32067 
   32068 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED)
   32069 #ifdef LIBXML_PATTERN_ENABLED
   32070     int mem_base;
   32071     int ret_val;
   32072     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32073     int n_reader;
   32074     xmlChar * pattern; /* an XPath subset pattern */
   32075     int n_pattern;
   32076     xmlChar ** namespaces; /* the prefix definitions, array of [URI, prefix] or NULL */
   32077     int n_namespaces;
   32078 
   32079     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32080     for (n_pattern = 0;n_pattern < gen_nb_const_xmlChar_ptr;n_pattern++) {
   32081     for (n_namespaces = 0;n_namespaces < gen_nb_const_xmlChar_ptr_ptr;n_namespaces++) {
   32082         mem_base = xmlMemBlocks();
   32083         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32084         pattern = gen_const_xmlChar_ptr(n_pattern, 1);
   32085         namespaces = gen_const_xmlChar_ptr_ptr(n_namespaces, 2);
   32086 
   32087         ret_val = xmlTextReaderPreservePattern(reader, (const xmlChar *)pattern, (const xmlChar **)namespaces);
   32088         desret_int(ret_val);
   32089         call_tests++;
   32090         des_xmlTextReaderPtr(n_reader, reader, 0);
   32091         des_const_xmlChar_ptr(n_pattern, (const xmlChar *)pattern, 1);
   32092         des_const_xmlChar_ptr_ptr(n_namespaces, (const xmlChar **)namespaces, 2);
   32093         xmlResetLastError();
   32094         if (mem_base != xmlMemBlocks()) {
   32095             printf("Leak of %d blocks found in xmlTextReaderPreservePattern",
   32096 	           xmlMemBlocks() - mem_base);
   32097 	    test_ret++;
   32098             printf(" %d", n_reader);
   32099             printf(" %d", n_pattern);
   32100             printf(" %d", n_namespaces);
   32101             printf("\n");
   32102         }
   32103     }
   32104     }
   32105     }
   32106     function_tests++;
   32107 #endif
   32108 #endif
   32109 
   32110     return(test_ret);
   32111 }
   32112 
   32113 
   32114 static int
   32115 test_xmlTextReaderQuoteChar(void) {
   32116     int test_ret = 0;
   32117 
   32118 #if defined(LIBXML_READER_ENABLED)
   32119     int mem_base;
   32120     int ret_val;
   32121     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32122     int n_reader;
   32123 
   32124     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32125         mem_base = xmlMemBlocks();
   32126         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32127 
   32128         ret_val = xmlTextReaderQuoteChar(reader);
   32129         desret_int(ret_val);
   32130         call_tests++;
   32131         des_xmlTextReaderPtr(n_reader, reader, 0);
   32132         xmlResetLastError();
   32133         if (mem_base != xmlMemBlocks()) {
   32134             printf("Leak of %d blocks found in xmlTextReaderQuoteChar",
   32135 	           xmlMemBlocks() - mem_base);
   32136 	    test_ret++;
   32137             printf(" %d", n_reader);
   32138             printf("\n");
   32139         }
   32140     }
   32141     function_tests++;
   32142 #endif
   32143 
   32144     return(test_ret);
   32145 }
   32146 
   32147 
   32148 static int
   32149 test_xmlTextReaderRead(void) {
   32150     int test_ret = 0;
   32151 
   32152 #if defined(LIBXML_READER_ENABLED)
   32153     int mem_base;
   32154     int ret_val;
   32155     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32156     int n_reader;
   32157 
   32158     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32159         mem_base = xmlMemBlocks();
   32160         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32161 
   32162         ret_val = xmlTextReaderRead(reader);
   32163         desret_int(ret_val);
   32164         call_tests++;
   32165         des_xmlTextReaderPtr(n_reader, reader, 0);
   32166         xmlResetLastError();
   32167         if (mem_base != xmlMemBlocks()) {
   32168             printf("Leak of %d blocks found in xmlTextReaderRead",
   32169 	           xmlMemBlocks() - mem_base);
   32170 	    test_ret++;
   32171             printf(" %d", n_reader);
   32172             printf("\n");
   32173         }
   32174     }
   32175     function_tests++;
   32176 #endif
   32177 
   32178     return(test_ret);
   32179 }
   32180 
   32181 
   32182 static int
   32183 test_xmlTextReaderReadAttributeValue(void) {
   32184     int test_ret = 0;
   32185 
   32186 #if defined(LIBXML_READER_ENABLED)
   32187     int mem_base;
   32188     int ret_val;
   32189     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32190     int n_reader;
   32191 
   32192     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32193         mem_base = xmlMemBlocks();
   32194         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32195 
   32196         ret_val = xmlTextReaderReadAttributeValue(reader);
   32197         desret_int(ret_val);
   32198         call_tests++;
   32199         des_xmlTextReaderPtr(n_reader, reader, 0);
   32200         xmlResetLastError();
   32201         if (mem_base != xmlMemBlocks()) {
   32202             printf("Leak of %d blocks found in xmlTextReaderReadAttributeValue",
   32203 	           xmlMemBlocks() - mem_base);
   32204 	    test_ret++;
   32205             printf(" %d", n_reader);
   32206             printf("\n");
   32207         }
   32208     }
   32209     function_tests++;
   32210 #endif
   32211 
   32212     return(test_ret);
   32213 }
   32214 
   32215 
   32216 static int
   32217 test_xmlTextReaderReadState(void) {
   32218     int test_ret = 0;
   32219 
   32220 #if defined(LIBXML_READER_ENABLED)
   32221     int mem_base;
   32222     int ret_val;
   32223     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32224     int n_reader;
   32225 
   32226     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32227         mem_base = xmlMemBlocks();
   32228         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32229 
   32230         ret_val = xmlTextReaderReadState(reader);
   32231         desret_int(ret_val);
   32232         call_tests++;
   32233         des_xmlTextReaderPtr(n_reader, reader, 0);
   32234         xmlResetLastError();
   32235         if (mem_base != xmlMemBlocks()) {
   32236             printf("Leak of %d blocks found in xmlTextReaderReadState",
   32237 	           xmlMemBlocks() - mem_base);
   32238 	    test_ret++;
   32239             printf(" %d", n_reader);
   32240             printf("\n");
   32241         }
   32242     }
   32243     function_tests++;
   32244 #endif
   32245 
   32246     return(test_ret);
   32247 }
   32248 
   32249 
   32250 static int
   32251 test_xmlTextReaderRelaxNGSetSchema(void) {
   32252     int test_ret = 0;
   32253 
   32254 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
   32255     int mem_base;
   32256     int ret_val;
   32257     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32258     int n_reader;
   32259     xmlRelaxNGPtr schema; /* a precompiled RelaxNG schema */
   32260     int n_schema;
   32261 
   32262     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32263     for (n_schema = 0;n_schema < gen_nb_xmlRelaxNGPtr;n_schema++) {
   32264         mem_base = xmlMemBlocks();
   32265         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32266         schema = gen_xmlRelaxNGPtr(n_schema, 1);
   32267 
   32268         ret_val = xmlTextReaderRelaxNGSetSchema(reader, schema);
   32269         desret_int(ret_val);
   32270         call_tests++;
   32271         des_xmlTextReaderPtr(n_reader, reader, 0);
   32272         des_xmlRelaxNGPtr(n_schema, schema, 1);
   32273         xmlResetLastError();
   32274         if (mem_base != xmlMemBlocks()) {
   32275             printf("Leak of %d blocks found in xmlTextReaderRelaxNGSetSchema",
   32276 	           xmlMemBlocks() - mem_base);
   32277 	    test_ret++;
   32278             printf(" %d", n_reader);
   32279             printf(" %d", n_schema);
   32280             printf("\n");
   32281         }
   32282     }
   32283     }
   32284     function_tests++;
   32285 #endif
   32286 
   32287     return(test_ret);
   32288 }
   32289 
   32290 
   32291 static int
   32292 test_xmlTextReaderRelaxNGValidate(void) {
   32293     int test_ret = 0;
   32294 
   32295 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
   32296     int mem_base;
   32297     int ret_val;
   32298     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32299     int n_reader;
   32300     char * rng; /* the path to a RelaxNG schema or NULL */
   32301     int n_rng;
   32302 
   32303     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32304     for (n_rng = 0;n_rng < gen_nb_const_char_ptr;n_rng++) {
   32305         mem_base = xmlMemBlocks();
   32306         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32307         rng = gen_const_char_ptr(n_rng, 1);
   32308 
   32309         ret_val = xmlTextReaderRelaxNGValidate(reader, (const char *)rng);
   32310         desret_int(ret_val);
   32311         call_tests++;
   32312         des_xmlTextReaderPtr(n_reader, reader, 0);
   32313         des_const_char_ptr(n_rng, (const char *)rng, 1);
   32314         xmlResetLastError();
   32315         if (mem_base != xmlMemBlocks()) {
   32316             printf("Leak of %d blocks found in xmlTextReaderRelaxNGValidate",
   32317 	           xmlMemBlocks() - mem_base);
   32318 	    test_ret++;
   32319             printf(" %d", n_reader);
   32320             printf(" %d", n_rng);
   32321             printf("\n");
   32322         }
   32323     }
   32324     }
   32325     function_tests++;
   32326 #endif
   32327 
   32328     return(test_ret);
   32329 }
   32330 
   32331 
   32332 static int
   32333 test_xmlTextReaderSchemaValidate(void) {
   32334     int test_ret = 0;
   32335 
   32336 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
   32337     int ret_val;
   32338     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32339     int n_reader;
   32340     char * xsd; /* the path to a W3C XSD schema or NULL */
   32341     int n_xsd;
   32342 
   32343     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32344     for (n_xsd = 0;n_xsd < gen_nb_const_char_ptr;n_xsd++) {
   32345         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32346         xsd = gen_const_char_ptr(n_xsd, 1);
   32347 
   32348         ret_val = xmlTextReaderSchemaValidate(reader, (const char *)xsd);
   32349         desret_int(ret_val);
   32350         call_tests++;
   32351         des_xmlTextReaderPtr(n_reader, reader, 0);
   32352         des_const_char_ptr(n_xsd, (const char *)xsd, 1);
   32353         xmlResetLastError();
   32354     }
   32355     }
   32356     function_tests++;
   32357 #endif
   32358 
   32359     return(test_ret);
   32360 }
   32361 
   32362 
   32363 static int
   32364 test_xmlTextReaderSchemaValidateCtxt(void) {
   32365     int test_ret = 0;
   32366 
   32367 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
   32368     int mem_base;
   32369     int ret_val;
   32370     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32371     int n_reader;
   32372     xmlSchemaValidCtxtPtr ctxt; /* the XML Schema validation context or NULL */
   32373     int n_ctxt;
   32374     int options; /* options (not used yet) */
   32375     int n_options;
   32376 
   32377     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32378     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   32379     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   32380         mem_base = xmlMemBlocks();
   32381         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32382         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 1);
   32383         options = gen_parseroptions(n_options, 2);
   32384 
   32385         ret_val = xmlTextReaderSchemaValidateCtxt(reader, ctxt, options);
   32386         desret_int(ret_val);
   32387         call_tests++;
   32388         des_xmlTextReaderPtr(n_reader, reader, 0);
   32389         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 1);
   32390         des_parseroptions(n_options, options, 2);
   32391         xmlResetLastError();
   32392         if (mem_base != xmlMemBlocks()) {
   32393             printf("Leak of %d blocks found in xmlTextReaderSchemaValidateCtxt",
   32394 	           xmlMemBlocks() - mem_base);
   32395 	    test_ret++;
   32396             printf(" %d", n_reader);
   32397             printf(" %d", n_ctxt);
   32398             printf(" %d", n_options);
   32399             printf("\n");
   32400         }
   32401     }
   32402     }
   32403     }
   32404     function_tests++;
   32405 #endif
   32406 
   32407     return(test_ret);
   32408 }
   32409 
   32410 
   32411 static int
   32412 test_xmlTextReaderSetErrorHandler(void) {
   32413     int test_ret = 0;
   32414 
   32415 
   32416     /* missing type support */
   32417     return(test_ret);
   32418 }
   32419 
   32420 
   32421 static int
   32422 test_xmlTextReaderSetParserProp(void) {
   32423     int test_ret = 0;
   32424 
   32425 #if defined(LIBXML_READER_ENABLED)
   32426     int mem_base;
   32427     int ret_val;
   32428     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32429     int n_reader;
   32430     int prop; /* the xmlParserProperties to set */
   32431     int n_prop;
   32432     int value; /* usually 0 or 1 to (de)activate it */
   32433     int n_value;
   32434 
   32435     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32436     for (n_prop = 0;n_prop < gen_nb_int;n_prop++) {
   32437     for (n_value = 0;n_value < gen_nb_int;n_value++) {
   32438         mem_base = xmlMemBlocks();
   32439         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32440         prop = gen_int(n_prop, 1);
   32441         value = gen_int(n_value, 2);
   32442 
   32443         ret_val = xmlTextReaderSetParserProp(reader, prop, value);
   32444         desret_int(ret_val);
   32445         call_tests++;
   32446         des_xmlTextReaderPtr(n_reader, reader, 0);
   32447         des_int(n_prop, prop, 1);
   32448         des_int(n_value, value, 2);
   32449         xmlResetLastError();
   32450         if (mem_base != xmlMemBlocks()) {
   32451             printf("Leak of %d blocks found in xmlTextReaderSetParserProp",
   32452 	           xmlMemBlocks() - mem_base);
   32453 	    test_ret++;
   32454             printf(" %d", n_reader);
   32455             printf(" %d", n_prop);
   32456             printf(" %d", n_value);
   32457             printf("\n");
   32458         }
   32459     }
   32460     }
   32461     }
   32462     function_tests++;
   32463 #endif
   32464 
   32465     return(test_ret);
   32466 }
   32467 
   32468 
   32469 static int
   32470 test_xmlTextReaderSetSchema(void) {
   32471     int test_ret = 0;
   32472 
   32473 #if defined(LIBXML_READER_ENABLED) && defined(LIBXML_SCHEMAS_ENABLED)
   32474     int mem_base;
   32475     int ret_val;
   32476     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32477     int n_reader;
   32478     xmlSchemaPtr schema; /* a precompiled Schema schema */
   32479     int n_schema;
   32480 
   32481     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32482     for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
   32483         mem_base = xmlMemBlocks();
   32484         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32485         schema = gen_xmlSchemaPtr(n_schema, 1);
   32486 
   32487         ret_val = xmlTextReaderSetSchema(reader, schema);
   32488         desret_int(ret_val);
   32489         call_tests++;
   32490         des_xmlTextReaderPtr(n_reader, reader, 0);
   32491         des_xmlSchemaPtr(n_schema, schema, 1);
   32492         xmlResetLastError();
   32493         if (mem_base != xmlMemBlocks()) {
   32494             printf("Leak of %d blocks found in xmlTextReaderSetSchema",
   32495 	           xmlMemBlocks() - mem_base);
   32496 	    test_ret++;
   32497             printf(" %d", n_reader);
   32498             printf(" %d", n_schema);
   32499             printf("\n");
   32500         }
   32501     }
   32502     }
   32503     function_tests++;
   32504 #endif
   32505 
   32506     return(test_ret);
   32507 }
   32508 
   32509 
   32510 static int
   32511 test_xmlTextReaderSetStructuredErrorHandler(void) {
   32512     int test_ret = 0;
   32513 
   32514 
   32515     /* missing type support */
   32516     return(test_ret);
   32517 }
   32518 
   32519 
   32520 static int
   32521 test_xmlTextReaderSetup(void) {
   32522     int test_ret = 0;
   32523 
   32524 #if defined(LIBXML_READER_ENABLED)
   32525     int mem_base;
   32526     int ret_val;
   32527     xmlTextReaderPtr reader; /* an XML reader */
   32528     int n_reader;
   32529     xmlParserInputBufferPtr input; /* xmlParserInputBufferPtr used to feed the reader, will be destroyed with it. */
   32530     int n_input;
   32531     const char * URL; /* the base URL to use for the document */
   32532     int n_URL;
   32533     char * encoding; /* the document encoding, or NULL */
   32534     int n_encoding;
   32535     int options; /* a combination of xmlParserOption */
   32536     int n_options;
   32537 
   32538     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32539     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
   32540     for (n_URL = 0;n_URL < gen_nb_filepath;n_URL++) {
   32541     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   32542     for (n_options = 0;n_options < gen_nb_parseroptions;n_options++) {
   32543         mem_base = xmlMemBlocks();
   32544         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32545         input = gen_xmlParserInputBufferPtr(n_input, 1);
   32546         URL = gen_filepath(n_URL, 2);
   32547         encoding = gen_const_char_ptr(n_encoding, 3);
   32548         options = gen_parseroptions(n_options, 4);
   32549 
   32550         ret_val = xmlTextReaderSetup(reader, input, URL, (const char *)encoding, options);
   32551         desret_int(ret_val);
   32552         call_tests++;
   32553         des_xmlTextReaderPtr(n_reader, reader, 0);
   32554         des_filepath(n_URL, URL, 2);
   32555         des_const_char_ptr(n_encoding, (const char *)encoding, 3);
   32556         des_parseroptions(n_options, options, 4);
   32557         xmlResetLastError();
   32558         if (mem_base != xmlMemBlocks()) {
   32559             printf("Leak of %d blocks found in xmlTextReaderSetup",
   32560 	           xmlMemBlocks() - mem_base);
   32561 	    test_ret++;
   32562             printf(" %d", n_reader);
   32563             printf(" %d", n_input);
   32564             printf(" %d", n_URL);
   32565             printf(" %d", n_encoding);
   32566             printf(" %d", n_options);
   32567             printf("\n");
   32568         }
   32569     }
   32570     }
   32571     }
   32572     }
   32573     }
   32574     function_tests++;
   32575 #endif
   32576 
   32577     return(test_ret);
   32578 }
   32579 
   32580 
   32581 static int
   32582 test_xmlTextReaderStandalone(void) {
   32583     int test_ret = 0;
   32584 
   32585 #if defined(LIBXML_READER_ENABLED)
   32586     int mem_base;
   32587     int ret_val;
   32588     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32589     int n_reader;
   32590 
   32591     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32592         mem_base = xmlMemBlocks();
   32593         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32594 
   32595         ret_val = xmlTextReaderStandalone(reader);
   32596         desret_int(ret_val);
   32597         call_tests++;
   32598         des_xmlTextReaderPtr(n_reader, reader, 0);
   32599         xmlResetLastError();
   32600         if (mem_base != xmlMemBlocks()) {
   32601             printf("Leak of %d blocks found in xmlTextReaderStandalone",
   32602 	           xmlMemBlocks() - mem_base);
   32603 	    test_ret++;
   32604             printf(" %d", n_reader);
   32605             printf("\n");
   32606         }
   32607     }
   32608     function_tests++;
   32609 #endif
   32610 
   32611     return(test_ret);
   32612 }
   32613 
   32614 
   32615 static int
   32616 test_xmlTextReaderValue(void) {
   32617     int test_ret = 0;
   32618 
   32619 #if defined(LIBXML_READER_ENABLED)
   32620     int mem_base;
   32621     xmlChar * ret_val;
   32622     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32623     int n_reader;
   32624 
   32625     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32626         mem_base = xmlMemBlocks();
   32627         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32628 
   32629         ret_val = xmlTextReaderValue(reader);
   32630         desret_xmlChar_ptr(ret_val);
   32631         call_tests++;
   32632         des_xmlTextReaderPtr(n_reader, reader, 0);
   32633         xmlResetLastError();
   32634         if (mem_base != xmlMemBlocks()) {
   32635             printf("Leak of %d blocks found in xmlTextReaderValue",
   32636 	           xmlMemBlocks() - mem_base);
   32637 	    test_ret++;
   32638             printf(" %d", n_reader);
   32639             printf("\n");
   32640         }
   32641     }
   32642     function_tests++;
   32643 #endif
   32644 
   32645     return(test_ret);
   32646 }
   32647 
   32648 
   32649 static int
   32650 test_xmlTextReaderXmlLang(void) {
   32651     int test_ret = 0;
   32652 
   32653 #if defined(LIBXML_READER_ENABLED)
   32654     int mem_base;
   32655     xmlChar * ret_val;
   32656     xmlTextReaderPtr reader; /* the xmlTextReaderPtr used */
   32657     int n_reader;
   32658 
   32659     for (n_reader = 0;n_reader < gen_nb_xmlTextReaderPtr;n_reader++) {
   32660         mem_base = xmlMemBlocks();
   32661         reader = gen_xmlTextReaderPtr(n_reader, 0);
   32662 
   32663         ret_val = xmlTextReaderXmlLang(reader);
   32664         desret_xmlChar_ptr(ret_val);
   32665         call_tests++;
   32666         des_xmlTextReaderPtr(n_reader, reader, 0);
   32667         xmlResetLastError();
   32668         if (mem_base != xmlMemBlocks()) {
   32669             printf("Leak of %d blocks found in xmlTextReaderXmlLang",
   32670 	           xmlMemBlocks() - mem_base);
   32671 	    test_ret++;
   32672             printf(" %d", n_reader);
   32673             printf("\n");
   32674         }
   32675     }
   32676     function_tests++;
   32677 #endif
   32678 
   32679     return(test_ret);
   32680 }
   32681 
   32682 static int
   32683 test_xmlreader(void) {
   32684     int test_ret = 0;
   32685 
   32686     if (quiet == 0) printf("Testing xmlreader : 75 of 85 functions ...\n");
   32687     test_ret += test_xmlNewTextReader();
   32688     test_ret += test_xmlNewTextReaderFilename();
   32689     test_ret += test_xmlReaderForDoc();
   32690     test_ret += test_xmlReaderForFile();
   32691     test_ret += test_xmlReaderForMemory();
   32692     test_ret += test_xmlReaderNewDoc();
   32693     test_ret += test_xmlReaderNewFile();
   32694     test_ret += test_xmlReaderNewMemory();
   32695     test_ret += test_xmlReaderNewWalker();
   32696     test_ret += test_xmlReaderWalker();
   32697     test_ret += test_xmlTextReaderAttributeCount();
   32698     test_ret += test_xmlTextReaderBaseUri();
   32699     test_ret += test_xmlTextReaderByteConsumed();
   32700     test_ret += test_xmlTextReaderClose();
   32701     test_ret += test_xmlTextReaderConstBaseUri();
   32702     test_ret += test_xmlTextReaderConstEncoding();
   32703     test_ret += test_xmlTextReaderConstLocalName();
   32704     test_ret += test_xmlTextReaderConstName();
   32705     test_ret += test_xmlTextReaderConstNamespaceUri();
   32706     test_ret += test_xmlTextReaderConstPrefix();
   32707     test_ret += test_xmlTextReaderConstString();
   32708     test_ret += test_xmlTextReaderConstValue();
   32709     test_ret += test_xmlTextReaderConstXmlLang();
   32710     test_ret += test_xmlTextReaderConstXmlVersion();
   32711     test_ret += test_xmlTextReaderCurrentDoc();
   32712     test_ret += test_xmlTextReaderCurrentNode();
   32713     test_ret += test_xmlTextReaderDepth();
   32714     test_ret += test_xmlTextReaderExpand();
   32715     test_ret += test_xmlTextReaderGetAttribute();
   32716     test_ret += test_xmlTextReaderGetAttributeNo();
   32717     test_ret += test_xmlTextReaderGetAttributeNs();
   32718     test_ret += test_xmlTextReaderGetErrorHandler();
   32719     test_ret += test_xmlTextReaderGetParserColumnNumber();
   32720     test_ret += test_xmlTextReaderGetParserLineNumber();
   32721     test_ret += test_xmlTextReaderGetParserProp();
   32722     test_ret += test_xmlTextReaderGetRemainder();
   32723     test_ret += test_xmlTextReaderHasAttributes();
   32724     test_ret += test_xmlTextReaderHasValue();
   32725     test_ret += test_xmlTextReaderIsDefault();
   32726     test_ret += test_xmlTextReaderIsEmptyElement();
   32727     test_ret += test_xmlTextReaderIsNamespaceDecl();
   32728     test_ret += test_xmlTextReaderIsValid();
   32729     test_ret += test_xmlTextReaderLocalName();
   32730     test_ret += test_xmlTextReaderLocatorBaseURI();
   32731     test_ret += test_xmlTextReaderLocatorLineNumber();
   32732     test_ret += test_xmlTextReaderLookupNamespace();
   32733     test_ret += test_xmlTextReaderMoveToAttribute();
   32734     test_ret += test_xmlTextReaderMoveToAttributeNo();
   32735     test_ret += test_xmlTextReaderMoveToAttributeNs();
   32736     test_ret += test_xmlTextReaderMoveToElement();
   32737     test_ret += test_xmlTextReaderMoveToFirstAttribute();
   32738     test_ret += test_xmlTextReaderMoveToNextAttribute();
   32739     test_ret += test_xmlTextReaderName();
   32740     test_ret += test_xmlTextReaderNamespaceUri();
   32741     test_ret += test_xmlTextReaderNext();
   32742     test_ret += test_xmlTextReaderNextSibling();
   32743     test_ret += test_xmlTextReaderNodeType();
   32744     test_ret += test_xmlTextReaderNormalization();
   32745     test_ret += test_xmlTextReaderPrefix();
   32746     test_ret += test_xmlTextReaderPreserve();
   32747     test_ret += test_xmlTextReaderPreservePattern();
   32748     test_ret += test_xmlTextReaderQuoteChar();
   32749     test_ret += test_xmlTextReaderRead();
   32750     test_ret += test_xmlTextReaderReadAttributeValue();
   32751     test_ret += test_xmlTextReaderReadState();
   32752     test_ret += test_xmlTextReaderRelaxNGSetSchema();
   32753     test_ret += test_xmlTextReaderRelaxNGValidate();
   32754     test_ret += test_xmlTextReaderSchemaValidate();
   32755     test_ret += test_xmlTextReaderSchemaValidateCtxt();
   32756     test_ret += test_xmlTextReaderSetErrorHandler();
   32757     test_ret += test_xmlTextReaderSetParserProp();
   32758     test_ret += test_xmlTextReaderSetSchema();
   32759     test_ret += test_xmlTextReaderSetStructuredErrorHandler();
   32760     test_ret += test_xmlTextReaderSetup();
   32761     test_ret += test_xmlTextReaderStandalone();
   32762     test_ret += test_xmlTextReaderValue();
   32763     test_ret += test_xmlTextReaderXmlLang();
   32764 
   32765     if (test_ret != 0)
   32766 	printf("Module xmlreader: %d errors\n", test_ret);
   32767     return(test_ret);
   32768 }
   32769 
   32770 static int
   32771 test_xmlExpCtxtNbCons(void) {
   32772     int test_ret = 0;
   32773 
   32774 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   32775     int mem_base;
   32776     int ret_val;
   32777     xmlExpCtxtPtr ctxt; /* an expression context */
   32778     int n_ctxt;
   32779 
   32780     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
   32781         mem_base = xmlMemBlocks();
   32782         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
   32783 
   32784         ret_val = xmlExpCtxtNbCons(ctxt);
   32785         desret_int(ret_val);
   32786         call_tests++;
   32787         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
   32788         xmlResetLastError();
   32789         if (mem_base != xmlMemBlocks()) {
   32790             printf("Leak of %d blocks found in xmlExpCtxtNbCons",
   32791 	           xmlMemBlocks() - mem_base);
   32792 	    test_ret++;
   32793             printf(" %d", n_ctxt);
   32794             printf("\n");
   32795         }
   32796     }
   32797     function_tests++;
   32798 #endif
   32799 
   32800     return(test_ret);
   32801 }
   32802 
   32803 
   32804 static int
   32805 test_xmlExpCtxtNbNodes(void) {
   32806     int test_ret = 0;
   32807 
   32808 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   32809     int mem_base;
   32810     int ret_val;
   32811     xmlExpCtxtPtr ctxt; /* an expression context */
   32812     int n_ctxt;
   32813 
   32814     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
   32815         mem_base = xmlMemBlocks();
   32816         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
   32817 
   32818         ret_val = xmlExpCtxtNbNodes(ctxt);
   32819         desret_int(ret_val);
   32820         call_tests++;
   32821         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
   32822         xmlResetLastError();
   32823         if (mem_base != xmlMemBlocks()) {
   32824             printf("Leak of %d blocks found in xmlExpCtxtNbNodes",
   32825 	           xmlMemBlocks() - mem_base);
   32826 	    test_ret++;
   32827             printf(" %d", n_ctxt);
   32828             printf("\n");
   32829         }
   32830     }
   32831     function_tests++;
   32832 #endif
   32833 
   32834     return(test_ret);
   32835 }
   32836 
   32837 
   32838 static int
   32839 test_xmlExpDump(void) {
   32840     int test_ret = 0;
   32841 
   32842 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   32843     int mem_base;
   32844     xmlBufferPtr buf; /* a buffer to receive the output */
   32845     int n_buf;
   32846     xmlExpNodePtr expr; /* the compiled expression */
   32847     int n_expr;
   32848 
   32849     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   32850     for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
   32851         mem_base = xmlMemBlocks();
   32852         buf = gen_xmlBufferPtr(n_buf, 0);
   32853         expr = gen_xmlExpNodePtr(n_expr, 1);
   32854 
   32855         xmlExpDump(buf, expr);
   32856         call_tests++;
   32857         des_xmlBufferPtr(n_buf, buf, 0);
   32858         des_xmlExpNodePtr(n_expr, expr, 1);
   32859         xmlResetLastError();
   32860         if (mem_base != xmlMemBlocks()) {
   32861             printf("Leak of %d blocks found in xmlExpDump",
   32862 	           xmlMemBlocks() - mem_base);
   32863 	    test_ret++;
   32864             printf(" %d", n_buf);
   32865             printf(" %d", n_expr);
   32866             printf("\n");
   32867         }
   32868     }
   32869     }
   32870     function_tests++;
   32871 #endif
   32872 
   32873     return(test_ret);
   32874 }
   32875 
   32876 
   32877 static int
   32878 test_xmlExpExpDerive(void) {
   32879     int test_ret = 0;
   32880 
   32881 
   32882     /* missing type support */
   32883     return(test_ret);
   32884 }
   32885 
   32886 
   32887 static int
   32888 test_xmlExpGetLanguage(void) {
   32889     int test_ret = 0;
   32890 
   32891 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   32892     int mem_base;
   32893     int ret_val;
   32894     xmlExpCtxtPtr ctxt; /* the expression context */
   32895     int n_ctxt;
   32896     xmlExpNodePtr exp; /* the expression */
   32897     int n_exp;
   32898     xmlChar ** langList; /* where to store the tokens */
   32899     int n_langList;
   32900     int len; /* the allocated lenght of @list */
   32901     int n_len;
   32902 
   32903     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
   32904     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
   32905     for (n_langList = 0;n_langList < gen_nb_const_xmlChar_ptr_ptr;n_langList++) {
   32906     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   32907         mem_base = xmlMemBlocks();
   32908         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
   32909         exp = gen_xmlExpNodePtr(n_exp, 1);
   32910         langList = gen_const_xmlChar_ptr_ptr(n_langList, 2);
   32911         len = gen_int(n_len, 3);
   32912 
   32913         ret_val = xmlExpGetLanguage(ctxt, exp, (const xmlChar **)langList, len);
   32914         desret_int(ret_val);
   32915         call_tests++;
   32916         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
   32917         des_xmlExpNodePtr(n_exp, exp, 1);
   32918         des_const_xmlChar_ptr_ptr(n_langList, (const xmlChar **)langList, 2);
   32919         des_int(n_len, len, 3);
   32920         xmlResetLastError();
   32921         if (mem_base != xmlMemBlocks()) {
   32922             printf("Leak of %d blocks found in xmlExpGetLanguage",
   32923 	           xmlMemBlocks() - mem_base);
   32924 	    test_ret++;
   32925             printf(" %d", n_ctxt);
   32926             printf(" %d", n_exp);
   32927             printf(" %d", n_langList);
   32928             printf(" %d", n_len);
   32929             printf("\n");
   32930         }
   32931     }
   32932     }
   32933     }
   32934     }
   32935     function_tests++;
   32936 #endif
   32937 
   32938     return(test_ret);
   32939 }
   32940 
   32941 
   32942 static int
   32943 test_xmlExpGetStart(void) {
   32944     int test_ret = 0;
   32945 
   32946 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   32947     int mem_base;
   32948     int ret_val;
   32949     xmlExpCtxtPtr ctxt; /* the expression context */
   32950     int n_ctxt;
   32951     xmlExpNodePtr exp; /* the expression */
   32952     int n_exp;
   32953     xmlChar ** tokList; /* where to store the tokens */
   32954     int n_tokList;
   32955     int len; /* the allocated lenght of @list */
   32956     int n_len;
   32957 
   32958     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
   32959     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
   32960     for (n_tokList = 0;n_tokList < gen_nb_const_xmlChar_ptr_ptr;n_tokList++) {
   32961     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   32962         mem_base = xmlMemBlocks();
   32963         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
   32964         exp = gen_xmlExpNodePtr(n_exp, 1);
   32965         tokList = gen_const_xmlChar_ptr_ptr(n_tokList, 2);
   32966         len = gen_int(n_len, 3);
   32967 
   32968         ret_val = xmlExpGetStart(ctxt, exp, (const xmlChar **)tokList, len);
   32969         desret_int(ret_val);
   32970         call_tests++;
   32971         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
   32972         des_xmlExpNodePtr(n_exp, exp, 1);
   32973         des_const_xmlChar_ptr_ptr(n_tokList, (const xmlChar **)tokList, 2);
   32974         des_int(n_len, len, 3);
   32975         xmlResetLastError();
   32976         if (mem_base != xmlMemBlocks()) {
   32977             printf("Leak of %d blocks found in xmlExpGetStart",
   32978 	           xmlMemBlocks() - mem_base);
   32979 	    test_ret++;
   32980             printf(" %d", n_ctxt);
   32981             printf(" %d", n_exp);
   32982             printf(" %d", n_tokList);
   32983             printf(" %d", n_len);
   32984             printf("\n");
   32985         }
   32986     }
   32987     }
   32988     }
   32989     }
   32990     function_tests++;
   32991 #endif
   32992 
   32993     return(test_ret);
   32994 }
   32995 
   32996 
   32997 static int
   32998 test_xmlExpIsNillable(void) {
   32999     int test_ret = 0;
   33000 
   33001 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   33002     int mem_base;
   33003     int ret_val;
   33004     xmlExpNodePtr exp; /* the expression */
   33005     int n_exp;
   33006 
   33007     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
   33008         mem_base = xmlMemBlocks();
   33009         exp = gen_xmlExpNodePtr(n_exp, 0);
   33010 
   33011         ret_val = xmlExpIsNillable(exp);
   33012         desret_int(ret_val);
   33013         call_tests++;
   33014         des_xmlExpNodePtr(n_exp, exp, 0);
   33015         xmlResetLastError();
   33016         if (mem_base != xmlMemBlocks()) {
   33017             printf("Leak of %d blocks found in xmlExpIsNillable",
   33018 	           xmlMemBlocks() - mem_base);
   33019 	    test_ret++;
   33020             printf(" %d", n_exp);
   33021             printf("\n");
   33022         }
   33023     }
   33024     function_tests++;
   33025 #endif
   33026 
   33027     return(test_ret);
   33028 }
   33029 
   33030 
   33031 static int
   33032 test_xmlExpMaxToken(void) {
   33033     int test_ret = 0;
   33034 
   33035 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   33036     int mem_base;
   33037     int ret_val;
   33038     xmlExpNodePtr expr; /* a compiled expression */
   33039     int n_expr;
   33040 
   33041     for (n_expr = 0;n_expr < gen_nb_xmlExpNodePtr;n_expr++) {
   33042         mem_base = xmlMemBlocks();
   33043         expr = gen_xmlExpNodePtr(n_expr, 0);
   33044 
   33045         ret_val = xmlExpMaxToken(expr);
   33046         desret_int(ret_val);
   33047         call_tests++;
   33048         des_xmlExpNodePtr(n_expr, expr, 0);
   33049         xmlResetLastError();
   33050         if (mem_base != xmlMemBlocks()) {
   33051             printf("Leak of %d blocks found in xmlExpMaxToken",
   33052 	           xmlMemBlocks() - mem_base);
   33053 	    test_ret++;
   33054             printf(" %d", n_expr);
   33055             printf("\n");
   33056         }
   33057     }
   33058     function_tests++;
   33059 #endif
   33060 
   33061     return(test_ret);
   33062 }
   33063 
   33064 
   33065 static int
   33066 test_xmlExpNewAtom(void) {
   33067     int test_ret = 0;
   33068 
   33069 
   33070     /* missing type support */
   33071     return(test_ret);
   33072 }
   33073 
   33074 
   33075 static int
   33076 test_xmlExpNewCtxt(void) {
   33077     int test_ret = 0;
   33078 
   33079 
   33080     /* missing type support */
   33081     return(test_ret);
   33082 }
   33083 
   33084 
   33085 static int
   33086 test_xmlExpNewOr(void) {
   33087     int test_ret = 0;
   33088 
   33089 
   33090     /* missing type support */
   33091     return(test_ret);
   33092 }
   33093 
   33094 
   33095 static int
   33096 test_xmlExpNewRange(void) {
   33097     int test_ret = 0;
   33098 
   33099 
   33100     /* missing type support */
   33101     return(test_ret);
   33102 }
   33103 
   33104 
   33105 static int
   33106 test_xmlExpNewSeq(void) {
   33107     int test_ret = 0;
   33108 
   33109 
   33110     /* missing type support */
   33111     return(test_ret);
   33112 }
   33113 
   33114 
   33115 static int
   33116 test_xmlExpParse(void) {
   33117     int test_ret = 0;
   33118 
   33119 
   33120     /* missing type support */
   33121     return(test_ret);
   33122 }
   33123 
   33124 
   33125 static int
   33126 test_xmlExpRef(void) {
   33127     int test_ret = 0;
   33128 
   33129 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   33130     int mem_base;
   33131     xmlExpNodePtr exp; /* the expression */
   33132     int n_exp;
   33133 
   33134     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
   33135         mem_base = xmlMemBlocks();
   33136         exp = gen_xmlExpNodePtr(n_exp, 0);
   33137 
   33138         xmlExpRef(exp);
   33139         call_tests++;
   33140         des_xmlExpNodePtr(n_exp, exp, 0);
   33141         xmlResetLastError();
   33142         if (mem_base != xmlMemBlocks()) {
   33143             printf("Leak of %d blocks found in xmlExpRef",
   33144 	           xmlMemBlocks() - mem_base);
   33145 	    test_ret++;
   33146             printf(" %d", n_exp);
   33147             printf("\n");
   33148         }
   33149     }
   33150     function_tests++;
   33151 #endif
   33152 
   33153     return(test_ret);
   33154 }
   33155 
   33156 
   33157 static int
   33158 test_xmlExpStringDerive(void) {
   33159     int test_ret = 0;
   33160 
   33161 
   33162     /* missing type support */
   33163     return(test_ret);
   33164 }
   33165 
   33166 
   33167 static int
   33168 test_xmlExpSubsume(void) {
   33169     int test_ret = 0;
   33170 
   33171 #if defined(LIBXML_REGEXP_ENABLED) && defined(LIBXML_EXPR_ENABLED)
   33172     int mem_base;
   33173     int ret_val;
   33174     xmlExpCtxtPtr ctxt; /* the expressions context */
   33175     int n_ctxt;
   33176     xmlExpNodePtr exp; /* the englobing expression */
   33177     int n_exp;
   33178     xmlExpNodePtr sub; /* the subexpression */
   33179     int n_sub;
   33180 
   33181     for (n_ctxt = 0;n_ctxt < gen_nb_xmlExpCtxtPtr;n_ctxt++) {
   33182     for (n_exp = 0;n_exp < gen_nb_xmlExpNodePtr;n_exp++) {
   33183     for (n_sub = 0;n_sub < gen_nb_xmlExpNodePtr;n_sub++) {
   33184         mem_base = xmlMemBlocks();
   33185         ctxt = gen_xmlExpCtxtPtr(n_ctxt, 0);
   33186         exp = gen_xmlExpNodePtr(n_exp, 1);
   33187         sub = gen_xmlExpNodePtr(n_sub, 2);
   33188 
   33189         ret_val = xmlExpSubsume(ctxt, exp, sub);
   33190         desret_int(ret_val);
   33191         call_tests++;
   33192         des_xmlExpCtxtPtr(n_ctxt, ctxt, 0);
   33193         des_xmlExpNodePtr(n_exp, exp, 1);
   33194         des_xmlExpNodePtr(n_sub, sub, 2);
   33195         xmlResetLastError();
   33196         if (mem_base != xmlMemBlocks()) {
   33197             printf("Leak of %d blocks found in xmlExpSubsume",
   33198 	           xmlMemBlocks() - mem_base);
   33199 	    test_ret++;
   33200             printf(" %d", n_ctxt);
   33201             printf(" %d", n_exp);
   33202             printf(" %d", n_sub);
   33203             printf("\n");
   33204         }
   33205     }
   33206     }
   33207     }
   33208     function_tests++;
   33209 #endif
   33210 
   33211     return(test_ret);
   33212 }
   33213 
   33214 #ifdef LIBXML_REGEXP_ENABLED
   33215 
   33216 #define gen_nb_xmlRegExecCtxtPtr 1
   33217 static xmlRegExecCtxtPtr gen_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33218     return(NULL);
   33219 }
   33220 static void des_xmlRegExecCtxtPtr(int no ATTRIBUTE_UNUSED, xmlRegExecCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33221 }
   33222 #endif
   33223 
   33224 
   33225 static int
   33226 test_xmlRegExecErrInfo(void) {
   33227     int test_ret = 0;
   33228 
   33229 #if defined(LIBXML_REGEXP_ENABLED)
   33230     int mem_base;
   33231     int ret_val;
   33232     xmlRegExecCtxtPtr exec; /* a regexp execution context generating an error */
   33233     int n_exec;
   33234     xmlChar ** string; /* return value for the error string */
   33235     int n_string;
   33236     int * nbval; /* pointer to the number of accepted values IN/OUT */
   33237     int n_nbval;
   33238     int * nbneg; /* return number of negative transitions */
   33239     int n_nbneg;
   33240     xmlChar ** values; /* pointer to the array of acceptable values */
   33241     int n_values;
   33242     int * terminal; /* return value if this was a terminal state */
   33243     int n_terminal;
   33244 
   33245     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
   33246     for (n_string = 0;n_string < gen_nb_const_xmlChar_ptr_ptr;n_string++) {
   33247     for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
   33248     for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
   33249     for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
   33250     for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
   33251         mem_base = xmlMemBlocks();
   33252         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
   33253         string = gen_const_xmlChar_ptr_ptr(n_string, 1);
   33254         nbval = gen_int_ptr(n_nbval, 2);
   33255         nbneg = gen_int_ptr(n_nbneg, 3);
   33256         values = gen_xmlChar_ptr_ptr(n_values, 4);
   33257         terminal = gen_int_ptr(n_terminal, 5);
   33258 
   33259         ret_val = xmlRegExecErrInfo(exec, (const xmlChar **)string, nbval, nbneg, values, terminal);
   33260         desret_int(ret_val);
   33261         call_tests++;
   33262         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
   33263         des_const_xmlChar_ptr_ptr(n_string, (const xmlChar **)string, 1);
   33264         des_int_ptr(n_nbval, nbval, 2);
   33265         des_int_ptr(n_nbneg, nbneg, 3);
   33266         des_xmlChar_ptr_ptr(n_values, values, 4);
   33267         des_int_ptr(n_terminal, terminal, 5);
   33268         xmlResetLastError();
   33269         if (mem_base != xmlMemBlocks()) {
   33270             printf("Leak of %d blocks found in xmlRegExecErrInfo",
   33271 	           xmlMemBlocks() - mem_base);
   33272 	    test_ret++;
   33273             printf(" %d", n_exec);
   33274             printf(" %d", n_string);
   33275             printf(" %d", n_nbval);
   33276             printf(" %d", n_nbneg);
   33277             printf(" %d", n_values);
   33278             printf(" %d", n_terminal);
   33279             printf("\n");
   33280         }
   33281     }
   33282     }
   33283     }
   33284     }
   33285     }
   33286     }
   33287     function_tests++;
   33288 #endif
   33289 
   33290     return(test_ret);
   33291 }
   33292 
   33293 
   33294 static int
   33295 test_xmlRegExecNextValues(void) {
   33296     int test_ret = 0;
   33297 
   33298 #if defined(LIBXML_REGEXP_ENABLED)
   33299     int mem_base;
   33300     int ret_val;
   33301     xmlRegExecCtxtPtr exec; /* a regexp execution context */
   33302     int n_exec;
   33303     int * nbval; /* pointer to the number of accepted values IN/OUT */
   33304     int n_nbval;
   33305     int * nbneg; /* return number of negative transitions */
   33306     int n_nbneg;
   33307     xmlChar ** values; /* pointer to the array of acceptable values */
   33308     int n_values;
   33309     int * terminal; /* return value if this was a terminal state */
   33310     int n_terminal;
   33311 
   33312     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
   33313     for (n_nbval = 0;n_nbval < gen_nb_int_ptr;n_nbval++) {
   33314     for (n_nbneg = 0;n_nbneg < gen_nb_int_ptr;n_nbneg++) {
   33315     for (n_values = 0;n_values < gen_nb_xmlChar_ptr_ptr;n_values++) {
   33316     for (n_terminal = 0;n_terminal < gen_nb_int_ptr;n_terminal++) {
   33317         mem_base = xmlMemBlocks();
   33318         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
   33319         nbval = gen_int_ptr(n_nbval, 1);
   33320         nbneg = gen_int_ptr(n_nbneg, 2);
   33321         values = gen_xmlChar_ptr_ptr(n_values, 3);
   33322         terminal = gen_int_ptr(n_terminal, 4);
   33323 
   33324         ret_val = xmlRegExecNextValues(exec, nbval, nbneg, values, terminal);
   33325         desret_int(ret_val);
   33326         call_tests++;
   33327         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
   33328         des_int_ptr(n_nbval, nbval, 1);
   33329         des_int_ptr(n_nbneg, nbneg, 2);
   33330         des_xmlChar_ptr_ptr(n_values, values, 3);
   33331         des_int_ptr(n_terminal, terminal, 4);
   33332         xmlResetLastError();
   33333         if (mem_base != xmlMemBlocks()) {
   33334             printf("Leak of %d blocks found in xmlRegExecNextValues",
   33335 	           xmlMemBlocks() - mem_base);
   33336 	    test_ret++;
   33337             printf(" %d", n_exec);
   33338             printf(" %d", n_nbval);
   33339             printf(" %d", n_nbneg);
   33340             printf(" %d", n_values);
   33341             printf(" %d", n_terminal);
   33342             printf("\n");
   33343         }
   33344     }
   33345     }
   33346     }
   33347     }
   33348     }
   33349     function_tests++;
   33350 #endif
   33351 
   33352     return(test_ret);
   33353 }
   33354 
   33355 
   33356 static int
   33357 test_xmlRegExecPushString(void) {
   33358     int test_ret = 0;
   33359 
   33360 #if defined(LIBXML_REGEXP_ENABLED)
   33361     int mem_base;
   33362     int ret_val;
   33363     xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
   33364     int n_exec;
   33365     xmlChar * value; /* a string token input */
   33366     int n_value;
   33367     void * data; /* data associated to the token to reuse in callbacks */
   33368     int n_data;
   33369 
   33370     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
   33371     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   33372     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   33373         mem_base = xmlMemBlocks();
   33374         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
   33375         value = gen_const_xmlChar_ptr(n_value, 1);
   33376         data = gen_userdata(n_data, 2);
   33377 
   33378         ret_val = xmlRegExecPushString(exec, (const xmlChar *)value, data);
   33379         desret_int(ret_val);
   33380         call_tests++;
   33381         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
   33382         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   33383         des_userdata(n_data, data, 2);
   33384         xmlResetLastError();
   33385         if (mem_base != xmlMemBlocks()) {
   33386             printf("Leak of %d blocks found in xmlRegExecPushString",
   33387 	           xmlMemBlocks() - mem_base);
   33388 	    test_ret++;
   33389             printf(" %d", n_exec);
   33390             printf(" %d", n_value);
   33391             printf(" %d", n_data);
   33392             printf("\n");
   33393         }
   33394     }
   33395     }
   33396     }
   33397     function_tests++;
   33398 #endif
   33399 
   33400     return(test_ret);
   33401 }
   33402 
   33403 
   33404 static int
   33405 test_xmlRegExecPushString2(void) {
   33406     int test_ret = 0;
   33407 
   33408 #if defined(LIBXML_REGEXP_ENABLED)
   33409     int mem_base;
   33410     int ret_val;
   33411     xmlRegExecCtxtPtr exec; /* a regexp execution context or NULL to indicate the end */
   33412     int n_exec;
   33413     xmlChar * value; /* the first string token input */
   33414     int n_value;
   33415     xmlChar * value2; /* the second string token input */
   33416     int n_value2;
   33417     void * data; /* data associated to the token to reuse in callbacks */
   33418     int n_data;
   33419 
   33420     for (n_exec = 0;n_exec < gen_nb_xmlRegExecCtxtPtr;n_exec++) {
   33421     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   33422     for (n_value2 = 0;n_value2 < gen_nb_const_xmlChar_ptr;n_value2++) {
   33423     for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
   33424         mem_base = xmlMemBlocks();
   33425         exec = gen_xmlRegExecCtxtPtr(n_exec, 0);
   33426         value = gen_const_xmlChar_ptr(n_value, 1);
   33427         value2 = gen_const_xmlChar_ptr(n_value2, 2);
   33428         data = gen_userdata(n_data, 3);
   33429 
   33430         ret_val = xmlRegExecPushString2(exec, (const xmlChar *)value, (const xmlChar *)value2, data);
   33431         desret_int(ret_val);
   33432         call_tests++;
   33433         des_xmlRegExecCtxtPtr(n_exec, exec, 0);
   33434         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   33435         des_const_xmlChar_ptr(n_value2, (const xmlChar *)value2, 2);
   33436         des_userdata(n_data, data, 3);
   33437         xmlResetLastError();
   33438         if (mem_base != xmlMemBlocks()) {
   33439             printf("Leak of %d blocks found in xmlRegExecPushString2",
   33440 	           xmlMemBlocks() - mem_base);
   33441 	    test_ret++;
   33442             printf(" %d", n_exec);
   33443             printf(" %d", n_value);
   33444             printf(" %d", n_value2);
   33445             printf(" %d", n_data);
   33446             printf("\n");
   33447         }
   33448     }
   33449     }
   33450     }
   33451     }
   33452     function_tests++;
   33453 #endif
   33454 
   33455     return(test_ret);
   33456 }
   33457 
   33458 #ifdef LIBXML_REGEXP_ENABLED
   33459 
   33460 #define gen_nb_xmlRegexpPtr 1
   33461 static xmlRegexpPtr gen_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33462     return(NULL);
   33463 }
   33464 static void des_xmlRegexpPtr(int no ATTRIBUTE_UNUSED, xmlRegexpPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33465 }
   33466 #endif
   33467 
   33468 
   33469 static int
   33470 test_xmlRegNewExecCtxt(void) {
   33471     int test_ret = 0;
   33472 
   33473 
   33474     /* missing type support */
   33475     return(test_ret);
   33476 }
   33477 
   33478 
   33479 static int
   33480 test_xmlRegexpCompile(void) {
   33481     int test_ret = 0;
   33482 
   33483 
   33484     /* missing type support */
   33485     return(test_ret);
   33486 }
   33487 
   33488 
   33489 static int
   33490 test_xmlRegexpExec(void) {
   33491     int test_ret = 0;
   33492 
   33493 #if defined(LIBXML_REGEXP_ENABLED)
   33494     int mem_base;
   33495     int ret_val;
   33496     xmlRegexpPtr comp; /* the compiled regular expression */
   33497     int n_comp;
   33498     xmlChar * content; /* the value to check against the regular expression */
   33499     int n_content;
   33500 
   33501     for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
   33502     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   33503         mem_base = xmlMemBlocks();
   33504         comp = gen_xmlRegexpPtr(n_comp, 0);
   33505         content = gen_const_xmlChar_ptr(n_content, 1);
   33506 
   33507         ret_val = xmlRegexpExec(comp, (const xmlChar *)content);
   33508         desret_int(ret_val);
   33509         call_tests++;
   33510         des_xmlRegexpPtr(n_comp, comp, 0);
   33511         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   33512         xmlResetLastError();
   33513         if (mem_base != xmlMemBlocks()) {
   33514             printf("Leak of %d blocks found in xmlRegexpExec",
   33515 	           xmlMemBlocks() - mem_base);
   33516 	    test_ret++;
   33517             printf(" %d", n_comp);
   33518             printf(" %d", n_content);
   33519             printf("\n");
   33520         }
   33521     }
   33522     }
   33523     function_tests++;
   33524 #endif
   33525 
   33526     return(test_ret);
   33527 }
   33528 
   33529 
   33530 static int
   33531 test_xmlRegexpIsDeterminist(void) {
   33532     int test_ret = 0;
   33533 
   33534 #if defined(LIBXML_REGEXP_ENABLED)
   33535     int mem_base;
   33536     int ret_val;
   33537     xmlRegexpPtr comp; /* the compiled regular expression */
   33538     int n_comp;
   33539 
   33540     for (n_comp = 0;n_comp < gen_nb_xmlRegexpPtr;n_comp++) {
   33541         mem_base = xmlMemBlocks();
   33542         comp = gen_xmlRegexpPtr(n_comp, 0);
   33543 
   33544         ret_val = xmlRegexpIsDeterminist(comp);
   33545         desret_int(ret_val);
   33546         call_tests++;
   33547         des_xmlRegexpPtr(n_comp, comp, 0);
   33548         xmlResetLastError();
   33549         if (mem_base != xmlMemBlocks()) {
   33550             printf("Leak of %d blocks found in xmlRegexpIsDeterminist",
   33551 	           xmlMemBlocks() - mem_base);
   33552 	    test_ret++;
   33553             printf(" %d", n_comp);
   33554             printf("\n");
   33555         }
   33556     }
   33557     function_tests++;
   33558 #endif
   33559 
   33560     return(test_ret);
   33561 }
   33562 
   33563 
   33564 static int
   33565 test_xmlRegexpPrint(void) {
   33566     int test_ret = 0;
   33567 
   33568 #if defined(LIBXML_REGEXP_ENABLED)
   33569     int mem_base;
   33570     FILE * output; /* the file for the output debug */
   33571     int n_output;
   33572     xmlRegexpPtr regexp; /* the compiled regexp */
   33573     int n_regexp;
   33574 
   33575     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
   33576     for (n_regexp = 0;n_regexp < gen_nb_xmlRegexpPtr;n_regexp++) {
   33577         mem_base = xmlMemBlocks();
   33578         output = gen_FILE_ptr(n_output, 0);
   33579         regexp = gen_xmlRegexpPtr(n_regexp, 1);
   33580 
   33581         xmlRegexpPrint(output, regexp);
   33582         call_tests++;
   33583         des_FILE_ptr(n_output, output, 0);
   33584         des_xmlRegexpPtr(n_regexp, regexp, 1);
   33585         xmlResetLastError();
   33586         if (mem_base != xmlMemBlocks()) {
   33587             printf("Leak of %d blocks found in xmlRegexpPrint",
   33588 	           xmlMemBlocks() - mem_base);
   33589 	    test_ret++;
   33590             printf(" %d", n_output);
   33591             printf(" %d", n_regexp);
   33592             printf("\n");
   33593         }
   33594     }
   33595     }
   33596     function_tests++;
   33597 #endif
   33598 
   33599     return(test_ret);
   33600 }
   33601 
   33602 static int
   33603 test_xmlregexp(void) {
   33604     int test_ret = 0;
   33605 
   33606     if (quiet == 0) printf("Testing xmlregexp : 16 of 30 functions ...\n");
   33607     test_ret += test_xmlExpCtxtNbCons();
   33608     test_ret += test_xmlExpCtxtNbNodes();
   33609     test_ret += test_xmlExpDump();
   33610     test_ret += test_xmlExpExpDerive();
   33611     test_ret += test_xmlExpGetLanguage();
   33612     test_ret += test_xmlExpGetStart();
   33613     test_ret += test_xmlExpIsNillable();
   33614     test_ret += test_xmlExpMaxToken();
   33615     test_ret += test_xmlExpNewAtom();
   33616     test_ret += test_xmlExpNewCtxt();
   33617     test_ret += test_xmlExpNewOr();
   33618     test_ret += test_xmlExpNewRange();
   33619     test_ret += test_xmlExpNewSeq();
   33620     test_ret += test_xmlExpParse();
   33621     test_ret += test_xmlExpRef();
   33622     test_ret += test_xmlExpStringDerive();
   33623     test_ret += test_xmlExpSubsume();
   33624     test_ret += test_xmlRegExecErrInfo();
   33625     test_ret += test_xmlRegExecNextValues();
   33626     test_ret += test_xmlRegExecPushString();
   33627     test_ret += test_xmlRegExecPushString2();
   33628     test_ret += test_xmlRegNewExecCtxt();
   33629     test_ret += test_xmlRegexpCompile();
   33630     test_ret += test_xmlRegexpExec();
   33631     test_ret += test_xmlRegexpIsDeterminist();
   33632     test_ret += test_xmlRegexpPrint();
   33633 
   33634     if (test_ret != 0)
   33635 	printf("Module xmlregexp: %d errors\n", test_ret);
   33636     return(test_ret);
   33637 }
   33638 #ifdef LIBXML_OUTPUT_ENABLED
   33639 
   33640 #define gen_nb_xmlSaveCtxtPtr 1
   33641 static xmlSaveCtxtPtr gen_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33642     return(NULL);
   33643 }
   33644 static void des_xmlSaveCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSaveCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33645 }
   33646 #endif
   33647 
   33648 
   33649 static int
   33650 test_xmlSaveClose(void) {
   33651     int test_ret = 0;
   33652 
   33653 #if defined(LIBXML_OUTPUT_ENABLED)
   33654     int mem_base;
   33655     int ret_val;
   33656     xmlSaveCtxtPtr ctxt; /* a document saving context */
   33657     int n_ctxt;
   33658 
   33659     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
   33660         mem_base = xmlMemBlocks();
   33661         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
   33662 
   33663         ret_val = xmlSaveClose(ctxt);
   33664         desret_int(ret_val);
   33665         call_tests++;
   33666         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
   33667         xmlResetLastError();
   33668         if (mem_base != xmlMemBlocks()) {
   33669             printf("Leak of %d blocks found in xmlSaveClose",
   33670 	           xmlMemBlocks() - mem_base);
   33671 	    test_ret++;
   33672             printf(" %d", n_ctxt);
   33673             printf("\n");
   33674         }
   33675     }
   33676     function_tests++;
   33677 #endif
   33678 
   33679     return(test_ret);
   33680 }
   33681 
   33682 
   33683 static int
   33684 test_xmlSaveDoc(void) {
   33685     int test_ret = 0;
   33686 
   33687 #if defined(LIBXML_OUTPUT_ENABLED)
   33688     int mem_base;
   33689     long ret_val;
   33690     xmlSaveCtxtPtr ctxt; /* a document saving context */
   33691     int n_ctxt;
   33692     xmlDocPtr doc; /* a document */
   33693     int n_doc;
   33694 
   33695     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
   33696     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   33697         mem_base = xmlMemBlocks();
   33698         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
   33699         doc = gen_xmlDocPtr(n_doc, 1);
   33700 
   33701         ret_val = xmlSaveDoc(ctxt, doc);
   33702         desret_long(ret_val);
   33703         call_tests++;
   33704         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
   33705         des_xmlDocPtr(n_doc, doc, 1);
   33706         xmlResetLastError();
   33707         if (mem_base != xmlMemBlocks()) {
   33708             printf("Leak of %d blocks found in xmlSaveDoc",
   33709 	           xmlMemBlocks() - mem_base);
   33710 	    test_ret++;
   33711             printf(" %d", n_ctxt);
   33712             printf(" %d", n_doc);
   33713             printf("\n");
   33714         }
   33715     }
   33716     }
   33717     function_tests++;
   33718 #endif
   33719 
   33720     return(test_ret);
   33721 }
   33722 
   33723 
   33724 static int
   33725 test_xmlSaveFlush(void) {
   33726     int test_ret = 0;
   33727 
   33728 #if defined(LIBXML_OUTPUT_ENABLED)
   33729     int mem_base;
   33730     int ret_val;
   33731     xmlSaveCtxtPtr ctxt; /* a document saving context */
   33732     int n_ctxt;
   33733 
   33734     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
   33735         mem_base = xmlMemBlocks();
   33736         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
   33737 
   33738         ret_val = xmlSaveFlush(ctxt);
   33739         desret_int(ret_val);
   33740         call_tests++;
   33741         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
   33742         xmlResetLastError();
   33743         if (mem_base != xmlMemBlocks()) {
   33744             printf("Leak of %d blocks found in xmlSaveFlush",
   33745 	           xmlMemBlocks() - mem_base);
   33746 	    test_ret++;
   33747             printf(" %d", n_ctxt);
   33748             printf("\n");
   33749         }
   33750     }
   33751     function_tests++;
   33752 #endif
   33753 
   33754     return(test_ret);
   33755 }
   33756 
   33757 
   33758 static int
   33759 test_xmlSaveSetAttrEscape(void) {
   33760     int test_ret = 0;
   33761 
   33762 
   33763     /* missing type support */
   33764     return(test_ret);
   33765 }
   33766 
   33767 
   33768 static int
   33769 test_xmlSaveSetEscape(void) {
   33770     int test_ret = 0;
   33771 
   33772 
   33773     /* missing type support */
   33774     return(test_ret);
   33775 }
   33776 
   33777 
   33778 static int
   33779 test_xmlSaveToBuffer(void) {
   33780     int test_ret = 0;
   33781 
   33782 
   33783     /* missing type support */
   33784     return(test_ret);
   33785 }
   33786 
   33787 
   33788 static int
   33789 test_xmlSaveToFd(void) {
   33790     int test_ret = 0;
   33791 
   33792 
   33793     /* missing type support */
   33794     return(test_ret);
   33795 }
   33796 
   33797 
   33798 static int
   33799 test_xmlSaveToFilename(void) {
   33800     int test_ret = 0;
   33801 
   33802 
   33803     /* missing type support */
   33804     return(test_ret);
   33805 }
   33806 
   33807 
   33808 static int
   33809 test_xmlSaveTree(void) {
   33810     int test_ret = 0;
   33811 
   33812 #if defined(LIBXML_OUTPUT_ENABLED)
   33813     int mem_base;
   33814     long ret_val;
   33815     xmlSaveCtxtPtr ctxt; /* a document saving context */
   33816     int n_ctxt;
   33817     xmlNodePtr node; /* the top node of the subtree to save */
   33818     int n_node;
   33819 
   33820     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
   33821     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   33822         mem_base = xmlMemBlocks();
   33823         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
   33824         node = gen_xmlNodePtr(n_node, 1);
   33825 
   33826         ret_val = xmlSaveTree(ctxt, node);
   33827         desret_long(ret_val);
   33828         call_tests++;
   33829         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
   33830         des_xmlNodePtr(n_node, node, 1);
   33831         xmlResetLastError();
   33832         if (mem_base != xmlMemBlocks()) {
   33833             printf("Leak of %d blocks found in xmlSaveTree",
   33834 	           xmlMemBlocks() - mem_base);
   33835 	    test_ret++;
   33836             printf(" %d", n_ctxt);
   33837             printf(" %d", n_node);
   33838             printf("\n");
   33839         }
   33840     }
   33841     }
   33842     function_tests++;
   33843 #endif
   33844 
   33845     return(test_ret);
   33846 }
   33847 
   33848 static int
   33849 test_xmlsave(void) {
   33850     int test_ret = 0;
   33851 
   33852     if (quiet == 0) printf("Testing xmlsave : 4 of 10 functions ...\n");
   33853     test_ret += test_xmlSaveClose();
   33854     test_ret += test_xmlSaveDoc();
   33855     test_ret += test_xmlSaveFlush();
   33856     test_ret += test_xmlSaveSetAttrEscape();
   33857     test_ret += test_xmlSaveSetEscape();
   33858     test_ret += test_xmlSaveToBuffer();
   33859     test_ret += test_xmlSaveToFd();
   33860     test_ret += test_xmlSaveToFilename();
   33861     test_ret += test_xmlSaveTree();
   33862 
   33863     if (test_ret != 0)
   33864 	printf("Module xmlsave: %d errors\n", test_ret);
   33865     return(test_ret);
   33866 }
   33867 
   33868 static int
   33869 test_xmlSchemaDump(void) {
   33870     int test_ret = 0;
   33871 
   33872 #if defined(LIBXML_SCHEMAS_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
   33873     int mem_base;
   33874     FILE * output; /* the file output */
   33875     int n_output;
   33876     xmlSchemaPtr schema; /* a schema structure */
   33877     int n_schema;
   33878 
   33879     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
   33880     for (n_schema = 0;n_schema < gen_nb_xmlSchemaPtr;n_schema++) {
   33881         mem_base = xmlMemBlocks();
   33882         output = gen_FILE_ptr(n_output, 0);
   33883         schema = gen_xmlSchemaPtr(n_schema, 1);
   33884 
   33885         xmlSchemaDump(output, schema);
   33886         call_tests++;
   33887         des_FILE_ptr(n_output, output, 0);
   33888         des_xmlSchemaPtr(n_schema, schema, 1);
   33889         xmlResetLastError();
   33890         if (mem_base != xmlMemBlocks()) {
   33891             printf("Leak of %d blocks found in xmlSchemaDump",
   33892 	           xmlMemBlocks() - mem_base);
   33893 	    test_ret++;
   33894             printf(" %d", n_output);
   33895             printf(" %d", n_schema);
   33896             printf("\n");
   33897         }
   33898     }
   33899     }
   33900     function_tests++;
   33901 #endif
   33902 
   33903     return(test_ret);
   33904 }
   33905 
   33906 #ifdef LIBXML_SCHEMAS_ENABLED
   33907 
   33908 #define gen_nb_xmlSchemaParserCtxtPtr 1
   33909 static xmlSchemaParserCtxtPtr gen_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33910     return(NULL);
   33911 }
   33912 static void des_xmlSchemaParserCtxtPtr(int no ATTRIBUTE_UNUSED, xmlSchemaParserCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33913 }
   33914 #endif
   33915 
   33916 #ifdef LIBXML_SCHEMAS_ENABLED
   33917 
   33918 #define gen_nb_xmlSchemaValidityErrorFunc_ptr 1
   33919 static xmlSchemaValidityErrorFunc * gen_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33920     return(NULL);
   33921 }
   33922 static void des_xmlSchemaValidityErrorFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityErrorFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33923 }
   33924 #endif
   33925 
   33926 #ifdef LIBXML_SCHEMAS_ENABLED
   33927 
   33928 #define gen_nb_xmlSchemaValidityWarningFunc_ptr 1
   33929 static xmlSchemaValidityWarningFunc * gen_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33930     return(NULL);
   33931 }
   33932 static void des_xmlSchemaValidityWarningFunc_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValidityWarningFunc * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   33933 }
   33934 #endif
   33935 
   33936 
   33937 static int
   33938 test_xmlSchemaGetParserErrors(void) {
   33939     int test_ret = 0;
   33940 
   33941 #if defined(LIBXML_SCHEMAS_ENABLED)
   33942     int mem_base;
   33943     int ret_val;
   33944     xmlSchemaParserCtxtPtr ctxt; /* a XMl-Schema parser context */
   33945     int n_ctxt;
   33946     xmlSchemaValidityErrorFunc * err; /* the error callback result */
   33947     int n_err;
   33948     xmlSchemaValidityWarningFunc * warn; /* the warning callback result */
   33949     int n_warn;
   33950     void ** ctx; /* contextual data for the callbacks result */
   33951     int n_ctx;
   33952 
   33953     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaParserCtxtPtr;n_ctxt++) {
   33954     for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
   33955     for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
   33956     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
   33957         mem_base = xmlMemBlocks();
   33958         ctxt = gen_xmlSchemaParserCtxtPtr(n_ctxt, 0);
   33959         err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
   33960         warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
   33961         ctx = gen_void_ptr_ptr(n_ctx, 3);
   33962 
   33963         ret_val = xmlSchemaGetParserErrors(ctxt, err, warn, ctx);
   33964         desret_int(ret_val);
   33965         call_tests++;
   33966         des_xmlSchemaParserCtxtPtr(n_ctxt, ctxt, 0);
   33967         des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
   33968         des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
   33969         des_void_ptr_ptr(n_ctx, ctx, 3);
   33970         xmlResetLastError();
   33971         if (mem_base != xmlMemBlocks()) {
   33972             printf("Leak of %d blocks found in xmlSchemaGetParserErrors",
   33973 	           xmlMemBlocks() - mem_base);
   33974 	    test_ret++;
   33975             printf(" %d", n_ctxt);
   33976             printf(" %d", n_err);
   33977             printf(" %d", n_warn);
   33978             printf(" %d", n_ctx);
   33979             printf("\n");
   33980         }
   33981     }
   33982     }
   33983     }
   33984     }
   33985     function_tests++;
   33986 #endif
   33987 
   33988     return(test_ret);
   33989 }
   33990 
   33991 
   33992 static int
   33993 test_xmlSchemaGetValidErrors(void) {
   33994     int test_ret = 0;
   33995 
   33996 #if defined(LIBXML_SCHEMAS_ENABLED)
   33997     int mem_base;
   33998     int ret_val;
   33999     xmlSchemaValidCtxtPtr ctxt; /* a XML-Schema validation context */
   34000     int n_ctxt;
   34001     xmlSchemaValidityErrorFunc * err; /* the error function result */
   34002     int n_err;
   34003     xmlSchemaValidityWarningFunc * warn; /* the warning function result */
   34004     int n_warn;
   34005     void ** ctx; /* the functions context result */
   34006     int n_ctx;
   34007 
   34008     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34009     for (n_err = 0;n_err < gen_nb_xmlSchemaValidityErrorFunc_ptr;n_err++) {
   34010     for (n_warn = 0;n_warn < gen_nb_xmlSchemaValidityWarningFunc_ptr;n_warn++) {
   34011     for (n_ctx = 0;n_ctx < gen_nb_void_ptr_ptr;n_ctx++) {
   34012         mem_base = xmlMemBlocks();
   34013         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34014         err = gen_xmlSchemaValidityErrorFunc_ptr(n_err, 1);
   34015         warn = gen_xmlSchemaValidityWarningFunc_ptr(n_warn, 2);
   34016         ctx = gen_void_ptr_ptr(n_ctx, 3);
   34017 
   34018         ret_val = xmlSchemaGetValidErrors(ctxt, err, warn, ctx);
   34019         desret_int(ret_val);
   34020         call_tests++;
   34021         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34022         des_xmlSchemaValidityErrorFunc_ptr(n_err, err, 1);
   34023         des_xmlSchemaValidityWarningFunc_ptr(n_warn, warn, 2);
   34024         des_void_ptr_ptr(n_ctx, ctx, 3);
   34025         xmlResetLastError();
   34026         if (mem_base != xmlMemBlocks()) {
   34027             printf("Leak of %d blocks found in xmlSchemaGetValidErrors",
   34028 	           xmlMemBlocks() - mem_base);
   34029 	    test_ret++;
   34030             printf(" %d", n_ctxt);
   34031             printf(" %d", n_err);
   34032             printf(" %d", n_warn);
   34033             printf(" %d", n_ctx);
   34034             printf("\n");
   34035         }
   34036     }
   34037     }
   34038     }
   34039     }
   34040     function_tests++;
   34041 #endif
   34042 
   34043     return(test_ret);
   34044 }
   34045 
   34046 
   34047 static int
   34048 test_xmlSchemaIsValid(void) {
   34049     int test_ret = 0;
   34050 
   34051 #if defined(LIBXML_SCHEMAS_ENABLED)
   34052     int mem_base;
   34053     int ret_val;
   34054     xmlSchemaValidCtxtPtr ctxt; /* the schema validation context */
   34055     int n_ctxt;
   34056 
   34057     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34058         mem_base = xmlMemBlocks();
   34059         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34060 
   34061         ret_val = xmlSchemaIsValid(ctxt);
   34062         desret_int(ret_val);
   34063         call_tests++;
   34064         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34065         xmlResetLastError();
   34066         if (mem_base != xmlMemBlocks()) {
   34067             printf("Leak of %d blocks found in xmlSchemaIsValid",
   34068 	           xmlMemBlocks() - mem_base);
   34069 	    test_ret++;
   34070             printf(" %d", n_ctxt);
   34071             printf("\n");
   34072         }
   34073     }
   34074     function_tests++;
   34075 #endif
   34076 
   34077     return(test_ret);
   34078 }
   34079 
   34080 
   34081 static int
   34082 test_xmlSchemaNewDocParserCtxt(void) {
   34083     int test_ret = 0;
   34084 
   34085 #if defined(LIBXML_SCHEMAS_ENABLED)
   34086     int mem_base;
   34087     xmlSchemaParserCtxtPtr ret_val;
   34088     xmlDocPtr doc; /* a preparsed document tree */
   34089     int n_doc;
   34090 
   34091     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   34092         mem_base = xmlMemBlocks();
   34093         doc = gen_xmlDocPtr(n_doc, 0);
   34094 
   34095         ret_val = xmlSchemaNewDocParserCtxt(doc);
   34096         desret_xmlSchemaParserCtxtPtr(ret_val);
   34097         call_tests++;
   34098         des_xmlDocPtr(n_doc, doc, 0);
   34099         xmlResetLastError();
   34100         if (mem_base != xmlMemBlocks()) {
   34101             printf("Leak of %d blocks found in xmlSchemaNewDocParserCtxt",
   34102 	           xmlMemBlocks() - mem_base);
   34103 	    test_ret++;
   34104             printf(" %d", n_doc);
   34105             printf("\n");
   34106         }
   34107     }
   34108     function_tests++;
   34109 #endif
   34110 
   34111     return(test_ret);
   34112 }
   34113 
   34114 
   34115 static int
   34116 test_xmlSchemaNewMemParserCtxt(void) {
   34117     int test_ret = 0;
   34118 
   34119 #if defined(LIBXML_SCHEMAS_ENABLED)
   34120     int mem_base;
   34121     xmlSchemaParserCtxtPtr ret_val;
   34122     char * buffer; /* a pointer to a char array containing the schemas */
   34123     int n_buffer;
   34124     int size; /* the size of the array */
   34125     int n_size;
   34126 
   34127     for (n_buffer = 0;n_buffer < gen_nb_const_char_ptr;n_buffer++) {
   34128     for (n_size = 0;n_size < gen_nb_int;n_size++) {
   34129         mem_base = xmlMemBlocks();
   34130         buffer = gen_const_char_ptr(n_buffer, 0);
   34131         size = gen_int(n_size, 1);
   34132 
   34133         ret_val = xmlSchemaNewMemParserCtxt((const char *)buffer, size);
   34134         desret_xmlSchemaParserCtxtPtr(ret_val);
   34135         call_tests++;
   34136         des_const_char_ptr(n_buffer, (const char *)buffer, 0);
   34137         des_int(n_size, size, 1);
   34138         xmlResetLastError();
   34139         if (mem_base != xmlMemBlocks()) {
   34140             printf("Leak of %d blocks found in xmlSchemaNewMemParserCtxt",
   34141 	           xmlMemBlocks() - mem_base);
   34142 	    test_ret++;
   34143             printf(" %d", n_buffer);
   34144             printf(" %d", n_size);
   34145             printf("\n");
   34146         }
   34147     }
   34148     }
   34149     function_tests++;
   34150 #endif
   34151 
   34152     return(test_ret);
   34153 }
   34154 
   34155 
   34156 static int
   34157 test_xmlSchemaNewParserCtxt(void) {
   34158     int test_ret = 0;
   34159 
   34160 #if defined(LIBXML_SCHEMAS_ENABLED)
   34161     int mem_base;
   34162     xmlSchemaParserCtxtPtr ret_val;
   34163     char * URL; /* the location of the schema */
   34164     int n_URL;
   34165 
   34166     for (n_URL = 0;n_URL < gen_nb_const_char_ptr;n_URL++) {
   34167         mem_base = xmlMemBlocks();
   34168         URL = gen_const_char_ptr(n_URL, 0);
   34169 
   34170         ret_val = xmlSchemaNewParserCtxt((const char *)URL);
   34171         desret_xmlSchemaParserCtxtPtr(ret_val);
   34172         call_tests++;
   34173         des_const_char_ptr(n_URL, (const char *)URL, 0);
   34174         xmlResetLastError();
   34175         if (mem_base != xmlMemBlocks()) {
   34176             printf("Leak of %d blocks found in xmlSchemaNewParserCtxt",
   34177 	           xmlMemBlocks() - mem_base);
   34178 	    test_ret++;
   34179             printf(" %d", n_URL);
   34180             printf("\n");
   34181         }
   34182     }
   34183     function_tests++;
   34184 #endif
   34185 
   34186     return(test_ret);
   34187 }
   34188 
   34189 
   34190 static int
   34191 test_xmlSchemaNewValidCtxt(void) {
   34192     int test_ret = 0;
   34193 
   34194 
   34195     /* missing type support */
   34196     return(test_ret);
   34197 }
   34198 
   34199 
   34200 static int
   34201 test_xmlSchemaParse(void) {
   34202     int test_ret = 0;
   34203 
   34204 
   34205     /* missing type support */
   34206     return(test_ret);
   34207 }
   34208 
   34209 #ifdef LIBXML_SCHEMAS_ENABLED
   34210 
   34211 #define gen_nb_xmlSAXHandlerPtr_ptr 1
   34212 static xmlSAXHandlerPtr * gen_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34213     return(NULL);
   34214 }
   34215 static void des_xmlSAXHandlerPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSAXHandlerPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34216 }
   34217 #endif
   34218 
   34219 
   34220 static int
   34221 test_xmlSchemaSAXPlug(void) {
   34222     int test_ret = 0;
   34223 
   34224 
   34225     /* missing type support */
   34226     return(test_ret);
   34227 }
   34228 
   34229 #ifdef LIBXML_SCHEMAS_ENABLED
   34230 
   34231 #define gen_nb_xmlSchemaSAXPlugPtr 1
   34232 static xmlSchemaSAXPlugPtr gen_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34233     return(NULL);
   34234 }
   34235 static void des_xmlSchemaSAXPlugPtr(int no ATTRIBUTE_UNUSED, xmlSchemaSAXPlugPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34236 }
   34237 #endif
   34238 
   34239 
   34240 static int
   34241 test_xmlSchemaSAXUnplug(void) {
   34242     int test_ret = 0;
   34243 
   34244 #if defined(LIBXML_SCHEMAS_ENABLED)
   34245     int mem_base;
   34246     int ret_val;
   34247     xmlSchemaSAXPlugPtr plug; /* a data structure returned by xmlSchemaSAXPlug */
   34248     int n_plug;
   34249 
   34250     for (n_plug = 0;n_plug < gen_nb_xmlSchemaSAXPlugPtr;n_plug++) {
   34251         mem_base = xmlMemBlocks();
   34252         plug = gen_xmlSchemaSAXPlugPtr(n_plug, 0);
   34253 
   34254         ret_val = xmlSchemaSAXUnplug(plug);
   34255         desret_int(ret_val);
   34256         call_tests++;
   34257         des_xmlSchemaSAXPlugPtr(n_plug, plug, 0);
   34258         xmlResetLastError();
   34259         if (mem_base != xmlMemBlocks()) {
   34260             printf("Leak of %d blocks found in xmlSchemaSAXUnplug",
   34261 	           xmlMemBlocks() - mem_base);
   34262 	    test_ret++;
   34263             printf(" %d", n_plug);
   34264             printf("\n");
   34265         }
   34266     }
   34267     function_tests++;
   34268 #endif
   34269 
   34270     return(test_ret);
   34271 }
   34272 
   34273 
   34274 static int
   34275 test_xmlSchemaSetParserErrors(void) {
   34276     int test_ret = 0;
   34277 
   34278 
   34279     /* missing type support */
   34280     return(test_ret);
   34281 }
   34282 
   34283 
   34284 static int
   34285 test_xmlSchemaSetParserStructuredErrors(void) {
   34286     int test_ret = 0;
   34287 
   34288 
   34289     /* missing type support */
   34290     return(test_ret);
   34291 }
   34292 
   34293 
   34294 static int
   34295 test_xmlSchemaSetValidErrors(void) {
   34296     int test_ret = 0;
   34297 
   34298 
   34299     /* missing type support */
   34300     return(test_ret);
   34301 }
   34302 
   34303 
   34304 static int
   34305 test_xmlSchemaSetValidOptions(void) {
   34306     int test_ret = 0;
   34307 
   34308 #if defined(LIBXML_SCHEMAS_ENABLED)
   34309     int mem_base;
   34310     int ret_val;
   34311     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
   34312     int n_ctxt;
   34313     int options; /* a combination of xmlSchemaValidOption */
   34314     int n_options;
   34315 
   34316     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34317     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   34318         mem_base = xmlMemBlocks();
   34319         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34320         options = gen_int(n_options, 1);
   34321 
   34322         ret_val = xmlSchemaSetValidOptions(ctxt, options);
   34323         desret_int(ret_val);
   34324         call_tests++;
   34325         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34326         des_int(n_options, options, 1);
   34327         xmlResetLastError();
   34328         if (mem_base != xmlMemBlocks()) {
   34329             printf("Leak of %d blocks found in xmlSchemaSetValidOptions",
   34330 	           xmlMemBlocks() - mem_base);
   34331 	    test_ret++;
   34332             printf(" %d", n_ctxt);
   34333             printf(" %d", n_options);
   34334             printf("\n");
   34335         }
   34336     }
   34337     }
   34338     function_tests++;
   34339 #endif
   34340 
   34341     return(test_ret);
   34342 }
   34343 
   34344 
   34345 static int
   34346 test_xmlSchemaSetValidStructuredErrors(void) {
   34347     int test_ret = 0;
   34348 
   34349 
   34350     /* missing type support */
   34351     return(test_ret);
   34352 }
   34353 
   34354 
   34355 static int
   34356 test_xmlSchemaValidCtxtGetOptions(void) {
   34357     int test_ret = 0;
   34358 
   34359 #if defined(LIBXML_SCHEMAS_ENABLED)
   34360     int mem_base;
   34361     int ret_val;
   34362     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
   34363     int n_ctxt;
   34364 
   34365     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34366         mem_base = xmlMemBlocks();
   34367         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34368 
   34369         ret_val = xmlSchemaValidCtxtGetOptions(ctxt);
   34370         desret_int(ret_val);
   34371         call_tests++;
   34372         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34373         xmlResetLastError();
   34374         if (mem_base != xmlMemBlocks()) {
   34375             printf("Leak of %d blocks found in xmlSchemaValidCtxtGetOptions",
   34376 	           xmlMemBlocks() - mem_base);
   34377 	    test_ret++;
   34378             printf(" %d", n_ctxt);
   34379             printf("\n");
   34380         }
   34381     }
   34382     function_tests++;
   34383 #endif
   34384 
   34385     return(test_ret);
   34386 }
   34387 
   34388 
   34389 static int
   34390 test_xmlSchemaValidCtxtGetParserCtxt(void) {
   34391     int test_ret = 0;
   34392 
   34393 #if defined(LIBXML_SCHEMAS_ENABLED)
   34394     int mem_base;
   34395     xmlParserCtxtPtr ret_val;
   34396     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
   34397     int n_ctxt;
   34398 
   34399     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34400         mem_base = xmlMemBlocks();
   34401         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34402 
   34403         ret_val = xmlSchemaValidCtxtGetParserCtxt(ctxt);
   34404         desret_xmlParserCtxtPtr(ret_val);
   34405         call_tests++;
   34406         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34407         xmlResetLastError();
   34408         if (mem_base != xmlMemBlocks()) {
   34409             printf("Leak of %d blocks found in xmlSchemaValidCtxtGetParserCtxt",
   34410 	           xmlMemBlocks() - mem_base);
   34411 	    test_ret++;
   34412             printf(" %d", n_ctxt);
   34413             printf("\n");
   34414         }
   34415     }
   34416     function_tests++;
   34417 #endif
   34418 
   34419     return(test_ret);
   34420 }
   34421 
   34422 
   34423 static int
   34424 test_xmlSchemaValidateDoc(void) {
   34425     int test_ret = 0;
   34426 
   34427 #if defined(LIBXML_SCHEMAS_ENABLED)
   34428     int mem_base;
   34429     int ret_val;
   34430     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
   34431     int n_ctxt;
   34432     xmlDocPtr doc; /* a parsed document tree */
   34433     int n_doc;
   34434 
   34435     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34436     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   34437         mem_base = xmlMemBlocks();
   34438         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34439         doc = gen_xmlDocPtr(n_doc, 1);
   34440 
   34441         ret_val = xmlSchemaValidateDoc(ctxt, doc);
   34442         desret_int(ret_val);
   34443         call_tests++;
   34444         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34445         des_xmlDocPtr(n_doc, doc, 1);
   34446         xmlResetLastError();
   34447         if (mem_base != xmlMemBlocks()) {
   34448             printf("Leak of %d blocks found in xmlSchemaValidateDoc",
   34449 	           xmlMemBlocks() - mem_base);
   34450 	    test_ret++;
   34451             printf(" %d", n_ctxt);
   34452             printf(" %d", n_doc);
   34453             printf("\n");
   34454         }
   34455     }
   34456     }
   34457     function_tests++;
   34458 #endif
   34459 
   34460     return(test_ret);
   34461 }
   34462 
   34463 
   34464 static int
   34465 test_xmlSchemaValidateFile(void) {
   34466     int test_ret = 0;
   34467 
   34468 #if defined(LIBXML_SCHEMAS_ENABLED)
   34469     int mem_base;
   34470     int ret_val;
   34471     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
   34472     int n_ctxt;
   34473     const char * filename; /* the URI of the instance */
   34474     int n_filename;
   34475     int options; /* a future set of options, currently unused */
   34476     int n_options;
   34477 
   34478     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34479     for (n_filename = 0;n_filename < gen_nb_filepath;n_filename++) {
   34480     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   34481         mem_base = xmlMemBlocks();
   34482         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34483         filename = gen_filepath(n_filename, 1);
   34484         options = gen_int(n_options, 2);
   34485 
   34486         ret_val = xmlSchemaValidateFile(ctxt, filename, options);
   34487         desret_int(ret_val);
   34488         call_tests++;
   34489         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34490         des_filepath(n_filename, filename, 1);
   34491         des_int(n_options, options, 2);
   34492         xmlResetLastError();
   34493         if (mem_base != xmlMemBlocks()) {
   34494             printf("Leak of %d blocks found in xmlSchemaValidateFile",
   34495 	           xmlMemBlocks() - mem_base);
   34496 	    test_ret++;
   34497             printf(" %d", n_ctxt);
   34498             printf(" %d", n_filename);
   34499             printf(" %d", n_options);
   34500             printf("\n");
   34501         }
   34502     }
   34503     }
   34504     }
   34505     function_tests++;
   34506 #endif
   34507 
   34508     return(test_ret);
   34509 }
   34510 
   34511 
   34512 static int
   34513 test_xmlSchemaValidateOneElement(void) {
   34514     int test_ret = 0;
   34515 
   34516 #if defined(LIBXML_SCHEMAS_ENABLED)
   34517     int mem_base;
   34518     int ret_val;
   34519     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
   34520     int n_ctxt;
   34521     xmlNodePtr elem; /* an element node */
   34522     int n_elem;
   34523 
   34524     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34525     for (n_elem = 0;n_elem < gen_nb_xmlNodePtr;n_elem++) {
   34526         mem_base = xmlMemBlocks();
   34527         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34528         elem = gen_xmlNodePtr(n_elem, 1);
   34529 
   34530         ret_val = xmlSchemaValidateOneElement(ctxt, elem);
   34531         desret_int(ret_val);
   34532         call_tests++;
   34533         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34534         des_xmlNodePtr(n_elem, elem, 1);
   34535         xmlResetLastError();
   34536         if (mem_base != xmlMemBlocks()) {
   34537             printf("Leak of %d blocks found in xmlSchemaValidateOneElement",
   34538 	           xmlMemBlocks() - mem_base);
   34539 	    test_ret++;
   34540             printf(" %d", n_ctxt);
   34541             printf(" %d", n_elem);
   34542             printf("\n");
   34543         }
   34544     }
   34545     }
   34546     function_tests++;
   34547 #endif
   34548 
   34549     return(test_ret);
   34550 }
   34551 
   34552 
   34553 static int
   34554 test_xmlSchemaValidateStream(void) {
   34555     int test_ret = 0;
   34556 
   34557 #if defined(LIBXML_SCHEMAS_ENABLED)
   34558     int mem_base;
   34559     int ret_val;
   34560     xmlSchemaValidCtxtPtr ctxt; /* a schema validation context */
   34561     int n_ctxt;
   34562     xmlParserInputBufferPtr input; /* the input to use for reading the data */
   34563     int n_input;
   34564     xmlCharEncoding enc; /* an optional encoding information */
   34565     int n_enc;
   34566     xmlSAXHandlerPtr sax; /* a SAX handler for the resulting events */
   34567     int n_sax;
   34568     void * user_data; /* the context to provide to the SAX handler. */
   34569     int n_user_data;
   34570 
   34571     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSchemaValidCtxtPtr;n_ctxt++) {
   34572     for (n_input = 0;n_input < gen_nb_xmlParserInputBufferPtr;n_input++) {
   34573     for (n_enc = 0;n_enc < gen_nb_xmlCharEncoding;n_enc++) {
   34574     for (n_sax = 0;n_sax < gen_nb_xmlSAXHandlerPtr;n_sax++) {
   34575     for (n_user_data = 0;n_user_data < gen_nb_userdata;n_user_data++) {
   34576         mem_base = xmlMemBlocks();
   34577         ctxt = gen_xmlSchemaValidCtxtPtr(n_ctxt, 0);
   34578         input = gen_xmlParserInputBufferPtr(n_input, 1);
   34579         enc = gen_xmlCharEncoding(n_enc, 2);
   34580         sax = gen_xmlSAXHandlerPtr(n_sax, 3);
   34581         user_data = gen_userdata(n_user_data, 4);
   34582 
   34583         ret_val = xmlSchemaValidateStream(ctxt, input, enc, sax, user_data);
   34584         desret_int(ret_val);
   34585         call_tests++;
   34586         des_xmlSchemaValidCtxtPtr(n_ctxt, ctxt, 0);
   34587         des_xmlParserInputBufferPtr(n_input, input, 1);
   34588         des_xmlCharEncoding(n_enc, enc, 2);
   34589         des_xmlSAXHandlerPtr(n_sax, sax, 3);
   34590         des_userdata(n_user_data, user_data, 4);
   34591         xmlResetLastError();
   34592         if (mem_base != xmlMemBlocks()) {
   34593             printf("Leak of %d blocks found in xmlSchemaValidateStream",
   34594 	           xmlMemBlocks() - mem_base);
   34595 	    test_ret++;
   34596             printf(" %d", n_ctxt);
   34597             printf(" %d", n_input);
   34598             printf(" %d", n_enc);
   34599             printf(" %d", n_sax);
   34600             printf(" %d", n_user_data);
   34601             printf("\n");
   34602         }
   34603     }
   34604     }
   34605     }
   34606     }
   34607     }
   34608     function_tests++;
   34609 #endif
   34610 
   34611     return(test_ret);
   34612 }
   34613 
   34614 static int
   34615 test_xmlschemas(void) {
   34616     int test_ret = 0;
   34617 
   34618     if (quiet == 0) printf("Testing xmlschemas : 15 of 25 functions ...\n");
   34619     test_ret += test_xmlSchemaDump();
   34620     test_ret += test_xmlSchemaGetParserErrors();
   34621     test_ret += test_xmlSchemaGetValidErrors();
   34622     test_ret += test_xmlSchemaIsValid();
   34623     test_ret += test_xmlSchemaNewDocParserCtxt();
   34624     test_ret += test_xmlSchemaNewMemParserCtxt();
   34625     test_ret += test_xmlSchemaNewParserCtxt();
   34626     test_ret += test_xmlSchemaNewValidCtxt();
   34627     test_ret += test_xmlSchemaParse();
   34628     test_ret += test_xmlSchemaSAXPlug();
   34629     test_ret += test_xmlSchemaSAXUnplug();
   34630     test_ret += test_xmlSchemaSetParserErrors();
   34631     test_ret += test_xmlSchemaSetParserStructuredErrors();
   34632     test_ret += test_xmlSchemaSetValidErrors();
   34633     test_ret += test_xmlSchemaSetValidOptions();
   34634     test_ret += test_xmlSchemaSetValidStructuredErrors();
   34635     test_ret += test_xmlSchemaValidCtxtGetOptions();
   34636     test_ret += test_xmlSchemaValidCtxtGetParserCtxt();
   34637     test_ret += test_xmlSchemaValidateDoc();
   34638     test_ret += test_xmlSchemaValidateFile();
   34639     test_ret += test_xmlSchemaValidateOneElement();
   34640     test_ret += test_xmlSchemaValidateStream();
   34641 
   34642     if (test_ret != 0)
   34643 	printf("Module xmlschemas: %d errors\n", test_ret);
   34644     return(test_ret);
   34645 }
   34646 #ifdef LIBXML_SCHEMAS_ENABLED
   34647 
   34648 #define gen_nb_xmlSchemaFacetPtr 1
   34649 static xmlSchemaFacetPtr gen_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34650     return(NULL);
   34651 }
   34652 static void des_xmlSchemaFacetPtr(int no ATTRIBUTE_UNUSED, xmlSchemaFacetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34653 }
   34654 #endif
   34655 
   34656 #ifdef LIBXML_SCHEMAS_ENABLED
   34657 
   34658 #define gen_nb_xmlSchemaTypePtr 1
   34659 static xmlSchemaTypePtr gen_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34660     return(NULL);
   34661 }
   34662 static void des_xmlSchemaTypePtr(int no ATTRIBUTE_UNUSED, xmlSchemaTypePtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34663 }
   34664 #endif
   34665 
   34666 
   34667 static int
   34668 test_xmlSchemaCheckFacet(void) {
   34669     int test_ret = 0;
   34670 
   34671 #if defined(LIBXML_SCHEMAS_ENABLED)
   34672     int mem_base;
   34673     int ret_val;
   34674     xmlSchemaFacetPtr facet; /* the facet */
   34675     int n_facet;
   34676     xmlSchemaTypePtr typeDecl; /* the schema type definition */
   34677     int n_typeDecl;
   34678     xmlSchemaParserCtxtPtr pctxt; /* the schema parser context or NULL */
   34679     int n_pctxt;
   34680     xmlChar * name; /* the optional name of the type */
   34681     int n_name;
   34682 
   34683     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
   34684     for (n_typeDecl = 0;n_typeDecl < gen_nb_xmlSchemaTypePtr;n_typeDecl++) {
   34685     for (n_pctxt = 0;n_pctxt < gen_nb_xmlSchemaParserCtxtPtr;n_pctxt++) {
   34686     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   34687         mem_base = xmlMemBlocks();
   34688         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
   34689         typeDecl = gen_xmlSchemaTypePtr(n_typeDecl, 1);
   34690         pctxt = gen_xmlSchemaParserCtxtPtr(n_pctxt, 2);
   34691         name = gen_const_xmlChar_ptr(n_name, 3);
   34692 
   34693         ret_val = xmlSchemaCheckFacet(facet, typeDecl, pctxt, (const xmlChar *)name);
   34694         desret_int(ret_val);
   34695         call_tests++;
   34696         des_xmlSchemaFacetPtr(n_facet, facet, 0);
   34697         des_xmlSchemaTypePtr(n_typeDecl, typeDecl, 1);
   34698         des_xmlSchemaParserCtxtPtr(n_pctxt, pctxt, 2);
   34699         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 3);
   34700         xmlResetLastError();
   34701         if (mem_base != xmlMemBlocks()) {
   34702             printf("Leak of %d blocks found in xmlSchemaCheckFacet",
   34703 	           xmlMemBlocks() - mem_base);
   34704 	    test_ret++;
   34705             printf(" %d", n_facet);
   34706             printf(" %d", n_typeDecl);
   34707             printf(" %d", n_pctxt);
   34708             printf(" %d", n_name);
   34709             printf("\n");
   34710         }
   34711     }
   34712     }
   34713     }
   34714     }
   34715     function_tests++;
   34716 #endif
   34717 
   34718     return(test_ret);
   34719 }
   34720 
   34721 
   34722 static int
   34723 test_xmlSchemaCleanupTypes(void) {
   34724     int test_ret = 0;
   34725 
   34726 #if defined(LIBXML_SCHEMAS_ENABLED)
   34727 
   34728 
   34729         xmlSchemaCleanupTypes();
   34730         call_tests++;
   34731         xmlResetLastError();
   34732     function_tests++;
   34733 #endif
   34734 
   34735     return(test_ret);
   34736 }
   34737 
   34738 
   34739 static int
   34740 test_xmlSchemaCollapseString(void) {
   34741     int test_ret = 0;
   34742 
   34743 #if defined(LIBXML_SCHEMAS_ENABLED)
   34744     int mem_base;
   34745     xmlChar * ret_val;
   34746     xmlChar * value; /* a value */
   34747     int n_value;
   34748 
   34749     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   34750         mem_base = xmlMemBlocks();
   34751         value = gen_const_xmlChar_ptr(n_value, 0);
   34752 
   34753         ret_val = xmlSchemaCollapseString((const xmlChar *)value);
   34754         desret_xmlChar_ptr(ret_val);
   34755         call_tests++;
   34756         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   34757         xmlResetLastError();
   34758         if (mem_base != xmlMemBlocks()) {
   34759             printf("Leak of %d blocks found in xmlSchemaCollapseString",
   34760 	           xmlMemBlocks() - mem_base);
   34761 	    test_ret++;
   34762             printf(" %d", n_value);
   34763             printf("\n");
   34764         }
   34765     }
   34766     function_tests++;
   34767 #endif
   34768 
   34769     return(test_ret);
   34770 }
   34771 
   34772 #ifdef LIBXML_SCHEMAS_ENABLED
   34773 
   34774 #define gen_nb_xmlSchemaValPtr 1
   34775 static xmlSchemaValPtr gen_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34776     return(NULL);
   34777 }
   34778 static void des_xmlSchemaValPtr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   34779 }
   34780 #endif
   34781 
   34782 
   34783 static int
   34784 test_xmlSchemaCompareValues(void) {
   34785     int test_ret = 0;
   34786 
   34787 #if defined(LIBXML_SCHEMAS_ENABLED)
   34788     int mem_base;
   34789     int ret_val;
   34790     xmlSchemaValPtr x; /* a first value */
   34791     int n_x;
   34792     xmlSchemaValPtr y; /* a second value */
   34793     int n_y;
   34794 
   34795     for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
   34796     for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
   34797         mem_base = xmlMemBlocks();
   34798         x = gen_xmlSchemaValPtr(n_x, 0);
   34799         y = gen_xmlSchemaValPtr(n_y, 1);
   34800 
   34801         ret_val = xmlSchemaCompareValues(x, y);
   34802         desret_int(ret_val);
   34803         call_tests++;
   34804         des_xmlSchemaValPtr(n_x, x, 0);
   34805         des_xmlSchemaValPtr(n_y, y, 1);
   34806         xmlResetLastError();
   34807         if (mem_base != xmlMemBlocks()) {
   34808             printf("Leak of %d blocks found in xmlSchemaCompareValues",
   34809 	           xmlMemBlocks() - mem_base);
   34810 	    test_ret++;
   34811             printf(" %d", n_x);
   34812             printf(" %d", n_y);
   34813             printf("\n");
   34814         }
   34815     }
   34816     }
   34817     function_tests++;
   34818 #endif
   34819 
   34820     return(test_ret);
   34821 }
   34822 
   34823 
   34824 static int
   34825 test_xmlSchemaCompareValuesWhtsp(void) {
   34826     int test_ret = 0;
   34827 
   34828 #if defined(LIBXML_SCHEMAS_ENABLED)
   34829     int mem_base;
   34830     int ret_val;
   34831     xmlSchemaValPtr x; /* a first value */
   34832     int n_x;
   34833     xmlSchemaWhitespaceValueType xws; /* the whitespace value of x */
   34834     int n_xws;
   34835     xmlSchemaValPtr y; /* a second value */
   34836     int n_y;
   34837     xmlSchemaWhitespaceValueType yws; /* the whitespace value of y */
   34838     int n_yws;
   34839 
   34840     for (n_x = 0;n_x < gen_nb_xmlSchemaValPtr;n_x++) {
   34841     for (n_xws = 0;n_xws < gen_nb_xmlSchemaWhitespaceValueType;n_xws++) {
   34842     for (n_y = 0;n_y < gen_nb_xmlSchemaValPtr;n_y++) {
   34843     for (n_yws = 0;n_yws < gen_nb_xmlSchemaWhitespaceValueType;n_yws++) {
   34844         mem_base = xmlMemBlocks();
   34845         x = gen_xmlSchemaValPtr(n_x, 0);
   34846         xws = gen_xmlSchemaWhitespaceValueType(n_xws, 1);
   34847         y = gen_xmlSchemaValPtr(n_y, 2);
   34848         yws = gen_xmlSchemaWhitespaceValueType(n_yws, 3);
   34849 
   34850         ret_val = xmlSchemaCompareValuesWhtsp(x, xws, y, yws);
   34851         desret_int(ret_val);
   34852         call_tests++;
   34853         des_xmlSchemaValPtr(n_x, x, 0);
   34854         des_xmlSchemaWhitespaceValueType(n_xws, xws, 1);
   34855         des_xmlSchemaValPtr(n_y, y, 2);
   34856         des_xmlSchemaWhitespaceValueType(n_yws, yws, 3);
   34857         xmlResetLastError();
   34858         if (mem_base != xmlMemBlocks()) {
   34859             printf("Leak of %d blocks found in xmlSchemaCompareValuesWhtsp",
   34860 	           xmlMemBlocks() - mem_base);
   34861 	    test_ret++;
   34862             printf(" %d", n_x);
   34863             printf(" %d", n_xws);
   34864             printf(" %d", n_y);
   34865             printf(" %d", n_yws);
   34866             printf("\n");
   34867         }
   34868     }
   34869     }
   34870     }
   34871     }
   34872     function_tests++;
   34873 #endif
   34874 
   34875     return(test_ret);
   34876 }
   34877 
   34878 
   34879 static int
   34880 test_xmlSchemaCopyValue(void) {
   34881     int test_ret = 0;
   34882 
   34883 
   34884     /* missing type support */
   34885     return(test_ret);
   34886 }
   34887 
   34888 
   34889 static int
   34890 test_xmlSchemaGetBuiltInListSimpleTypeItemType(void) {
   34891     int test_ret = 0;
   34892 
   34893 #if defined(LIBXML_SCHEMAS_ENABLED)
   34894     int mem_base;
   34895     xmlSchemaTypePtr ret_val;
   34896     xmlSchemaTypePtr type; /* the built-in simple type. */
   34897     int n_type;
   34898 
   34899     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
   34900         mem_base = xmlMemBlocks();
   34901         type = gen_xmlSchemaTypePtr(n_type, 0);
   34902 
   34903         ret_val = xmlSchemaGetBuiltInListSimpleTypeItemType(type);
   34904         desret_xmlSchemaTypePtr(ret_val);
   34905         call_tests++;
   34906         des_xmlSchemaTypePtr(n_type, type, 0);
   34907         xmlResetLastError();
   34908         if (mem_base != xmlMemBlocks()) {
   34909             printf("Leak of %d blocks found in xmlSchemaGetBuiltInListSimpleTypeItemType",
   34910 	           xmlMemBlocks() - mem_base);
   34911 	    test_ret++;
   34912             printf(" %d", n_type);
   34913             printf("\n");
   34914         }
   34915     }
   34916     function_tests++;
   34917 #endif
   34918 
   34919     return(test_ret);
   34920 }
   34921 
   34922 
   34923 static int
   34924 test_xmlSchemaGetBuiltInType(void) {
   34925     int test_ret = 0;
   34926 
   34927 #if defined(LIBXML_SCHEMAS_ENABLED)
   34928     xmlSchemaTypePtr ret_val;
   34929     xmlSchemaValType type; /* the type of the built in type */
   34930     int n_type;
   34931 
   34932     for (n_type = 0;n_type < gen_nb_xmlSchemaValType;n_type++) {
   34933         type = gen_xmlSchemaValType(n_type, 0);
   34934 
   34935         ret_val = xmlSchemaGetBuiltInType(type);
   34936         desret_xmlSchemaTypePtr(ret_val);
   34937         call_tests++;
   34938         des_xmlSchemaValType(n_type, type, 0);
   34939         xmlResetLastError();
   34940     }
   34941     function_tests++;
   34942 #endif
   34943 
   34944     return(test_ret);
   34945 }
   34946 
   34947 
   34948 static int
   34949 test_xmlSchemaGetCanonValue(void) {
   34950     int test_ret = 0;
   34951 
   34952 #if defined(LIBXML_SCHEMAS_ENABLED)
   34953     int mem_base;
   34954     int ret_val;
   34955     xmlSchemaValPtr val; /* the precomputed value */
   34956     int n_val;
   34957     xmlChar ** retValue; /* the returned value */
   34958     int n_retValue;
   34959 
   34960     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   34961     for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
   34962         mem_base = xmlMemBlocks();
   34963         val = gen_xmlSchemaValPtr(n_val, 0);
   34964         retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
   34965 
   34966         ret_val = xmlSchemaGetCanonValue(val, (const xmlChar **)retValue);
   34967         desret_int(ret_val);
   34968         call_tests++;
   34969         des_xmlSchemaValPtr(n_val, val, 0);
   34970         des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
   34971         xmlResetLastError();
   34972         if (mem_base != xmlMemBlocks()) {
   34973             printf("Leak of %d blocks found in xmlSchemaGetCanonValue",
   34974 	           xmlMemBlocks() - mem_base);
   34975 	    test_ret++;
   34976             printf(" %d", n_val);
   34977             printf(" %d", n_retValue);
   34978             printf("\n");
   34979         }
   34980     }
   34981     }
   34982     function_tests++;
   34983 #endif
   34984 
   34985     return(test_ret);
   34986 }
   34987 
   34988 
   34989 static int
   34990 test_xmlSchemaGetCanonValueWhtsp(void) {
   34991     int test_ret = 0;
   34992 
   34993 #if defined(LIBXML_SCHEMAS_ENABLED)
   34994     int mem_base;
   34995     int ret_val;
   34996     xmlSchemaValPtr val; /* the precomputed value */
   34997     int n_val;
   34998     xmlChar ** retValue; /* the returned value */
   34999     int n_retValue;
   35000     xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
   35001     int n_ws;
   35002 
   35003     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35004     for (n_retValue = 0;n_retValue < gen_nb_const_xmlChar_ptr_ptr;n_retValue++) {
   35005     for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
   35006         mem_base = xmlMemBlocks();
   35007         val = gen_xmlSchemaValPtr(n_val, 0);
   35008         retValue = gen_const_xmlChar_ptr_ptr(n_retValue, 1);
   35009         ws = gen_xmlSchemaWhitespaceValueType(n_ws, 2);
   35010 
   35011         ret_val = xmlSchemaGetCanonValueWhtsp(val, (const xmlChar **)retValue, ws);
   35012         desret_int(ret_val);
   35013         call_tests++;
   35014         des_xmlSchemaValPtr(n_val, val, 0);
   35015         des_const_xmlChar_ptr_ptr(n_retValue, (const xmlChar **)retValue, 1);
   35016         des_xmlSchemaWhitespaceValueType(n_ws, ws, 2);
   35017         xmlResetLastError();
   35018         if (mem_base != xmlMemBlocks()) {
   35019             printf("Leak of %d blocks found in xmlSchemaGetCanonValueWhtsp",
   35020 	           xmlMemBlocks() - mem_base);
   35021 	    test_ret++;
   35022             printf(" %d", n_val);
   35023             printf(" %d", n_retValue);
   35024             printf(" %d", n_ws);
   35025             printf("\n");
   35026         }
   35027     }
   35028     }
   35029     }
   35030     function_tests++;
   35031 #endif
   35032 
   35033     return(test_ret);
   35034 }
   35035 
   35036 
   35037 static int
   35038 test_xmlSchemaGetFacetValueAsULong(void) {
   35039     int test_ret = 0;
   35040 
   35041 #if defined(LIBXML_SCHEMAS_ENABLED)
   35042     int mem_base;
   35043     unsigned long ret_val;
   35044     xmlSchemaFacetPtr facet; /* an schemas type facet */
   35045     int n_facet;
   35046 
   35047     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
   35048         mem_base = xmlMemBlocks();
   35049         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
   35050 
   35051         ret_val = xmlSchemaGetFacetValueAsULong(facet);
   35052         desret_unsigned_long(ret_val);
   35053         call_tests++;
   35054         des_xmlSchemaFacetPtr(n_facet, facet, 0);
   35055         xmlResetLastError();
   35056         if (mem_base != xmlMemBlocks()) {
   35057             printf("Leak of %d blocks found in xmlSchemaGetFacetValueAsULong",
   35058 	           xmlMemBlocks() - mem_base);
   35059 	    test_ret++;
   35060             printf(" %d", n_facet);
   35061             printf("\n");
   35062         }
   35063     }
   35064     function_tests++;
   35065 #endif
   35066 
   35067     return(test_ret);
   35068 }
   35069 
   35070 
   35071 static int
   35072 test_xmlSchemaGetPredefinedType(void) {
   35073     int test_ret = 0;
   35074 
   35075 #if defined(LIBXML_SCHEMAS_ENABLED)
   35076     int mem_base;
   35077     xmlSchemaTypePtr ret_val;
   35078     xmlChar * name; /* the type name */
   35079     int n_name;
   35080     xmlChar * ns; /* the URI of the namespace usually "http://www.w3.org/2001/XMLSchema" */
   35081     int n_ns;
   35082 
   35083     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   35084     for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
   35085         mem_base = xmlMemBlocks();
   35086         name = gen_const_xmlChar_ptr(n_name, 0);
   35087         ns = gen_const_xmlChar_ptr(n_ns, 1);
   35088 
   35089         ret_val = xmlSchemaGetPredefinedType((const xmlChar *)name, (const xmlChar *)ns);
   35090         desret_xmlSchemaTypePtr(ret_val);
   35091         call_tests++;
   35092         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   35093         des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 1);
   35094         xmlResetLastError();
   35095         if (mem_base != xmlMemBlocks()) {
   35096             printf("Leak of %d blocks found in xmlSchemaGetPredefinedType",
   35097 	           xmlMemBlocks() - mem_base);
   35098 	    test_ret++;
   35099             printf(" %d", n_name);
   35100             printf(" %d", n_ns);
   35101             printf("\n");
   35102         }
   35103     }
   35104     }
   35105     function_tests++;
   35106 #endif
   35107 
   35108     return(test_ret);
   35109 }
   35110 
   35111 
   35112 static int
   35113 test_xmlSchemaGetValType(void) {
   35114     int test_ret = 0;
   35115 
   35116 #if defined(LIBXML_SCHEMAS_ENABLED)
   35117     int mem_base;
   35118     xmlSchemaValType ret_val;
   35119     xmlSchemaValPtr val; /* a schemas value */
   35120     int n_val;
   35121 
   35122     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35123         mem_base = xmlMemBlocks();
   35124         val = gen_xmlSchemaValPtr(n_val, 0);
   35125 
   35126         ret_val = xmlSchemaGetValType(val);
   35127         desret_xmlSchemaValType(ret_val);
   35128         call_tests++;
   35129         des_xmlSchemaValPtr(n_val, val, 0);
   35130         xmlResetLastError();
   35131         if (mem_base != xmlMemBlocks()) {
   35132             printf("Leak of %d blocks found in xmlSchemaGetValType",
   35133 	           xmlMemBlocks() - mem_base);
   35134 	    test_ret++;
   35135             printf(" %d", n_val);
   35136             printf("\n");
   35137         }
   35138     }
   35139     function_tests++;
   35140 #endif
   35141 
   35142     return(test_ret);
   35143 }
   35144 
   35145 
   35146 static int
   35147 test_xmlSchemaInitTypes(void) {
   35148     int test_ret = 0;
   35149 
   35150 #if defined(LIBXML_SCHEMAS_ENABLED)
   35151 
   35152 
   35153         xmlSchemaInitTypes();
   35154         call_tests++;
   35155         xmlResetLastError();
   35156     function_tests++;
   35157 #endif
   35158 
   35159     return(test_ret);
   35160 }
   35161 
   35162 
   35163 static int
   35164 test_xmlSchemaIsBuiltInTypeFacet(void) {
   35165     int test_ret = 0;
   35166 
   35167 #if defined(LIBXML_SCHEMAS_ENABLED)
   35168     int mem_base;
   35169     int ret_val;
   35170     xmlSchemaTypePtr type; /* the built-in type */
   35171     int n_type;
   35172     int facetType; /* the facet type */
   35173     int n_facetType;
   35174 
   35175     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
   35176     for (n_facetType = 0;n_facetType < gen_nb_int;n_facetType++) {
   35177         mem_base = xmlMemBlocks();
   35178         type = gen_xmlSchemaTypePtr(n_type, 0);
   35179         facetType = gen_int(n_facetType, 1);
   35180 
   35181         ret_val = xmlSchemaIsBuiltInTypeFacet(type, facetType);
   35182         desret_int(ret_val);
   35183         call_tests++;
   35184         des_xmlSchemaTypePtr(n_type, type, 0);
   35185         des_int(n_facetType, facetType, 1);
   35186         xmlResetLastError();
   35187         if (mem_base != xmlMemBlocks()) {
   35188             printf("Leak of %d blocks found in xmlSchemaIsBuiltInTypeFacet",
   35189 	           xmlMemBlocks() - mem_base);
   35190 	    test_ret++;
   35191             printf(" %d", n_type);
   35192             printf(" %d", n_facetType);
   35193             printf("\n");
   35194         }
   35195     }
   35196     }
   35197     function_tests++;
   35198 #endif
   35199 
   35200     return(test_ret);
   35201 }
   35202 
   35203 
   35204 static int
   35205 test_xmlSchemaNewFacet(void) {
   35206     int test_ret = 0;
   35207 
   35208 
   35209     /* missing type support */
   35210     return(test_ret);
   35211 }
   35212 
   35213 
   35214 static int
   35215 test_xmlSchemaNewNOTATIONValue(void) {
   35216     int test_ret = 0;
   35217 
   35218 
   35219     /* missing type support */
   35220     return(test_ret);
   35221 }
   35222 
   35223 
   35224 static int
   35225 test_xmlSchemaNewQNameValue(void) {
   35226     int test_ret = 0;
   35227 
   35228 
   35229     /* missing type support */
   35230     return(test_ret);
   35231 }
   35232 
   35233 
   35234 static int
   35235 test_xmlSchemaNewStringValue(void) {
   35236     int test_ret = 0;
   35237 
   35238 
   35239     /* missing type support */
   35240     return(test_ret);
   35241 }
   35242 
   35243 #ifdef LIBXML_SCHEMAS_ENABLED
   35244 
   35245 #define gen_nb_xmlSchemaValPtr_ptr 1
   35246 static xmlSchemaValPtr * gen_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   35247     return(NULL);
   35248 }
   35249 static void des_xmlSchemaValPtr_ptr(int no ATTRIBUTE_UNUSED, xmlSchemaValPtr * val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   35250 }
   35251 #endif
   35252 
   35253 
   35254 static int
   35255 test_xmlSchemaValPredefTypeNode(void) {
   35256     int test_ret = 0;
   35257 
   35258 #if defined(LIBXML_SCHEMAS_ENABLED)
   35259     int mem_base;
   35260     int ret_val;
   35261     xmlSchemaTypePtr type; /* the predefined type */
   35262     int n_type;
   35263     xmlChar * value; /* the value to check */
   35264     int n_value;
   35265     xmlSchemaValPtr * val; /* the return computed value */
   35266     int n_val;
   35267     xmlNodePtr node; /* the node containing the value */
   35268     int n_node;
   35269 
   35270     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
   35271     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35272     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
   35273     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   35274         mem_base = xmlMemBlocks();
   35275         type = gen_xmlSchemaTypePtr(n_type, 0);
   35276         value = gen_const_xmlChar_ptr(n_value, 1);
   35277         val = gen_xmlSchemaValPtr_ptr(n_val, 2);
   35278         node = gen_xmlNodePtr(n_node, 3);
   35279 
   35280         ret_val = xmlSchemaValPredefTypeNode(type, (const xmlChar *)value, val, node);
   35281         desret_int(ret_val);
   35282         call_tests++;
   35283         des_xmlSchemaTypePtr(n_type, type, 0);
   35284         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   35285         des_xmlSchemaValPtr_ptr(n_val, val, 2);
   35286         des_xmlNodePtr(n_node, node, 3);
   35287         xmlResetLastError();
   35288         if (mem_base != xmlMemBlocks()) {
   35289             printf("Leak of %d blocks found in xmlSchemaValPredefTypeNode",
   35290 	           xmlMemBlocks() - mem_base);
   35291 	    test_ret++;
   35292             printf(" %d", n_type);
   35293             printf(" %d", n_value);
   35294             printf(" %d", n_val);
   35295             printf(" %d", n_node);
   35296             printf("\n");
   35297         }
   35298     }
   35299     }
   35300     }
   35301     }
   35302     function_tests++;
   35303 #endif
   35304 
   35305     return(test_ret);
   35306 }
   35307 
   35308 
   35309 static int
   35310 test_xmlSchemaValPredefTypeNodeNoNorm(void) {
   35311     int test_ret = 0;
   35312 
   35313 #if defined(LIBXML_SCHEMAS_ENABLED)
   35314     int mem_base;
   35315     int ret_val;
   35316     xmlSchemaTypePtr type; /* the predefined type */
   35317     int n_type;
   35318     xmlChar * value; /* the value to check */
   35319     int n_value;
   35320     xmlSchemaValPtr * val; /* the return computed value */
   35321     int n_val;
   35322     xmlNodePtr node; /* the node containing the value */
   35323     int n_node;
   35324 
   35325     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
   35326     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35327     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
   35328     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   35329         mem_base = xmlMemBlocks();
   35330         type = gen_xmlSchemaTypePtr(n_type, 0);
   35331         value = gen_const_xmlChar_ptr(n_value, 1);
   35332         val = gen_xmlSchemaValPtr_ptr(n_val, 2);
   35333         node = gen_xmlNodePtr(n_node, 3);
   35334 
   35335         ret_val = xmlSchemaValPredefTypeNodeNoNorm(type, (const xmlChar *)value, val, node);
   35336         desret_int(ret_val);
   35337         call_tests++;
   35338         des_xmlSchemaTypePtr(n_type, type, 0);
   35339         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   35340         des_xmlSchemaValPtr_ptr(n_val, val, 2);
   35341         des_xmlNodePtr(n_node, node, 3);
   35342         xmlResetLastError();
   35343         if (mem_base != xmlMemBlocks()) {
   35344             printf("Leak of %d blocks found in xmlSchemaValPredefTypeNodeNoNorm",
   35345 	           xmlMemBlocks() - mem_base);
   35346 	    test_ret++;
   35347             printf(" %d", n_type);
   35348             printf(" %d", n_value);
   35349             printf(" %d", n_val);
   35350             printf(" %d", n_node);
   35351             printf("\n");
   35352         }
   35353     }
   35354     }
   35355     }
   35356     }
   35357     function_tests++;
   35358 #endif
   35359 
   35360     return(test_ret);
   35361 }
   35362 
   35363 
   35364 static int
   35365 test_xmlSchemaValidateFacet(void) {
   35366     int test_ret = 0;
   35367 
   35368 #if defined(LIBXML_SCHEMAS_ENABLED)
   35369     int mem_base;
   35370     int ret_val;
   35371     xmlSchemaTypePtr base; /* the base type */
   35372     int n_base;
   35373     xmlSchemaFacetPtr facet; /* the facet to check */
   35374     int n_facet;
   35375     xmlChar * value; /* the lexical repr of the value to validate */
   35376     int n_value;
   35377     xmlSchemaValPtr val; /* the precomputed value */
   35378     int n_val;
   35379 
   35380     for (n_base = 0;n_base < gen_nb_xmlSchemaTypePtr;n_base++) {
   35381     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
   35382     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35383     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35384         mem_base = xmlMemBlocks();
   35385         base = gen_xmlSchemaTypePtr(n_base, 0);
   35386         facet = gen_xmlSchemaFacetPtr(n_facet, 1);
   35387         value = gen_const_xmlChar_ptr(n_value, 2);
   35388         val = gen_xmlSchemaValPtr(n_val, 3);
   35389 
   35390         ret_val = xmlSchemaValidateFacet(base, facet, (const xmlChar *)value, val);
   35391         desret_int(ret_val);
   35392         call_tests++;
   35393         des_xmlSchemaTypePtr(n_base, base, 0);
   35394         des_xmlSchemaFacetPtr(n_facet, facet, 1);
   35395         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
   35396         des_xmlSchemaValPtr(n_val, val, 3);
   35397         xmlResetLastError();
   35398         if (mem_base != xmlMemBlocks()) {
   35399             printf("Leak of %d blocks found in xmlSchemaValidateFacet",
   35400 	           xmlMemBlocks() - mem_base);
   35401 	    test_ret++;
   35402             printf(" %d", n_base);
   35403             printf(" %d", n_facet);
   35404             printf(" %d", n_value);
   35405             printf(" %d", n_val);
   35406             printf("\n");
   35407         }
   35408     }
   35409     }
   35410     }
   35411     }
   35412     function_tests++;
   35413 #endif
   35414 
   35415     return(test_ret);
   35416 }
   35417 
   35418 
   35419 static int
   35420 test_xmlSchemaValidateFacetWhtsp(void) {
   35421     int test_ret = 0;
   35422 
   35423 #if defined(LIBXML_SCHEMAS_ENABLED)
   35424     int mem_base;
   35425     int ret_val;
   35426     xmlSchemaFacetPtr facet; /* the facet to check */
   35427     int n_facet;
   35428     xmlSchemaWhitespaceValueType fws; /* the whitespace type of the facet's value */
   35429     int n_fws;
   35430     xmlSchemaValType valType; /* the built-in type of the value */
   35431     int n_valType;
   35432     xmlChar * value; /* the lexical (or normalized for pattern) repr of the value to validate */
   35433     int n_value;
   35434     xmlSchemaValPtr val; /* the precomputed value */
   35435     int n_val;
   35436     xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
   35437     int n_ws;
   35438 
   35439     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
   35440     for (n_fws = 0;n_fws < gen_nb_xmlSchemaWhitespaceValueType;n_fws++) {
   35441     for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
   35442     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35443     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35444     for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
   35445         mem_base = xmlMemBlocks();
   35446         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
   35447         fws = gen_xmlSchemaWhitespaceValueType(n_fws, 1);
   35448         valType = gen_xmlSchemaValType(n_valType, 2);
   35449         value = gen_const_xmlChar_ptr(n_value, 3);
   35450         val = gen_xmlSchemaValPtr(n_val, 4);
   35451         ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
   35452 
   35453         ret_val = xmlSchemaValidateFacetWhtsp(facet, fws, valType, (const xmlChar *)value, val, ws);
   35454         desret_int(ret_val);
   35455         call_tests++;
   35456         des_xmlSchemaFacetPtr(n_facet, facet, 0);
   35457         des_xmlSchemaWhitespaceValueType(n_fws, fws, 1);
   35458         des_xmlSchemaValType(n_valType, valType, 2);
   35459         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 3);
   35460         des_xmlSchemaValPtr(n_val, val, 4);
   35461         des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
   35462         xmlResetLastError();
   35463         if (mem_base != xmlMemBlocks()) {
   35464             printf("Leak of %d blocks found in xmlSchemaValidateFacetWhtsp",
   35465 	           xmlMemBlocks() - mem_base);
   35466 	    test_ret++;
   35467             printf(" %d", n_facet);
   35468             printf(" %d", n_fws);
   35469             printf(" %d", n_valType);
   35470             printf(" %d", n_value);
   35471             printf(" %d", n_val);
   35472             printf(" %d", n_ws);
   35473             printf("\n");
   35474         }
   35475     }
   35476     }
   35477     }
   35478     }
   35479     }
   35480     }
   35481     function_tests++;
   35482 #endif
   35483 
   35484     return(test_ret);
   35485 }
   35486 
   35487 
   35488 static int
   35489 test_xmlSchemaValidateLengthFacet(void) {
   35490     int test_ret = 0;
   35491 
   35492 #if defined(LIBXML_SCHEMAS_ENABLED)
   35493     int mem_base;
   35494     int ret_val;
   35495     xmlSchemaTypePtr type; /* the built-in type */
   35496     int n_type;
   35497     xmlSchemaFacetPtr facet; /* the facet to check */
   35498     int n_facet;
   35499     xmlChar * value; /* the lexical repr. of the value to be validated */
   35500     int n_value;
   35501     xmlSchemaValPtr val; /* the precomputed value */
   35502     int n_val;
   35503     unsigned long * length; /* the actual length of the value */
   35504     int n_length;
   35505 
   35506     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
   35507     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
   35508     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35509     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35510     for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
   35511         mem_base = xmlMemBlocks();
   35512         type = gen_xmlSchemaTypePtr(n_type, 0);
   35513         facet = gen_xmlSchemaFacetPtr(n_facet, 1);
   35514         value = gen_const_xmlChar_ptr(n_value, 2);
   35515         val = gen_xmlSchemaValPtr(n_val, 3);
   35516         length = gen_unsigned_long_ptr(n_length, 4);
   35517 
   35518         ret_val = xmlSchemaValidateLengthFacet(type, facet, (const xmlChar *)value, val, length);
   35519         desret_int(ret_val);
   35520         call_tests++;
   35521         des_xmlSchemaTypePtr(n_type, type, 0);
   35522         des_xmlSchemaFacetPtr(n_facet, facet, 1);
   35523         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
   35524         des_xmlSchemaValPtr(n_val, val, 3);
   35525         des_unsigned_long_ptr(n_length, length, 4);
   35526         xmlResetLastError();
   35527         if (mem_base != xmlMemBlocks()) {
   35528             printf("Leak of %d blocks found in xmlSchemaValidateLengthFacet",
   35529 	           xmlMemBlocks() - mem_base);
   35530 	    test_ret++;
   35531             printf(" %d", n_type);
   35532             printf(" %d", n_facet);
   35533             printf(" %d", n_value);
   35534             printf(" %d", n_val);
   35535             printf(" %d", n_length);
   35536             printf("\n");
   35537         }
   35538     }
   35539     }
   35540     }
   35541     }
   35542     }
   35543     function_tests++;
   35544 #endif
   35545 
   35546     return(test_ret);
   35547 }
   35548 
   35549 
   35550 static int
   35551 test_xmlSchemaValidateLengthFacetWhtsp(void) {
   35552     int test_ret = 0;
   35553 
   35554 #if defined(LIBXML_SCHEMAS_ENABLED)
   35555     int mem_base;
   35556     int ret_val;
   35557     xmlSchemaFacetPtr facet; /* the facet to check */
   35558     int n_facet;
   35559     xmlSchemaValType valType; /* the built-in type */
   35560     int n_valType;
   35561     xmlChar * value; /* the lexical repr. of the value to be validated */
   35562     int n_value;
   35563     xmlSchemaValPtr val; /* the precomputed value */
   35564     int n_val;
   35565     unsigned long * length; /* the actual length of the value */
   35566     int n_length;
   35567     xmlSchemaWhitespaceValueType ws; /* the whitespace type of the value */
   35568     int n_ws;
   35569 
   35570     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
   35571     for (n_valType = 0;n_valType < gen_nb_xmlSchemaValType;n_valType++) {
   35572     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35573     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35574     for (n_length = 0;n_length < gen_nb_unsigned_long_ptr;n_length++) {
   35575     for (n_ws = 0;n_ws < gen_nb_xmlSchemaWhitespaceValueType;n_ws++) {
   35576         mem_base = xmlMemBlocks();
   35577         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
   35578         valType = gen_xmlSchemaValType(n_valType, 1);
   35579         value = gen_const_xmlChar_ptr(n_value, 2);
   35580         val = gen_xmlSchemaValPtr(n_val, 3);
   35581         length = gen_unsigned_long_ptr(n_length, 4);
   35582         ws = gen_xmlSchemaWhitespaceValueType(n_ws, 5);
   35583 
   35584         ret_val = xmlSchemaValidateLengthFacetWhtsp(facet, valType, (const xmlChar *)value, val, length, ws);
   35585         desret_int(ret_val);
   35586         call_tests++;
   35587         des_xmlSchemaFacetPtr(n_facet, facet, 0);
   35588         des_xmlSchemaValType(n_valType, valType, 1);
   35589         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 2);
   35590         des_xmlSchemaValPtr(n_val, val, 3);
   35591         des_unsigned_long_ptr(n_length, length, 4);
   35592         des_xmlSchemaWhitespaceValueType(n_ws, ws, 5);
   35593         xmlResetLastError();
   35594         if (mem_base != xmlMemBlocks()) {
   35595             printf("Leak of %d blocks found in xmlSchemaValidateLengthFacetWhtsp",
   35596 	           xmlMemBlocks() - mem_base);
   35597 	    test_ret++;
   35598             printf(" %d", n_facet);
   35599             printf(" %d", n_valType);
   35600             printf(" %d", n_value);
   35601             printf(" %d", n_val);
   35602             printf(" %d", n_length);
   35603             printf(" %d", n_ws);
   35604             printf("\n");
   35605         }
   35606     }
   35607     }
   35608     }
   35609     }
   35610     }
   35611     }
   35612     function_tests++;
   35613 #endif
   35614 
   35615     return(test_ret);
   35616 }
   35617 
   35618 
   35619 static int
   35620 test_xmlSchemaValidateListSimpleTypeFacet(void) {
   35621     int test_ret = 0;
   35622 
   35623 #if defined(LIBXML_SCHEMAS_ENABLED)
   35624     int mem_base;
   35625     int ret_val;
   35626     xmlSchemaFacetPtr facet; /* the facet to check */
   35627     int n_facet;
   35628     xmlChar * value; /* the lexical repr of the value to validate */
   35629     int n_value;
   35630     unsigned long actualLen; /* the number of list items */
   35631     int n_actualLen;
   35632     unsigned long * expectedLen; /* the resulting expected number of list items */
   35633     int n_expectedLen;
   35634 
   35635     for (n_facet = 0;n_facet < gen_nb_xmlSchemaFacetPtr;n_facet++) {
   35636     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35637     for (n_actualLen = 0;n_actualLen < gen_nb_unsigned_long;n_actualLen++) {
   35638     for (n_expectedLen = 0;n_expectedLen < gen_nb_unsigned_long_ptr;n_expectedLen++) {
   35639         mem_base = xmlMemBlocks();
   35640         facet = gen_xmlSchemaFacetPtr(n_facet, 0);
   35641         value = gen_const_xmlChar_ptr(n_value, 1);
   35642         actualLen = gen_unsigned_long(n_actualLen, 2);
   35643         expectedLen = gen_unsigned_long_ptr(n_expectedLen, 3);
   35644 
   35645         ret_val = xmlSchemaValidateListSimpleTypeFacet(facet, (const xmlChar *)value, actualLen, expectedLen);
   35646         desret_int(ret_val);
   35647         call_tests++;
   35648         des_xmlSchemaFacetPtr(n_facet, facet, 0);
   35649         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   35650         des_unsigned_long(n_actualLen, actualLen, 2);
   35651         des_unsigned_long_ptr(n_expectedLen, expectedLen, 3);
   35652         xmlResetLastError();
   35653         if (mem_base != xmlMemBlocks()) {
   35654             printf("Leak of %d blocks found in xmlSchemaValidateListSimpleTypeFacet",
   35655 	           xmlMemBlocks() - mem_base);
   35656 	    test_ret++;
   35657             printf(" %d", n_facet);
   35658             printf(" %d", n_value);
   35659             printf(" %d", n_actualLen);
   35660             printf(" %d", n_expectedLen);
   35661             printf("\n");
   35662         }
   35663     }
   35664     }
   35665     }
   35666     }
   35667     function_tests++;
   35668 #endif
   35669 
   35670     return(test_ret);
   35671 }
   35672 
   35673 
   35674 static int
   35675 test_xmlSchemaValidatePredefinedType(void) {
   35676     int test_ret = 0;
   35677 
   35678 #if defined(LIBXML_SCHEMAS_ENABLED)
   35679     int mem_base;
   35680     int ret_val;
   35681     xmlSchemaTypePtr type; /* the predefined type */
   35682     int n_type;
   35683     xmlChar * value; /* the value to check */
   35684     int n_value;
   35685     xmlSchemaValPtr * val; /* the return computed value */
   35686     int n_val;
   35687 
   35688     for (n_type = 0;n_type < gen_nb_xmlSchemaTypePtr;n_type++) {
   35689     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35690     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr_ptr;n_val++) {
   35691         mem_base = xmlMemBlocks();
   35692         type = gen_xmlSchemaTypePtr(n_type, 0);
   35693         value = gen_const_xmlChar_ptr(n_value, 1);
   35694         val = gen_xmlSchemaValPtr_ptr(n_val, 2);
   35695 
   35696         ret_val = xmlSchemaValidatePredefinedType(type, (const xmlChar *)value, val);
   35697         desret_int(ret_val);
   35698         call_tests++;
   35699         des_xmlSchemaTypePtr(n_type, type, 0);
   35700         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 1);
   35701         des_xmlSchemaValPtr_ptr(n_val, val, 2);
   35702         xmlResetLastError();
   35703         if (mem_base != xmlMemBlocks()) {
   35704             printf("Leak of %d blocks found in xmlSchemaValidatePredefinedType",
   35705 	           xmlMemBlocks() - mem_base);
   35706 	    test_ret++;
   35707             printf(" %d", n_type);
   35708             printf(" %d", n_value);
   35709             printf(" %d", n_val);
   35710             printf("\n");
   35711         }
   35712     }
   35713     }
   35714     }
   35715     function_tests++;
   35716 #endif
   35717 
   35718     return(test_ret);
   35719 }
   35720 
   35721 
   35722 static int
   35723 test_xmlSchemaValueAppend(void) {
   35724     int test_ret = 0;
   35725 
   35726 #if defined(LIBXML_SCHEMAS_ENABLED)
   35727     int mem_base;
   35728     int ret_val;
   35729     xmlSchemaValPtr prev; /* the value */
   35730     int n_prev;
   35731     xmlSchemaValPtr cur; /* the value to be appended */
   35732     int n_cur;
   35733 
   35734     for (n_prev = 0;n_prev < gen_nb_xmlSchemaValPtr;n_prev++) {
   35735     for (n_cur = 0;n_cur < gen_nb_xmlSchemaValPtr;n_cur++) {
   35736         mem_base = xmlMemBlocks();
   35737         prev = gen_xmlSchemaValPtr(n_prev, 0);
   35738         cur = gen_xmlSchemaValPtr(n_cur, 1);
   35739 
   35740         ret_val = xmlSchemaValueAppend(prev, cur);
   35741         desret_int(ret_val);
   35742         call_tests++;
   35743         des_xmlSchemaValPtr(n_prev, prev, 0);
   35744         des_xmlSchemaValPtr(n_cur, cur, 1);
   35745         xmlResetLastError();
   35746         if (mem_base != xmlMemBlocks()) {
   35747             printf("Leak of %d blocks found in xmlSchemaValueAppend",
   35748 	           xmlMemBlocks() - mem_base);
   35749 	    test_ret++;
   35750             printf(" %d", n_prev);
   35751             printf(" %d", n_cur);
   35752             printf("\n");
   35753         }
   35754     }
   35755     }
   35756     function_tests++;
   35757 #endif
   35758 
   35759     return(test_ret);
   35760 }
   35761 
   35762 
   35763 static int
   35764 test_xmlSchemaValueGetAsBoolean(void) {
   35765     int test_ret = 0;
   35766 
   35767 #if defined(LIBXML_SCHEMAS_ENABLED)
   35768     int mem_base;
   35769     int ret_val;
   35770     xmlSchemaValPtr val; /* the value */
   35771     int n_val;
   35772 
   35773     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35774         mem_base = xmlMemBlocks();
   35775         val = gen_xmlSchemaValPtr(n_val, 0);
   35776 
   35777         ret_val = xmlSchemaValueGetAsBoolean(val);
   35778         desret_int(ret_val);
   35779         call_tests++;
   35780         des_xmlSchemaValPtr(n_val, val, 0);
   35781         xmlResetLastError();
   35782         if (mem_base != xmlMemBlocks()) {
   35783             printf("Leak of %d blocks found in xmlSchemaValueGetAsBoolean",
   35784 	           xmlMemBlocks() - mem_base);
   35785 	    test_ret++;
   35786             printf(" %d", n_val);
   35787             printf("\n");
   35788         }
   35789     }
   35790     function_tests++;
   35791 #endif
   35792 
   35793     return(test_ret);
   35794 }
   35795 
   35796 
   35797 static int
   35798 test_xmlSchemaValueGetAsString(void) {
   35799     int test_ret = 0;
   35800 
   35801 #if defined(LIBXML_SCHEMAS_ENABLED)
   35802     int mem_base;
   35803     const xmlChar * ret_val;
   35804     xmlSchemaValPtr val; /* the value */
   35805     int n_val;
   35806 
   35807     for (n_val = 0;n_val < gen_nb_xmlSchemaValPtr;n_val++) {
   35808         mem_base = xmlMemBlocks();
   35809         val = gen_xmlSchemaValPtr(n_val, 0);
   35810 
   35811         ret_val = xmlSchemaValueGetAsString(val);
   35812         desret_const_xmlChar_ptr(ret_val);
   35813         call_tests++;
   35814         des_xmlSchemaValPtr(n_val, val, 0);
   35815         xmlResetLastError();
   35816         if (mem_base != xmlMemBlocks()) {
   35817             printf("Leak of %d blocks found in xmlSchemaValueGetAsString",
   35818 	           xmlMemBlocks() - mem_base);
   35819 	    test_ret++;
   35820             printf(" %d", n_val);
   35821             printf("\n");
   35822         }
   35823     }
   35824     function_tests++;
   35825 #endif
   35826 
   35827     return(test_ret);
   35828 }
   35829 
   35830 
   35831 static int
   35832 test_xmlSchemaValueGetNext(void) {
   35833     int test_ret = 0;
   35834 
   35835 
   35836     /* missing type support */
   35837     return(test_ret);
   35838 }
   35839 
   35840 
   35841 static int
   35842 test_xmlSchemaWhiteSpaceReplace(void) {
   35843     int test_ret = 0;
   35844 
   35845 #if defined(LIBXML_SCHEMAS_ENABLED)
   35846     int mem_base;
   35847     xmlChar * ret_val;
   35848     xmlChar * value; /* a value */
   35849     int n_value;
   35850 
   35851     for (n_value = 0;n_value < gen_nb_const_xmlChar_ptr;n_value++) {
   35852         mem_base = xmlMemBlocks();
   35853         value = gen_const_xmlChar_ptr(n_value, 0);
   35854 
   35855         ret_val = xmlSchemaWhiteSpaceReplace((const xmlChar *)value);
   35856         desret_xmlChar_ptr(ret_val);
   35857         call_tests++;
   35858         des_const_xmlChar_ptr(n_value, (const xmlChar *)value, 0);
   35859         xmlResetLastError();
   35860         if (mem_base != xmlMemBlocks()) {
   35861             printf("Leak of %d blocks found in xmlSchemaWhiteSpaceReplace",
   35862 	           xmlMemBlocks() - mem_base);
   35863 	    test_ret++;
   35864             printf(" %d", n_value);
   35865             printf("\n");
   35866         }
   35867     }
   35868     function_tests++;
   35869 #endif
   35870 
   35871     return(test_ret);
   35872 }
   35873 
   35874 static int
   35875 test_xmlschemastypes(void) {
   35876     int test_ret = 0;
   35877 
   35878     if (quiet == 0) printf("Testing xmlschemastypes : 26 of 34 functions ...\n");
   35879     test_ret += test_xmlSchemaCheckFacet();
   35880     test_ret += test_xmlSchemaCleanupTypes();
   35881     test_ret += test_xmlSchemaCollapseString();
   35882     test_ret += test_xmlSchemaCompareValues();
   35883     test_ret += test_xmlSchemaCompareValuesWhtsp();
   35884     test_ret += test_xmlSchemaCopyValue();
   35885     test_ret += test_xmlSchemaGetBuiltInListSimpleTypeItemType();
   35886     test_ret += test_xmlSchemaGetBuiltInType();
   35887     test_ret += test_xmlSchemaGetCanonValue();
   35888     test_ret += test_xmlSchemaGetCanonValueWhtsp();
   35889     test_ret += test_xmlSchemaGetFacetValueAsULong();
   35890     test_ret += test_xmlSchemaGetPredefinedType();
   35891     test_ret += test_xmlSchemaGetValType();
   35892     test_ret += test_xmlSchemaInitTypes();
   35893     test_ret += test_xmlSchemaIsBuiltInTypeFacet();
   35894     test_ret += test_xmlSchemaNewFacet();
   35895     test_ret += test_xmlSchemaNewNOTATIONValue();
   35896     test_ret += test_xmlSchemaNewQNameValue();
   35897     test_ret += test_xmlSchemaNewStringValue();
   35898     test_ret += test_xmlSchemaValPredefTypeNode();
   35899     test_ret += test_xmlSchemaValPredefTypeNodeNoNorm();
   35900     test_ret += test_xmlSchemaValidateFacet();
   35901     test_ret += test_xmlSchemaValidateFacetWhtsp();
   35902     test_ret += test_xmlSchemaValidateLengthFacet();
   35903     test_ret += test_xmlSchemaValidateLengthFacetWhtsp();
   35904     test_ret += test_xmlSchemaValidateListSimpleTypeFacet();
   35905     test_ret += test_xmlSchemaValidatePredefinedType();
   35906     test_ret += test_xmlSchemaValueAppend();
   35907     test_ret += test_xmlSchemaValueGetAsBoolean();
   35908     test_ret += test_xmlSchemaValueGetAsString();
   35909     test_ret += test_xmlSchemaValueGetNext();
   35910     test_ret += test_xmlSchemaWhiteSpaceReplace();
   35911 
   35912     if (test_ret != 0)
   35913 	printf("Module xmlschemastypes: %d errors\n", test_ret);
   35914     return(test_ret);
   35915 }
   35916 
   35917 static int
   35918 test_xmlCharStrdup(void) {
   35919     int test_ret = 0;
   35920 
   35921     int mem_base;
   35922     xmlChar * ret_val;
   35923     char * cur; /* the input char * */
   35924     int n_cur;
   35925 
   35926     for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
   35927         mem_base = xmlMemBlocks();
   35928         cur = gen_const_char_ptr(n_cur, 0);
   35929 
   35930         ret_val = xmlCharStrdup((const char *)cur);
   35931         desret_xmlChar_ptr(ret_val);
   35932         call_tests++;
   35933         des_const_char_ptr(n_cur, (const char *)cur, 0);
   35934         xmlResetLastError();
   35935         if (mem_base != xmlMemBlocks()) {
   35936             printf("Leak of %d blocks found in xmlCharStrdup",
   35937 	           xmlMemBlocks() - mem_base);
   35938 	    test_ret++;
   35939             printf(" %d", n_cur);
   35940             printf("\n");
   35941         }
   35942     }
   35943     function_tests++;
   35944 
   35945     return(test_ret);
   35946 }
   35947 
   35948 
   35949 static int
   35950 test_xmlCharStrndup(void) {
   35951     int test_ret = 0;
   35952 
   35953     int mem_base;
   35954     xmlChar * ret_val;
   35955     char * cur; /* the input char * */
   35956     int n_cur;
   35957     int len; /* the len of @cur */
   35958     int n_len;
   35959 
   35960     for (n_cur = 0;n_cur < gen_nb_const_char_ptr;n_cur++) {
   35961     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   35962         mem_base = xmlMemBlocks();
   35963         cur = gen_const_char_ptr(n_cur, 0);
   35964         len = gen_int(n_len, 1);
   35965 
   35966         ret_val = xmlCharStrndup((const char *)cur, len);
   35967         desret_xmlChar_ptr(ret_val);
   35968         call_tests++;
   35969         des_const_char_ptr(n_cur, (const char *)cur, 0);
   35970         des_int(n_len, len, 1);
   35971         xmlResetLastError();
   35972         if (mem_base != xmlMemBlocks()) {
   35973             printf("Leak of %d blocks found in xmlCharStrndup",
   35974 	           xmlMemBlocks() - mem_base);
   35975 	    test_ret++;
   35976             printf(" %d", n_cur);
   35977             printf(" %d", n_len);
   35978             printf("\n");
   35979         }
   35980     }
   35981     }
   35982     function_tests++;
   35983 
   35984     return(test_ret);
   35985 }
   35986 
   35987 
   35988 static int
   35989 test_xmlCheckUTF8(void) {
   35990     int test_ret = 0;
   35991 
   35992     int mem_base;
   35993     int ret_val;
   35994     unsigned char * utf; /* Pointer to putative UTF-8 encoded string. */
   35995     int n_utf;
   35996 
   35997     for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
   35998         mem_base = xmlMemBlocks();
   35999         utf = gen_const_unsigned_char_ptr(n_utf, 0);
   36000 
   36001         ret_val = xmlCheckUTF8((const unsigned char *)utf);
   36002         desret_int(ret_val);
   36003         call_tests++;
   36004         des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
   36005         xmlResetLastError();
   36006         if (mem_base != xmlMemBlocks()) {
   36007             printf("Leak of %d blocks found in xmlCheckUTF8",
   36008 	           xmlMemBlocks() - mem_base);
   36009 	    test_ret++;
   36010             printf(" %d", n_utf);
   36011             printf("\n");
   36012         }
   36013     }
   36014     function_tests++;
   36015 
   36016     return(test_ret);
   36017 }
   36018 
   36019 
   36020 static int
   36021 test_xmlGetUTF8Char(void) {
   36022     int test_ret = 0;
   36023 
   36024     int mem_base;
   36025     int ret_val;
   36026     unsigned char * utf; /* a sequence of UTF-8 encoded bytes */
   36027     int n_utf;
   36028     int * len; /* a pointer to the minimum number of bytes present in the sequence.  This is used to assure the next character is completely contained within the sequence. */
   36029     int n_len;
   36030 
   36031     for (n_utf = 0;n_utf < gen_nb_const_unsigned_char_ptr;n_utf++) {
   36032     for (n_len = 0;n_len < gen_nb_int_ptr;n_len++) {
   36033         mem_base = xmlMemBlocks();
   36034         utf = gen_const_unsigned_char_ptr(n_utf, 0);
   36035         len = gen_int_ptr(n_len, 1);
   36036 
   36037         ret_val = xmlGetUTF8Char((const unsigned char *)utf, len);
   36038         desret_int(ret_val);
   36039         call_tests++;
   36040         des_const_unsigned_char_ptr(n_utf, (const unsigned char *)utf, 0);
   36041         des_int_ptr(n_len, len, 1);
   36042         xmlResetLastError();
   36043         if (mem_base != xmlMemBlocks()) {
   36044             printf("Leak of %d blocks found in xmlGetUTF8Char",
   36045 	           xmlMemBlocks() - mem_base);
   36046 	    test_ret++;
   36047             printf(" %d", n_utf);
   36048             printf(" %d", n_len);
   36049             printf("\n");
   36050         }
   36051     }
   36052     }
   36053     function_tests++;
   36054 
   36055     return(test_ret);
   36056 }
   36057 
   36058 
   36059 static int
   36060 test_xmlStrEqual(void) {
   36061     int test_ret = 0;
   36062 
   36063     int mem_base;
   36064     int ret_val;
   36065     xmlChar * str1; /* the first xmlChar * */
   36066     int n_str1;
   36067     xmlChar * str2; /* the second xmlChar * */
   36068     int n_str2;
   36069 
   36070     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
   36071     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
   36072         mem_base = xmlMemBlocks();
   36073         str1 = gen_const_xmlChar_ptr(n_str1, 0);
   36074         str2 = gen_const_xmlChar_ptr(n_str2, 1);
   36075 
   36076         ret_val = xmlStrEqual((const xmlChar *)str1, (const xmlChar *)str2);
   36077         desret_int(ret_val);
   36078         call_tests++;
   36079         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
   36080         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
   36081         xmlResetLastError();
   36082         if (mem_base != xmlMemBlocks()) {
   36083             printf("Leak of %d blocks found in xmlStrEqual",
   36084 	           xmlMemBlocks() - mem_base);
   36085 	    test_ret++;
   36086             printf(" %d", n_str1);
   36087             printf(" %d", n_str2);
   36088             printf("\n");
   36089         }
   36090     }
   36091     }
   36092     function_tests++;
   36093 
   36094     return(test_ret);
   36095 }
   36096 
   36097 
   36098 static int
   36099 test_xmlStrPrintf(void) {
   36100     int test_ret = 0;
   36101 
   36102 
   36103     /* missing type support */
   36104     return(test_ret);
   36105 }
   36106 
   36107 
   36108 static int
   36109 test_xmlStrQEqual(void) {
   36110     int test_ret = 0;
   36111 
   36112     int mem_base;
   36113     int ret_val;
   36114     xmlChar * pref; /* the prefix of the QName */
   36115     int n_pref;
   36116     xmlChar * name; /* the localname of the QName */
   36117     int n_name;
   36118     xmlChar * str; /* the second xmlChar * */
   36119     int n_str;
   36120 
   36121     for (n_pref = 0;n_pref < gen_nb_const_xmlChar_ptr;n_pref++) {
   36122     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   36123     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   36124         mem_base = xmlMemBlocks();
   36125         pref = gen_const_xmlChar_ptr(n_pref, 0);
   36126         name = gen_const_xmlChar_ptr(n_name, 1);
   36127         str = gen_const_xmlChar_ptr(n_str, 2);
   36128 
   36129         ret_val = xmlStrQEqual((const xmlChar *)pref, (const xmlChar *)name, (const xmlChar *)str);
   36130         desret_int(ret_val);
   36131         call_tests++;
   36132         des_const_xmlChar_ptr(n_pref, (const xmlChar *)pref, 0);
   36133         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   36134         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 2);
   36135         xmlResetLastError();
   36136         if (mem_base != xmlMemBlocks()) {
   36137             printf("Leak of %d blocks found in xmlStrQEqual",
   36138 	           xmlMemBlocks() - mem_base);
   36139 	    test_ret++;
   36140             printf(" %d", n_pref);
   36141             printf(" %d", n_name);
   36142             printf(" %d", n_str);
   36143             printf("\n");
   36144         }
   36145     }
   36146     }
   36147     }
   36148     function_tests++;
   36149 
   36150     return(test_ret);
   36151 }
   36152 
   36153 
   36154 static int
   36155 test_xmlStrVPrintf(void) {
   36156     int test_ret = 0;
   36157 
   36158 
   36159     /* missing type support */
   36160     return(test_ret);
   36161 }
   36162 
   36163 
   36164 static int
   36165 test_xmlStrcasecmp(void) {
   36166     int test_ret = 0;
   36167 
   36168     int mem_base;
   36169     int ret_val;
   36170     xmlChar * str1; /* the first xmlChar * */
   36171     int n_str1;
   36172     xmlChar * str2; /* the second xmlChar * */
   36173     int n_str2;
   36174 
   36175     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
   36176     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
   36177         mem_base = xmlMemBlocks();
   36178         str1 = gen_const_xmlChar_ptr(n_str1, 0);
   36179         str2 = gen_const_xmlChar_ptr(n_str2, 1);
   36180 
   36181         ret_val = xmlStrcasecmp((const xmlChar *)str1, (const xmlChar *)str2);
   36182         desret_int(ret_val);
   36183         call_tests++;
   36184         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
   36185         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
   36186         xmlResetLastError();
   36187         if (mem_base != xmlMemBlocks()) {
   36188             printf("Leak of %d blocks found in xmlStrcasecmp",
   36189 	           xmlMemBlocks() - mem_base);
   36190 	    test_ret++;
   36191             printf(" %d", n_str1);
   36192             printf(" %d", n_str2);
   36193             printf("\n");
   36194         }
   36195     }
   36196     }
   36197     function_tests++;
   36198 
   36199     return(test_ret);
   36200 }
   36201 
   36202 
   36203 static int
   36204 test_xmlStrcasestr(void) {
   36205     int test_ret = 0;
   36206 
   36207     int mem_base;
   36208     const xmlChar * ret_val;
   36209     xmlChar * str; /* the xmlChar * array (haystack) */
   36210     int n_str;
   36211     xmlChar * val; /* the xmlChar to search (needle) */
   36212     int n_val;
   36213 
   36214     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   36215     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
   36216         mem_base = xmlMemBlocks();
   36217         str = gen_const_xmlChar_ptr(n_str, 0);
   36218         val = gen_const_xmlChar_ptr(n_val, 1);
   36219 
   36220         ret_val = xmlStrcasestr((const xmlChar *)str, (const xmlChar *)val);
   36221         desret_const_xmlChar_ptr(ret_val);
   36222         call_tests++;
   36223         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   36224         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
   36225         xmlResetLastError();
   36226         if (mem_base != xmlMemBlocks()) {
   36227             printf("Leak of %d blocks found in xmlStrcasestr",
   36228 	           xmlMemBlocks() - mem_base);
   36229 	    test_ret++;
   36230             printf(" %d", n_str);
   36231             printf(" %d", n_val);
   36232             printf("\n");
   36233         }
   36234     }
   36235     }
   36236     function_tests++;
   36237 
   36238     return(test_ret);
   36239 }
   36240 
   36241 
   36242 static int
   36243 test_xmlStrchr(void) {
   36244     int test_ret = 0;
   36245 
   36246     int mem_base;
   36247     const xmlChar * ret_val;
   36248     xmlChar * str; /* the xmlChar * array */
   36249     int n_str;
   36250     xmlChar val; /* the xmlChar to search */
   36251     int n_val;
   36252 
   36253     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   36254     for (n_val = 0;n_val < gen_nb_xmlChar;n_val++) {
   36255         mem_base = xmlMemBlocks();
   36256         str = gen_const_xmlChar_ptr(n_str, 0);
   36257         val = gen_xmlChar(n_val, 1);
   36258 
   36259         ret_val = xmlStrchr((const xmlChar *)str, val);
   36260         desret_const_xmlChar_ptr(ret_val);
   36261         call_tests++;
   36262         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   36263         des_xmlChar(n_val, val, 1);
   36264         xmlResetLastError();
   36265         if (mem_base != xmlMemBlocks()) {
   36266             printf("Leak of %d blocks found in xmlStrchr",
   36267 	           xmlMemBlocks() - mem_base);
   36268 	    test_ret++;
   36269             printf(" %d", n_str);
   36270             printf(" %d", n_val);
   36271             printf("\n");
   36272         }
   36273     }
   36274     }
   36275     function_tests++;
   36276 
   36277     return(test_ret);
   36278 }
   36279 
   36280 
   36281 static int
   36282 test_xmlStrcmp(void) {
   36283     int test_ret = 0;
   36284 
   36285     int mem_base;
   36286     int ret_val;
   36287     xmlChar * str1; /* the first xmlChar * */
   36288     int n_str1;
   36289     xmlChar * str2; /* the second xmlChar * */
   36290     int n_str2;
   36291 
   36292     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
   36293     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
   36294         mem_base = xmlMemBlocks();
   36295         str1 = gen_const_xmlChar_ptr(n_str1, 0);
   36296         str2 = gen_const_xmlChar_ptr(n_str2, 1);
   36297 
   36298         ret_val = xmlStrcmp((const xmlChar *)str1, (const xmlChar *)str2);
   36299         desret_int(ret_val);
   36300         call_tests++;
   36301         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
   36302         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
   36303         xmlResetLastError();
   36304         if (mem_base != xmlMemBlocks()) {
   36305             printf("Leak of %d blocks found in xmlStrcmp",
   36306 	           xmlMemBlocks() - mem_base);
   36307 	    test_ret++;
   36308             printf(" %d", n_str1);
   36309             printf(" %d", n_str2);
   36310             printf("\n");
   36311         }
   36312     }
   36313     }
   36314     function_tests++;
   36315 
   36316     return(test_ret);
   36317 }
   36318 
   36319 
   36320 static int
   36321 test_xmlStrdup(void) {
   36322     int test_ret = 0;
   36323 
   36324     int mem_base;
   36325     xmlChar * ret_val;
   36326     xmlChar * cur; /* the input xmlChar * */
   36327     int n_cur;
   36328 
   36329     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   36330         mem_base = xmlMemBlocks();
   36331         cur = gen_const_xmlChar_ptr(n_cur, 0);
   36332 
   36333         ret_val = xmlStrdup((const xmlChar *)cur);
   36334         desret_xmlChar_ptr(ret_val);
   36335         call_tests++;
   36336         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   36337         xmlResetLastError();
   36338         if (mem_base != xmlMemBlocks()) {
   36339             printf("Leak of %d blocks found in xmlStrdup",
   36340 	           xmlMemBlocks() - mem_base);
   36341 	    test_ret++;
   36342             printf(" %d", n_cur);
   36343             printf("\n");
   36344         }
   36345     }
   36346     function_tests++;
   36347 
   36348     return(test_ret);
   36349 }
   36350 
   36351 
   36352 static int
   36353 test_xmlStrlen(void) {
   36354     int test_ret = 0;
   36355 
   36356     int mem_base;
   36357     int ret_val;
   36358     xmlChar * str; /* the xmlChar * array */
   36359     int n_str;
   36360 
   36361     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   36362         mem_base = xmlMemBlocks();
   36363         str = gen_const_xmlChar_ptr(n_str, 0);
   36364 
   36365         ret_val = xmlStrlen((const xmlChar *)str);
   36366         desret_int(ret_val);
   36367         call_tests++;
   36368         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   36369         xmlResetLastError();
   36370         if (mem_base != xmlMemBlocks()) {
   36371             printf("Leak of %d blocks found in xmlStrlen",
   36372 	           xmlMemBlocks() - mem_base);
   36373 	    test_ret++;
   36374             printf(" %d", n_str);
   36375             printf("\n");
   36376         }
   36377     }
   36378     function_tests++;
   36379 
   36380     return(test_ret);
   36381 }
   36382 
   36383 
   36384 static int
   36385 test_xmlStrncasecmp(void) {
   36386     int test_ret = 0;
   36387 
   36388     int mem_base;
   36389     int ret_val;
   36390     xmlChar * str1; /* the first xmlChar * */
   36391     int n_str1;
   36392     xmlChar * str2; /* the second xmlChar * */
   36393     int n_str2;
   36394     int len; /* the max comparison length */
   36395     int n_len;
   36396 
   36397     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
   36398     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
   36399     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36400         mem_base = xmlMemBlocks();
   36401         str1 = gen_const_xmlChar_ptr(n_str1, 0);
   36402         str2 = gen_const_xmlChar_ptr(n_str2, 1);
   36403         len = gen_int(n_len, 2);
   36404 
   36405         ret_val = xmlStrncasecmp((const xmlChar *)str1, (const xmlChar *)str2, len);
   36406         desret_int(ret_val);
   36407         call_tests++;
   36408         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
   36409         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
   36410         des_int(n_len, len, 2);
   36411         xmlResetLastError();
   36412         if (mem_base != xmlMemBlocks()) {
   36413             printf("Leak of %d blocks found in xmlStrncasecmp",
   36414 	           xmlMemBlocks() - mem_base);
   36415 	    test_ret++;
   36416             printf(" %d", n_str1);
   36417             printf(" %d", n_str2);
   36418             printf(" %d", n_len);
   36419             printf("\n");
   36420         }
   36421     }
   36422     }
   36423     }
   36424     function_tests++;
   36425 
   36426     return(test_ret);
   36427 }
   36428 
   36429 
   36430 static int
   36431 test_xmlStrncatNew(void) {
   36432     int test_ret = 0;
   36433 
   36434     int mem_base;
   36435     xmlChar * ret_val;
   36436     xmlChar * str1; /* first xmlChar string */
   36437     int n_str1;
   36438     xmlChar * str2; /* second xmlChar string */
   36439     int n_str2;
   36440     int len; /* the len of @str2 or < 0 */
   36441     int n_len;
   36442 
   36443     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
   36444     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
   36445     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36446         mem_base = xmlMemBlocks();
   36447         str1 = gen_const_xmlChar_ptr(n_str1, 0);
   36448         str2 = gen_const_xmlChar_ptr(n_str2, 1);
   36449         len = gen_int(n_len, 2);
   36450 
   36451         ret_val = xmlStrncatNew((const xmlChar *)str1, (const xmlChar *)str2, len);
   36452         desret_xmlChar_ptr(ret_val);
   36453         call_tests++;
   36454         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
   36455         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
   36456         des_int(n_len, len, 2);
   36457         xmlResetLastError();
   36458         if (mem_base != xmlMemBlocks()) {
   36459             printf("Leak of %d blocks found in xmlStrncatNew",
   36460 	           xmlMemBlocks() - mem_base);
   36461 	    test_ret++;
   36462             printf(" %d", n_str1);
   36463             printf(" %d", n_str2);
   36464             printf(" %d", n_len);
   36465             printf("\n");
   36466         }
   36467     }
   36468     }
   36469     }
   36470     function_tests++;
   36471 
   36472     return(test_ret);
   36473 }
   36474 
   36475 
   36476 static int
   36477 test_xmlStrncmp(void) {
   36478     int test_ret = 0;
   36479 
   36480     int mem_base;
   36481     int ret_val;
   36482     xmlChar * str1; /* the first xmlChar * */
   36483     int n_str1;
   36484     xmlChar * str2; /* the second xmlChar * */
   36485     int n_str2;
   36486     int len; /* the max comparison length */
   36487     int n_len;
   36488 
   36489     for (n_str1 = 0;n_str1 < gen_nb_const_xmlChar_ptr;n_str1++) {
   36490     for (n_str2 = 0;n_str2 < gen_nb_const_xmlChar_ptr;n_str2++) {
   36491     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36492         mem_base = xmlMemBlocks();
   36493         str1 = gen_const_xmlChar_ptr(n_str1, 0);
   36494         str2 = gen_const_xmlChar_ptr(n_str2, 1);
   36495         len = gen_int(n_len, 2);
   36496 
   36497         ret_val = xmlStrncmp((const xmlChar *)str1, (const xmlChar *)str2, len);
   36498         desret_int(ret_val);
   36499         call_tests++;
   36500         des_const_xmlChar_ptr(n_str1, (const xmlChar *)str1, 0);
   36501         des_const_xmlChar_ptr(n_str2, (const xmlChar *)str2, 1);
   36502         des_int(n_len, len, 2);
   36503         xmlResetLastError();
   36504         if (mem_base != xmlMemBlocks()) {
   36505             printf("Leak of %d blocks found in xmlStrncmp",
   36506 	           xmlMemBlocks() - mem_base);
   36507 	    test_ret++;
   36508             printf(" %d", n_str1);
   36509             printf(" %d", n_str2);
   36510             printf(" %d", n_len);
   36511             printf("\n");
   36512         }
   36513     }
   36514     }
   36515     }
   36516     function_tests++;
   36517 
   36518     return(test_ret);
   36519 }
   36520 
   36521 
   36522 static int
   36523 test_xmlStrndup(void) {
   36524     int test_ret = 0;
   36525 
   36526     int mem_base;
   36527     xmlChar * ret_val;
   36528     xmlChar * cur; /* the input xmlChar * */
   36529     int n_cur;
   36530     int len; /* the len of @cur */
   36531     int n_len;
   36532 
   36533     for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
   36534     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36535         mem_base = xmlMemBlocks();
   36536         cur = gen_const_xmlChar_ptr(n_cur, 0);
   36537         len = gen_int(n_len, 1);
   36538 
   36539         ret_val = xmlStrndup((const xmlChar *)cur, len);
   36540         desret_xmlChar_ptr(ret_val);
   36541         call_tests++;
   36542         des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
   36543         des_int(n_len, len, 1);
   36544         xmlResetLastError();
   36545         if (mem_base != xmlMemBlocks()) {
   36546             printf("Leak of %d blocks found in xmlStrndup",
   36547 	           xmlMemBlocks() - mem_base);
   36548 	    test_ret++;
   36549             printf(" %d", n_cur);
   36550             printf(" %d", n_len);
   36551             printf("\n");
   36552         }
   36553     }
   36554     }
   36555     function_tests++;
   36556 
   36557     return(test_ret);
   36558 }
   36559 
   36560 
   36561 static int
   36562 test_xmlStrstr(void) {
   36563     int test_ret = 0;
   36564 
   36565     int mem_base;
   36566     const xmlChar * ret_val;
   36567     xmlChar * str; /* the xmlChar * array (haystack) */
   36568     int n_str;
   36569     xmlChar * val; /* the xmlChar to search (needle) */
   36570     int n_val;
   36571 
   36572     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   36573     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
   36574         mem_base = xmlMemBlocks();
   36575         str = gen_const_xmlChar_ptr(n_str, 0);
   36576         val = gen_const_xmlChar_ptr(n_val, 1);
   36577 
   36578         ret_val = xmlStrstr((const xmlChar *)str, (const xmlChar *)val);
   36579         desret_const_xmlChar_ptr(ret_val);
   36580         call_tests++;
   36581         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   36582         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 1);
   36583         xmlResetLastError();
   36584         if (mem_base != xmlMemBlocks()) {
   36585             printf("Leak of %d blocks found in xmlStrstr",
   36586 	           xmlMemBlocks() - mem_base);
   36587 	    test_ret++;
   36588             printf(" %d", n_str);
   36589             printf(" %d", n_val);
   36590             printf("\n");
   36591         }
   36592     }
   36593     }
   36594     function_tests++;
   36595 
   36596     return(test_ret);
   36597 }
   36598 
   36599 
   36600 static int
   36601 test_xmlStrsub(void) {
   36602     int test_ret = 0;
   36603 
   36604     int mem_base;
   36605     xmlChar * ret_val;
   36606     xmlChar * str; /* the xmlChar * array (haystack) */
   36607     int n_str;
   36608     int start; /* the index of the first char (zero based) */
   36609     int n_start;
   36610     int len; /* the length of the substring */
   36611     int n_len;
   36612 
   36613     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   36614     for (n_start = 0;n_start < gen_nb_int;n_start++) {
   36615     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36616         mem_base = xmlMemBlocks();
   36617         str = gen_const_xmlChar_ptr(n_str, 0);
   36618         start = gen_int(n_start, 1);
   36619         len = gen_int(n_len, 2);
   36620 
   36621         ret_val = xmlStrsub((const xmlChar *)str, start, len);
   36622         desret_xmlChar_ptr(ret_val);
   36623         call_tests++;
   36624         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   36625         des_int(n_start, start, 1);
   36626         des_int(n_len, len, 2);
   36627         xmlResetLastError();
   36628         if (mem_base != xmlMemBlocks()) {
   36629             printf("Leak of %d blocks found in xmlStrsub",
   36630 	           xmlMemBlocks() - mem_base);
   36631 	    test_ret++;
   36632             printf(" %d", n_str);
   36633             printf(" %d", n_start);
   36634             printf(" %d", n_len);
   36635             printf("\n");
   36636         }
   36637     }
   36638     }
   36639     }
   36640     function_tests++;
   36641 
   36642     return(test_ret);
   36643 }
   36644 
   36645 
   36646 static int
   36647 test_xmlUTF8Charcmp(void) {
   36648     int test_ret = 0;
   36649 
   36650     int mem_base;
   36651     int ret_val;
   36652     xmlChar * utf1; /* pointer to first UTF8 char */
   36653     int n_utf1;
   36654     xmlChar * utf2; /* pointer to second UTF8 char */
   36655     int n_utf2;
   36656 
   36657     for (n_utf1 = 0;n_utf1 < gen_nb_const_xmlChar_ptr;n_utf1++) {
   36658     for (n_utf2 = 0;n_utf2 < gen_nb_const_xmlChar_ptr;n_utf2++) {
   36659         mem_base = xmlMemBlocks();
   36660         utf1 = gen_const_xmlChar_ptr(n_utf1, 0);
   36661         utf2 = gen_const_xmlChar_ptr(n_utf2, 1);
   36662 
   36663         ret_val = xmlUTF8Charcmp((const xmlChar *)utf1, (const xmlChar *)utf2);
   36664         desret_int(ret_val);
   36665         call_tests++;
   36666         des_const_xmlChar_ptr(n_utf1, (const xmlChar *)utf1, 0);
   36667         des_const_xmlChar_ptr(n_utf2, (const xmlChar *)utf2, 1);
   36668         xmlResetLastError();
   36669         if (mem_base != xmlMemBlocks()) {
   36670             printf("Leak of %d blocks found in xmlUTF8Charcmp",
   36671 	           xmlMemBlocks() - mem_base);
   36672 	    test_ret++;
   36673             printf(" %d", n_utf1);
   36674             printf(" %d", n_utf2);
   36675             printf("\n");
   36676         }
   36677     }
   36678     }
   36679     function_tests++;
   36680 
   36681     return(test_ret);
   36682 }
   36683 
   36684 
   36685 static int
   36686 test_xmlUTF8Size(void) {
   36687     int test_ret = 0;
   36688 
   36689     int mem_base;
   36690     int ret_val;
   36691     xmlChar * utf; /* pointer to the UTF8 character */
   36692     int n_utf;
   36693 
   36694     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
   36695         mem_base = xmlMemBlocks();
   36696         utf = gen_const_xmlChar_ptr(n_utf, 0);
   36697 
   36698         ret_val = xmlUTF8Size((const xmlChar *)utf);
   36699         desret_int(ret_val);
   36700         call_tests++;
   36701         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
   36702         xmlResetLastError();
   36703         if (mem_base != xmlMemBlocks()) {
   36704             printf("Leak of %d blocks found in xmlUTF8Size",
   36705 	           xmlMemBlocks() - mem_base);
   36706 	    test_ret++;
   36707             printf(" %d", n_utf);
   36708             printf("\n");
   36709         }
   36710     }
   36711     function_tests++;
   36712 
   36713     return(test_ret);
   36714 }
   36715 
   36716 
   36717 static int
   36718 test_xmlUTF8Strlen(void) {
   36719     int test_ret = 0;
   36720 
   36721     int mem_base;
   36722     int ret_val;
   36723     xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
   36724     int n_utf;
   36725 
   36726     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
   36727         mem_base = xmlMemBlocks();
   36728         utf = gen_const_xmlChar_ptr(n_utf, 0);
   36729 
   36730         ret_val = xmlUTF8Strlen((const xmlChar *)utf);
   36731         desret_int(ret_val);
   36732         call_tests++;
   36733         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
   36734         xmlResetLastError();
   36735         if (mem_base != xmlMemBlocks()) {
   36736             printf("Leak of %d blocks found in xmlUTF8Strlen",
   36737 	           xmlMemBlocks() - mem_base);
   36738 	    test_ret++;
   36739             printf(" %d", n_utf);
   36740             printf("\n");
   36741         }
   36742     }
   36743     function_tests++;
   36744 
   36745     return(test_ret);
   36746 }
   36747 
   36748 
   36749 static int
   36750 test_xmlUTF8Strloc(void) {
   36751     int test_ret = 0;
   36752 
   36753     int mem_base;
   36754     int ret_val;
   36755     xmlChar * utf; /* the input UTF8 * */
   36756     int n_utf;
   36757     xmlChar * utfchar; /* the UTF8 character to be found */
   36758     int n_utfchar;
   36759 
   36760     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
   36761     for (n_utfchar = 0;n_utfchar < gen_nb_const_xmlChar_ptr;n_utfchar++) {
   36762         mem_base = xmlMemBlocks();
   36763         utf = gen_const_xmlChar_ptr(n_utf, 0);
   36764         utfchar = gen_const_xmlChar_ptr(n_utfchar, 1);
   36765 
   36766         ret_val = xmlUTF8Strloc((const xmlChar *)utf, (const xmlChar *)utfchar);
   36767         desret_int(ret_val);
   36768         call_tests++;
   36769         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
   36770         des_const_xmlChar_ptr(n_utfchar, (const xmlChar *)utfchar, 1);
   36771         xmlResetLastError();
   36772         if (mem_base != xmlMemBlocks()) {
   36773             printf("Leak of %d blocks found in xmlUTF8Strloc",
   36774 	           xmlMemBlocks() - mem_base);
   36775 	    test_ret++;
   36776             printf(" %d", n_utf);
   36777             printf(" %d", n_utfchar);
   36778             printf("\n");
   36779         }
   36780     }
   36781     }
   36782     function_tests++;
   36783 
   36784     return(test_ret);
   36785 }
   36786 
   36787 
   36788 static int
   36789 test_xmlUTF8Strndup(void) {
   36790     int test_ret = 0;
   36791 
   36792     int mem_base;
   36793     xmlChar * ret_val;
   36794     xmlChar * utf; /* the input UTF8 * */
   36795     int n_utf;
   36796     int len; /* the len of @utf (in chars) */
   36797     int n_len;
   36798 
   36799     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
   36800     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36801         mem_base = xmlMemBlocks();
   36802         utf = gen_const_xmlChar_ptr(n_utf, 0);
   36803         len = gen_int(n_len, 1);
   36804 
   36805         ret_val = xmlUTF8Strndup((const xmlChar *)utf, len);
   36806         desret_xmlChar_ptr(ret_val);
   36807         call_tests++;
   36808         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
   36809         des_int(n_len, len, 1);
   36810         xmlResetLastError();
   36811         if (mem_base != xmlMemBlocks()) {
   36812             printf("Leak of %d blocks found in xmlUTF8Strndup",
   36813 	           xmlMemBlocks() - mem_base);
   36814 	    test_ret++;
   36815             printf(" %d", n_utf);
   36816             printf(" %d", n_len);
   36817             printf("\n");
   36818         }
   36819     }
   36820     }
   36821     function_tests++;
   36822 
   36823     return(test_ret);
   36824 }
   36825 
   36826 
   36827 static int
   36828 test_xmlUTF8Strpos(void) {
   36829     int test_ret = 0;
   36830 
   36831     int mem_base;
   36832     const xmlChar * ret_val;
   36833     xmlChar * utf; /* the input UTF8 * */
   36834     int n_utf;
   36835     int pos; /* the position of the desired UTF8 char (in chars) */
   36836     int n_pos;
   36837 
   36838     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
   36839     for (n_pos = 0;n_pos < gen_nb_int;n_pos++) {
   36840         mem_base = xmlMemBlocks();
   36841         utf = gen_const_xmlChar_ptr(n_utf, 0);
   36842         pos = gen_int(n_pos, 1);
   36843 
   36844         ret_val = xmlUTF8Strpos((const xmlChar *)utf, pos);
   36845         desret_const_xmlChar_ptr(ret_val);
   36846         call_tests++;
   36847         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
   36848         des_int(n_pos, pos, 1);
   36849         xmlResetLastError();
   36850         if (mem_base != xmlMemBlocks()) {
   36851             printf("Leak of %d blocks found in xmlUTF8Strpos",
   36852 	           xmlMemBlocks() - mem_base);
   36853 	    test_ret++;
   36854             printf(" %d", n_utf);
   36855             printf(" %d", n_pos);
   36856             printf("\n");
   36857         }
   36858     }
   36859     }
   36860     function_tests++;
   36861 
   36862     return(test_ret);
   36863 }
   36864 
   36865 
   36866 static int
   36867 test_xmlUTF8Strsize(void) {
   36868     int test_ret = 0;
   36869 
   36870     int mem_base;
   36871     int ret_val;
   36872     xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
   36873     int n_utf;
   36874     int len; /* the number of characters in the array */
   36875     int n_len;
   36876 
   36877     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
   36878     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36879         mem_base = xmlMemBlocks();
   36880         utf = gen_const_xmlChar_ptr(n_utf, 0);
   36881         len = gen_int(n_len, 1);
   36882 
   36883         ret_val = xmlUTF8Strsize((const xmlChar *)utf, len);
   36884         desret_int(ret_val);
   36885         call_tests++;
   36886         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
   36887         des_int(n_len, len, 1);
   36888         xmlResetLastError();
   36889         if (mem_base != xmlMemBlocks()) {
   36890             printf("Leak of %d blocks found in xmlUTF8Strsize",
   36891 	           xmlMemBlocks() - mem_base);
   36892 	    test_ret++;
   36893             printf(" %d", n_utf);
   36894             printf(" %d", n_len);
   36895             printf("\n");
   36896         }
   36897     }
   36898     }
   36899     function_tests++;
   36900 
   36901     return(test_ret);
   36902 }
   36903 
   36904 
   36905 static int
   36906 test_xmlUTF8Strsub(void) {
   36907     int test_ret = 0;
   36908 
   36909     int mem_base;
   36910     xmlChar * ret_val;
   36911     xmlChar * utf; /* a sequence of UTF-8 encoded bytes */
   36912     int n_utf;
   36913     int start; /* relative pos of first char */
   36914     int n_start;
   36915     int len; /* total number to copy */
   36916     int n_len;
   36917 
   36918     for (n_utf = 0;n_utf < gen_nb_const_xmlChar_ptr;n_utf++) {
   36919     for (n_start = 0;n_start < gen_nb_int;n_start++) {
   36920     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   36921         mem_base = xmlMemBlocks();
   36922         utf = gen_const_xmlChar_ptr(n_utf, 0);
   36923         start = gen_int(n_start, 1);
   36924         len = gen_int(n_len, 2);
   36925 
   36926         ret_val = xmlUTF8Strsub((const xmlChar *)utf, start, len);
   36927         desret_xmlChar_ptr(ret_val);
   36928         call_tests++;
   36929         des_const_xmlChar_ptr(n_utf, (const xmlChar *)utf, 0);
   36930         des_int(n_start, start, 1);
   36931         des_int(n_len, len, 2);
   36932         xmlResetLastError();
   36933         if (mem_base != xmlMemBlocks()) {
   36934             printf("Leak of %d blocks found in xmlUTF8Strsub",
   36935 	           xmlMemBlocks() - mem_base);
   36936 	    test_ret++;
   36937             printf(" %d", n_utf);
   36938             printf(" %d", n_start);
   36939             printf(" %d", n_len);
   36940             printf("\n");
   36941         }
   36942     }
   36943     }
   36944     }
   36945     function_tests++;
   36946 
   36947     return(test_ret);
   36948 }
   36949 
   36950 static int
   36951 test_xmlstring(void) {
   36952     int test_ret = 0;
   36953 
   36954     if (quiet == 0) printf("Testing xmlstring : 26 of 30 functions ...\n");
   36955     test_ret += test_xmlCharStrdup();
   36956     test_ret += test_xmlCharStrndup();
   36957     test_ret += test_xmlCheckUTF8();
   36958     test_ret += test_xmlGetUTF8Char();
   36959     test_ret += test_xmlStrEqual();
   36960     test_ret += test_xmlStrPrintf();
   36961     test_ret += test_xmlStrQEqual();
   36962     test_ret += test_xmlStrVPrintf();
   36963     test_ret += test_xmlStrcasecmp();
   36964     test_ret += test_xmlStrcasestr();
   36965     test_ret += test_xmlStrchr();
   36966     test_ret += test_xmlStrcmp();
   36967     test_ret += test_xmlStrdup();
   36968     test_ret += test_xmlStrlen();
   36969     test_ret += test_xmlStrncasecmp();
   36970     test_ret += test_xmlStrncatNew();
   36971     test_ret += test_xmlStrncmp();
   36972     test_ret += test_xmlStrndup();
   36973     test_ret += test_xmlStrstr();
   36974     test_ret += test_xmlStrsub();
   36975     test_ret += test_xmlUTF8Charcmp();
   36976     test_ret += test_xmlUTF8Size();
   36977     test_ret += test_xmlUTF8Strlen();
   36978     test_ret += test_xmlUTF8Strloc();
   36979     test_ret += test_xmlUTF8Strndup();
   36980     test_ret += test_xmlUTF8Strpos();
   36981     test_ret += test_xmlUTF8Strsize();
   36982     test_ret += test_xmlUTF8Strsub();
   36983 
   36984     if (test_ret != 0)
   36985 	printf("Module xmlstring: %d errors\n", test_ret);
   36986     return(test_ret);
   36987 }
   36988 
   36989 static int
   36990 test_xmlUCSIsAegeanNumbers(void) {
   36991     int test_ret = 0;
   36992 
   36993 #if defined(LIBXML_UNICODE_ENABLED)
   36994     int mem_base;
   36995     int ret_val;
   36996     int code; /* UCS code point */
   36997     int n_code;
   36998 
   36999     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37000         mem_base = xmlMemBlocks();
   37001         code = gen_int(n_code, 0);
   37002 
   37003         ret_val = xmlUCSIsAegeanNumbers(code);
   37004         desret_int(ret_val);
   37005         call_tests++;
   37006         des_int(n_code, code, 0);
   37007         xmlResetLastError();
   37008         if (mem_base != xmlMemBlocks()) {
   37009             printf("Leak of %d blocks found in xmlUCSIsAegeanNumbers",
   37010 	           xmlMemBlocks() - mem_base);
   37011 	    test_ret++;
   37012             printf(" %d", n_code);
   37013             printf("\n");
   37014         }
   37015     }
   37016     function_tests++;
   37017 #endif
   37018 
   37019     return(test_ret);
   37020 }
   37021 
   37022 
   37023 static int
   37024 test_xmlUCSIsAlphabeticPresentationForms(void) {
   37025     int test_ret = 0;
   37026 
   37027 #if defined(LIBXML_UNICODE_ENABLED)
   37028     int mem_base;
   37029     int ret_val;
   37030     int code; /* UCS code point */
   37031     int n_code;
   37032 
   37033     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37034         mem_base = xmlMemBlocks();
   37035         code = gen_int(n_code, 0);
   37036 
   37037         ret_val = xmlUCSIsAlphabeticPresentationForms(code);
   37038         desret_int(ret_val);
   37039         call_tests++;
   37040         des_int(n_code, code, 0);
   37041         xmlResetLastError();
   37042         if (mem_base != xmlMemBlocks()) {
   37043             printf("Leak of %d blocks found in xmlUCSIsAlphabeticPresentationForms",
   37044 	           xmlMemBlocks() - mem_base);
   37045 	    test_ret++;
   37046             printf(" %d", n_code);
   37047             printf("\n");
   37048         }
   37049     }
   37050     function_tests++;
   37051 #endif
   37052 
   37053     return(test_ret);
   37054 }
   37055 
   37056 
   37057 static int
   37058 test_xmlUCSIsArabic(void) {
   37059     int test_ret = 0;
   37060 
   37061 #if defined(LIBXML_UNICODE_ENABLED)
   37062     int mem_base;
   37063     int ret_val;
   37064     int code; /* UCS code point */
   37065     int n_code;
   37066 
   37067     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37068         mem_base = xmlMemBlocks();
   37069         code = gen_int(n_code, 0);
   37070 
   37071         ret_val = xmlUCSIsArabic(code);
   37072         desret_int(ret_val);
   37073         call_tests++;
   37074         des_int(n_code, code, 0);
   37075         xmlResetLastError();
   37076         if (mem_base != xmlMemBlocks()) {
   37077             printf("Leak of %d blocks found in xmlUCSIsArabic",
   37078 	           xmlMemBlocks() - mem_base);
   37079 	    test_ret++;
   37080             printf(" %d", n_code);
   37081             printf("\n");
   37082         }
   37083     }
   37084     function_tests++;
   37085 #endif
   37086 
   37087     return(test_ret);
   37088 }
   37089 
   37090 
   37091 static int
   37092 test_xmlUCSIsArabicPresentationFormsA(void) {
   37093     int test_ret = 0;
   37094 
   37095 #if defined(LIBXML_UNICODE_ENABLED)
   37096     int mem_base;
   37097     int ret_val;
   37098     int code; /* UCS code point */
   37099     int n_code;
   37100 
   37101     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37102         mem_base = xmlMemBlocks();
   37103         code = gen_int(n_code, 0);
   37104 
   37105         ret_val = xmlUCSIsArabicPresentationFormsA(code);
   37106         desret_int(ret_val);
   37107         call_tests++;
   37108         des_int(n_code, code, 0);
   37109         xmlResetLastError();
   37110         if (mem_base != xmlMemBlocks()) {
   37111             printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsA",
   37112 	           xmlMemBlocks() - mem_base);
   37113 	    test_ret++;
   37114             printf(" %d", n_code);
   37115             printf("\n");
   37116         }
   37117     }
   37118     function_tests++;
   37119 #endif
   37120 
   37121     return(test_ret);
   37122 }
   37123 
   37124 
   37125 static int
   37126 test_xmlUCSIsArabicPresentationFormsB(void) {
   37127     int test_ret = 0;
   37128 
   37129 #if defined(LIBXML_UNICODE_ENABLED)
   37130     int mem_base;
   37131     int ret_val;
   37132     int code; /* UCS code point */
   37133     int n_code;
   37134 
   37135     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37136         mem_base = xmlMemBlocks();
   37137         code = gen_int(n_code, 0);
   37138 
   37139         ret_val = xmlUCSIsArabicPresentationFormsB(code);
   37140         desret_int(ret_val);
   37141         call_tests++;
   37142         des_int(n_code, code, 0);
   37143         xmlResetLastError();
   37144         if (mem_base != xmlMemBlocks()) {
   37145             printf("Leak of %d blocks found in xmlUCSIsArabicPresentationFormsB",
   37146 	           xmlMemBlocks() - mem_base);
   37147 	    test_ret++;
   37148             printf(" %d", n_code);
   37149             printf("\n");
   37150         }
   37151     }
   37152     function_tests++;
   37153 #endif
   37154 
   37155     return(test_ret);
   37156 }
   37157 
   37158 
   37159 static int
   37160 test_xmlUCSIsArmenian(void) {
   37161     int test_ret = 0;
   37162 
   37163 #if defined(LIBXML_UNICODE_ENABLED)
   37164     int mem_base;
   37165     int ret_val;
   37166     int code; /* UCS code point */
   37167     int n_code;
   37168 
   37169     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37170         mem_base = xmlMemBlocks();
   37171         code = gen_int(n_code, 0);
   37172 
   37173         ret_val = xmlUCSIsArmenian(code);
   37174         desret_int(ret_val);
   37175         call_tests++;
   37176         des_int(n_code, code, 0);
   37177         xmlResetLastError();
   37178         if (mem_base != xmlMemBlocks()) {
   37179             printf("Leak of %d blocks found in xmlUCSIsArmenian",
   37180 	           xmlMemBlocks() - mem_base);
   37181 	    test_ret++;
   37182             printf(" %d", n_code);
   37183             printf("\n");
   37184         }
   37185     }
   37186     function_tests++;
   37187 #endif
   37188 
   37189     return(test_ret);
   37190 }
   37191 
   37192 
   37193 static int
   37194 test_xmlUCSIsArrows(void) {
   37195     int test_ret = 0;
   37196 
   37197 #if defined(LIBXML_UNICODE_ENABLED)
   37198     int mem_base;
   37199     int ret_val;
   37200     int code; /* UCS code point */
   37201     int n_code;
   37202 
   37203     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37204         mem_base = xmlMemBlocks();
   37205         code = gen_int(n_code, 0);
   37206 
   37207         ret_val = xmlUCSIsArrows(code);
   37208         desret_int(ret_val);
   37209         call_tests++;
   37210         des_int(n_code, code, 0);
   37211         xmlResetLastError();
   37212         if (mem_base != xmlMemBlocks()) {
   37213             printf("Leak of %d blocks found in xmlUCSIsArrows",
   37214 	           xmlMemBlocks() - mem_base);
   37215 	    test_ret++;
   37216             printf(" %d", n_code);
   37217             printf("\n");
   37218         }
   37219     }
   37220     function_tests++;
   37221 #endif
   37222 
   37223     return(test_ret);
   37224 }
   37225 
   37226 
   37227 static int
   37228 test_xmlUCSIsBasicLatin(void) {
   37229     int test_ret = 0;
   37230 
   37231 #if defined(LIBXML_UNICODE_ENABLED)
   37232     int mem_base;
   37233     int ret_val;
   37234     int code; /* UCS code point */
   37235     int n_code;
   37236 
   37237     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37238         mem_base = xmlMemBlocks();
   37239         code = gen_int(n_code, 0);
   37240 
   37241         ret_val = xmlUCSIsBasicLatin(code);
   37242         desret_int(ret_val);
   37243         call_tests++;
   37244         des_int(n_code, code, 0);
   37245         xmlResetLastError();
   37246         if (mem_base != xmlMemBlocks()) {
   37247             printf("Leak of %d blocks found in xmlUCSIsBasicLatin",
   37248 	           xmlMemBlocks() - mem_base);
   37249 	    test_ret++;
   37250             printf(" %d", n_code);
   37251             printf("\n");
   37252         }
   37253     }
   37254     function_tests++;
   37255 #endif
   37256 
   37257     return(test_ret);
   37258 }
   37259 
   37260 
   37261 static int
   37262 test_xmlUCSIsBengali(void) {
   37263     int test_ret = 0;
   37264 
   37265 #if defined(LIBXML_UNICODE_ENABLED)
   37266     int mem_base;
   37267     int ret_val;
   37268     int code; /* UCS code point */
   37269     int n_code;
   37270 
   37271     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37272         mem_base = xmlMemBlocks();
   37273         code = gen_int(n_code, 0);
   37274 
   37275         ret_val = xmlUCSIsBengali(code);
   37276         desret_int(ret_val);
   37277         call_tests++;
   37278         des_int(n_code, code, 0);
   37279         xmlResetLastError();
   37280         if (mem_base != xmlMemBlocks()) {
   37281             printf("Leak of %d blocks found in xmlUCSIsBengali",
   37282 	           xmlMemBlocks() - mem_base);
   37283 	    test_ret++;
   37284             printf(" %d", n_code);
   37285             printf("\n");
   37286         }
   37287     }
   37288     function_tests++;
   37289 #endif
   37290 
   37291     return(test_ret);
   37292 }
   37293 
   37294 
   37295 static int
   37296 test_xmlUCSIsBlock(void) {
   37297     int test_ret = 0;
   37298 
   37299 #if defined(LIBXML_UNICODE_ENABLED)
   37300     int mem_base;
   37301     int ret_val;
   37302     int code; /* UCS code point */
   37303     int n_code;
   37304     char * block; /* UCS block name */
   37305     int n_block;
   37306 
   37307     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37308     for (n_block = 0;n_block < gen_nb_const_char_ptr;n_block++) {
   37309         mem_base = xmlMemBlocks();
   37310         code = gen_int(n_code, 0);
   37311         block = gen_const_char_ptr(n_block, 1);
   37312 
   37313         ret_val = xmlUCSIsBlock(code, (const char *)block);
   37314         desret_int(ret_val);
   37315         call_tests++;
   37316         des_int(n_code, code, 0);
   37317         des_const_char_ptr(n_block, (const char *)block, 1);
   37318         xmlResetLastError();
   37319         if (mem_base != xmlMemBlocks()) {
   37320             printf("Leak of %d blocks found in xmlUCSIsBlock",
   37321 	           xmlMemBlocks() - mem_base);
   37322 	    test_ret++;
   37323             printf(" %d", n_code);
   37324             printf(" %d", n_block);
   37325             printf("\n");
   37326         }
   37327     }
   37328     }
   37329     function_tests++;
   37330 #endif
   37331 
   37332     return(test_ret);
   37333 }
   37334 
   37335 
   37336 static int
   37337 test_xmlUCSIsBlockElements(void) {
   37338     int test_ret = 0;
   37339 
   37340 #if defined(LIBXML_UNICODE_ENABLED)
   37341     int mem_base;
   37342     int ret_val;
   37343     int code; /* UCS code point */
   37344     int n_code;
   37345 
   37346     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37347         mem_base = xmlMemBlocks();
   37348         code = gen_int(n_code, 0);
   37349 
   37350         ret_val = xmlUCSIsBlockElements(code);
   37351         desret_int(ret_val);
   37352         call_tests++;
   37353         des_int(n_code, code, 0);
   37354         xmlResetLastError();
   37355         if (mem_base != xmlMemBlocks()) {
   37356             printf("Leak of %d blocks found in xmlUCSIsBlockElements",
   37357 	           xmlMemBlocks() - mem_base);
   37358 	    test_ret++;
   37359             printf(" %d", n_code);
   37360             printf("\n");
   37361         }
   37362     }
   37363     function_tests++;
   37364 #endif
   37365 
   37366     return(test_ret);
   37367 }
   37368 
   37369 
   37370 static int
   37371 test_xmlUCSIsBopomofo(void) {
   37372     int test_ret = 0;
   37373 
   37374 #if defined(LIBXML_UNICODE_ENABLED)
   37375     int mem_base;
   37376     int ret_val;
   37377     int code; /* UCS code point */
   37378     int n_code;
   37379 
   37380     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37381         mem_base = xmlMemBlocks();
   37382         code = gen_int(n_code, 0);
   37383 
   37384         ret_val = xmlUCSIsBopomofo(code);
   37385         desret_int(ret_val);
   37386         call_tests++;
   37387         des_int(n_code, code, 0);
   37388         xmlResetLastError();
   37389         if (mem_base != xmlMemBlocks()) {
   37390             printf("Leak of %d blocks found in xmlUCSIsBopomofo",
   37391 	           xmlMemBlocks() - mem_base);
   37392 	    test_ret++;
   37393             printf(" %d", n_code);
   37394             printf("\n");
   37395         }
   37396     }
   37397     function_tests++;
   37398 #endif
   37399 
   37400     return(test_ret);
   37401 }
   37402 
   37403 
   37404 static int
   37405 test_xmlUCSIsBopomofoExtended(void) {
   37406     int test_ret = 0;
   37407 
   37408 #if defined(LIBXML_UNICODE_ENABLED)
   37409     int mem_base;
   37410     int ret_val;
   37411     int code; /* UCS code point */
   37412     int n_code;
   37413 
   37414     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37415         mem_base = xmlMemBlocks();
   37416         code = gen_int(n_code, 0);
   37417 
   37418         ret_val = xmlUCSIsBopomofoExtended(code);
   37419         desret_int(ret_val);
   37420         call_tests++;
   37421         des_int(n_code, code, 0);
   37422         xmlResetLastError();
   37423         if (mem_base != xmlMemBlocks()) {
   37424             printf("Leak of %d blocks found in xmlUCSIsBopomofoExtended",
   37425 	           xmlMemBlocks() - mem_base);
   37426 	    test_ret++;
   37427             printf(" %d", n_code);
   37428             printf("\n");
   37429         }
   37430     }
   37431     function_tests++;
   37432 #endif
   37433 
   37434     return(test_ret);
   37435 }
   37436 
   37437 
   37438 static int
   37439 test_xmlUCSIsBoxDrawing(void) {
   37440     int test_ret = 0;
   37441 
   37442 #if defined(LIBXML_UNICODE_ENABLED)
   37443     int mem_base;
   37444     int ret_val;
   37445     int code; /* UCS code point */
   37446     int n_code;
   37447 
   37448     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37449         mem_base = xmlMemBlocks();
   37450         code = gen_int(n_code, 0);
   37451 
   37452         ret_val = xmlUCSIsBoxDrawing(code);
   37453         desret_int(ret_val);
   37454         call_tests++;
   37455         des_int(n_code, code, 0);
   37456         xmlResetLastError();
   37457         if (mem_base != xmlMemBlocks()) {
   37458             printf("Leak of %d blocks found in xmlUCSIsBoxDrawing",
   37459 	           xmlMemBlocks() - mem_base);
   37460 	    test_ret++;
   37461             printf(" %d", n_code);
   37462             printf("\n");
   37463         }
   37464     }
   37465     function_tests++;
   37466 #endif
   37467 
   37468     return(test_ret);
   37469 }
   37470 
   37471 
   37472 static int
   37473 test_xmlUCSIsBraillePatterns(void) {
   37474     int test_ret = 0;
   37475 
   37476 #if defined(LIBXML_UNICODE_ENABLED)
   37477     int mem_base;
   37478     int ret_val;
   37479     int code; /* UCS code point */
   37480     int n_code;
   37481 
   37482     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37483         mem_base = xmlMemBlocks();
   37484         code = gen_int(n_code, 0);
   37485 
   37486         ret_val = xmlUCSIsBraillePatterns(code);
   37487         desret_int(ret_val);
   37488         call_tests++;
   37489         des_int(n_code, code, 0);
   37490         xmlResetLastError();
   37491         if (mem_base != xmlMemBlocks()) {
   37492             printf("Leak of %d blocks found in xmlUCSIsBraillePatterns",
   37493 	           xmlMemBlocks() - mem_base);
   37494 	    test_ret++;
   37495             printf(" %d", n_code);
   37496             printf("\n");
   37497         }
   37498     }
   37499     function_tests++;
   37500 #endif
   37501 
   37502     return(test_ret);
   37503 }
   37504 
   37505 
   37506 static int
   37507 test_xmlUCSIsBuhid(void) {
   37508     int test_ret = 0;
   37509 
   37510 #if defined(LIBXML_UNICODE_ENABLED)
   37511     int mem_base;
   37512     int ret_val;
   37513     int code; /* UCS code point */
   37514     int n_code;
   37515 
   37516     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37517         mem_base = xmlMemBlocks();
   37518         code = gen_int(n_code, 0);
   37519 
   37520         ret_val = xmlUCSIsBuhid(code);
   37521         desret_int(ret_val);
   37522         call_tests++;
   37523         des_int(n_code, code, 0);
   37524         xmlResetLastError();
   37525         if (mem_base != xmlMemBlocks()) {
   37526             printf("Leak of %d blocks found in xmlUCSIsBuhid",
   37527 	           xmlMemBlocks() - mem_base);
   37528 	    test_ret++;
   37529             printf(" %d", n_code);
   37530             printf("\n");
   37531         }
   37532     }
   37533     function_tests++;
   37534 #endif
   37535 
   37536     return(test_ret);
   37537 }
   37538 
   37539 
   37540 static int
   37541 test_xmlUCSIsByzantineMusicalSymbols(void) {
   37542     int test_ret = 0;
   37543 
   37544 #if defined(LIBXML_UNICODE_ENABLED)
   37545     int mem_base;
   37546     int ret_val;
   37547     int code; /* UCS code point */
   37548     int n_code;
   37549 
   37550     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37551         mem_base = xmlMemBlocks();
   37552         code = gen_int(n_code, 0);
   37553 
   37554         ret_val = xmlUCSIsByzantineMusicalSymbols(code);
   37555         desret_int(ret_val);
   37556         call_tests++;
   37557         des_int(n_code, code, 0);
   37558         xmlResetLastError();
   37559         if (mem_base != xmlMemBlocks()) {
   37560             printf("Leak of %d blocks found in xmlUCSIsByzantineMusicalSymbols",
   37561 	           xmlMemBlocks() - mem_base);
   37562 	    test_ret++;
   37563             printf(" %d", n_code);
   37564             printf("\n");
   37565         }
   37566     }
   37567     function_tests++;
   37568 #endif
   37569 
   37570     return(test_ret);
   37571 }
   37572 
   37573 
   37574 static int
   37575 test_xmlUCSIsCJKCompatibility(void) {
   37576     int test_ret = 0;
   37577 
   37578 #if defined(LIBXML_UNICODE_ENABLED)
   37579     int mem_base;
   37580     int ret_val;
   37581     int code; /* UCS code point */
   37582     int n_code;
   37583 
   37584     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37585         mem_base = xmlMemBlocks();
   37586         code = gen_int(n_code, 0);
   37587 
   37588         ret_val = xmlUCSIsCJKCompatibility(code);
   37589         desret_int(ret_val);
   37590         call_tests++;
   37591         des_int(n_code, code, 0);
   37592         xmlResetLastError();
   37593         if (mem_base != xmlMemBlocks()) {
   37594             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibility",
   37595 	           xmlMemBlocks() - mem_base);
   37596 	    test_ret++;
   37597             printf(" %d", n_code);
   37598             printf("\n");
   37599         }
   37600     }
   37601     function_tests++;
   37602 #endif
   37603 
   37604     return(test_ret);
   37605 }
   37606 
   37607 
   37608 static int
   37609 test_xmlUCSIsCJKCompatibilityForms(void) {
   37610     int test_ret = 0;
   37611 
   37612 #if defined(LIBXML_UNICODE_ENABLED)
   37613     int mem_base;
   37614     int ret_val;
   37615     int code; /* UCS code point */
   37616     int n_code;
   37617 
   37618     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37619         mem_base = xmlMemBlocks();
   37620         code = gen_int(n_code, 0);
   37621 
   37622         ret_val = xmlUCSIsCJKCompatibilityForms(code);
   37623         desret_int(ret_val);
   37624         call_tests++;
   37625         des_int(n_code, code, 0);
   37626         xmlResetLastError();
   37627         if (mem_base != xmlMemBlocks()) {
   37628             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityForms",
   37629 	           xmlMemBlocks() - mem_base);
   37630 	    test_ret++;
   37631             printf(" %d", n_code);
   37632             printf("\n");
   37633         }
   37634     }
   37635     function_tests++;
   37636 #endif
   37637 
   37638     return(test_ret);
   37639 }
   37640 
   37641 
   37642 static int
   37643 test_xmlUCSIsCJKCompatibilityIdeographs(void) {
   37644     int test_ret = 0;
   37645 
   37646 #if defined(LIBXML_UNICODE_ENABLED)
   37647     int mem_base;
   37648     int ret_val;
   37649     int code; /* UCS code point */
   37650     int n_code;
   37651 
   37652     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37653         mem_base = xmlMemBlocks();
   37654         code = gen_int(n_code, 0);
   37655 
   37656         ret_val = xmlUCSIsCJKCompatibilityIdeographs(code);
   37657         desret_int(ret_val);
   37658         call_tests++;
   37659         des_int(n_code, code, 0);
   37660         xmlResetLastError();
   37661         if (mem_base != xmlMemBlocks()) {
   37662             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographs",
   37663 	           xmlMemBlocks() - mem_base);
   37664 	    test_ret++;
   37665             printf(" %d", n_code);
   37666             printf("\n");
   37667         }
   37668     }
   37669     function_tests++;
   37670 #endif
   37671 
   37672     return(test_ret);
   37673 }
   37674 
   37675 
   37676 static int
   37677 test_xmlUCSIsCJKCompatibilityIdeographsSupplement(void) {
   37678     int test_ret = 0;
   37679 
   37680 #if defined(LIBXML_UNICODE_ENABLED)
   37681     int mem_base;
   37682     int ret_val;
   37683     int code; /* UCS code point */
   37684     int n_code;
   37685 
   37686     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37687         mem_base = xmlMemBlocks();
   37688         code = gen_int(n_code, 0);
   37689 
   37690         ret_val = xmlUCSIsCJKCompatibilityIdeographsSupplement(code);
   37691         desret_int(ret_val);
   37692         call_tests++;
   37693         des_int(n_code, code, 0);
   37694         xmlResetLastError();
   37695         if (mem_base != xmlMemBlocks()) {
   37696             printf("Leak of %d blocks found in xmlUCSIsCJKCompatibilityIdeographsSupplement",
   37697 	           xmlMemBlocks() - mem_base);
   37698 	    test_ret++;
   37699             printf(" %d", n_code);
   37700             printf("\n");
   37701         }
   37702     }
   37703     function_tests++;
   37704 #endif
   37705 
   37706     return(test_ret);
   37707 }
   37708 
   37709 
   37710 static int
   37711 test_xmlUCSIsCJKRadicalsSupplement(void) {
   37712     int test_ret = 0;
   37713 
   37714 #if defined(LIBXML_UNICODE_ENABLED)
   37715     int mem_base;
   37716     int ret_val;
   37717     int code; /* UCS code point */
   37718     int n_code;
   37719 
   37720     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37721         mem_base = xmlMemBlocks();
   37722         code = gen_int(n_code, 0);
   37723 
   37724         ret_val = xmlUCSIsCJKRadicalsSupplement(code);
   37725         desret_int(ret_val);
   37726         call_tests++;
   37727         des_int(n_code, code, 0);
   37728         xmlResetLastError();
   37729         if (mem_base != xmlMemBlocks()) {
   37730             printf("Leak of %d blocks found in xmlUCSIsCJKRadicalsSupplement",
   37731 	           xmlMemBlocks() - mem_base);
   37732 	    test_ret++;
   37733             printf(" %d", n_code);
   37734             printf("\n");
   37735         }
   37736     }
   37737     function_tests++;
   37738 #endif
   37739 
   37740     return(test_ret);
   37741 }
   37742 
   37743 
   37744 static int
   37745 test_xmlUCSIsCJKSymbolsandPunctuation(void) {
   37746     int test_ret = 0;
   37747 
   37748 #if defined(LIBXML_UNICODE_ENABLED)
   37749     int mem_base;
   37750     int ret_val;
   37751     int code; /* UCS code point */
   37752     int n_code;
   37753 
   37754     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37755         mem_base = xmlMemBlocks();
   37756         code = gen_int(n_code, 0);
   37757 
   37758         ret_val = xmlUCSIsCJKSymbolsandPunctuation(code);
   37759         desret_int(ret_val);
   37760         call_tests++;
   37761         des_int(n_code, code, 0);
   37762         xmlResetLastError();
   37763         if (mem_base != xmlMemBlocks()) {
   37764             printf("Leak of %d blocks found in xmlUCSIsCJKSymbolsandPunctuation",
   37765 	           xmlMemBlocks() - mem_base);
   37766 	    test_ret++;
   37767             printf(" %d", n_code);
   37768             printf("\n");
   37769         }
   37770     }
   37771     function_tests++;
   37772 #endif
   37773 
   37774     return(test_ret);
   37775 }
   37776 
   37777 
   37778 static int
   37779 test_xmlUCSIsCJKUnifiedIdeographs(void) {
   37780     int test_ret = 0;
   37781 
   37782 #if defined(LIBXML_UNICODE_ENABLED)
   37783     int mem_base;
   37784     int ret_val;
   37785     int code; /* UCS code point */
   37786     int n_code;
   37787 
   37788     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37789         mem_base = xmlMemBlocks();
   37790         code = gen_int(n_code, 0);
   37791 
   37792         ret_val = xmlUCSIsCJKUnifiedIdeographs(code);
   37793         desret_int(ret_val);
   37794         call_tests++;
   37795         des_int(n_code, code, 0);
   37796         xmlResetLastError();
   37797         if (mem_base != xmlMemBlocks()) {
   37798             printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographs",
   37799 	           xmlMemBlocks() - mem_base);
   37800 	    test_ret++;
   37801             printf(" %d", n_code);
   37802             printf("\n");
   37803         }
   37804     }
   37805     function_tests++;
   37806 #endif
   37807 
   37808     return(test_ret);
   37809 }
   37810 
   37811 
   37812 static int
   37813 test_xmlUCSIsCJKUnifiedIdeographsExtensionA(void) {
   37814     int test_ret = 0;
   37815 
   37816 #if defined(LIBXML_UNICODE_ENABLED)
   37817     int mem_base;
   37818     int ret_val;
   37819     int code; /* UCS code point */
   37820     int n_code;
   37821 
   37822     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37823         mem_base = xmlMemBlocks();
   37824         code = gen_int(n_code, 0);
   37825 
   37826         ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionA(code);
   37827         desret_int(ret_val);
   37828         call_tests++;
   37829         des_int(n_code, code, 0);
   37830         xmlResetLastError();
   37831         if (mem_base != xmlMemBlocks()) {
   37832             printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionA",
   37833 	           xmlMemBlocks() - mem_base);
   37834 	    test_ret++;
   37835             printf(" %d", n_code);
   37836             printf("\n");
   37837         }
   37838     }
   37839     function_tests++;
   37840 #endif
   37841 
   37842     return(test_ret);
   37843 }
   37844 
   37845 
   37846 static int
   37847 test_xmlUCSIsCJKUnifiedIdeographsExtensionB(void) {
   37848     int test_ret = 0;
   37849 
   37850 #if defined(LIBXML_UNICODE_ENABLED)
   37851     int mem_base;
   37852     int ret_val;
   37853     int code; /* UCS code point */
   37854     int n_code;
   37855 
   37856     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37857         mem_base = xmlMemBlocks();
   37858         code = gen_int(n_code, 0);
   37859 
   37860         ret_val = xmlUCSIsCJKUnifiedIdeographsExtensionB(code);
   37861         desret_int(ret_val);
   37862         call_tests++;
   37863         des_int(n_code, code, 0);
   37864         xmlResetLastError();
   37865         if (mem_base != xmlMemBlocks()) {
   37866             printf("Leak of %d blocks found in xmlUCSIsCJKUnifiedIdeographsExtensionB",
   37867 	           xmlMemBlocks() - mem_base);
   37868 	    test_ret++;
   37869             printf(" %d", n_code);
   37870             printf("\n");
   37871         }
   37872     }
   37873     function_tests++;
   37874 #endif
   37875 
   37876     return(test_ret);
   37877 }
   37878 
   37879 
   37880 static int
   37881 test_xmlUCSIsCat(void) {
   37882     int test_ret = 0;
   37883 
   37884 #if defined(LIBXML_UNICODE_ENABLED)
   37885     int mem_base;
   37886     int ret_val;
   37887     int code; /* UCS code point */
   37888     int n_code;
   37889     char * cat; /* UCS Category name */
   37890     int n_cat;
   37891 
   37892     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37893     for (n_cat = 0;n_cat < gen_nb_const_char_ptr;n_cat++) {
   37894         mem_base = xmlMemBlocks();
   37895         code = gen_int(n_code, 0);
   37896         cat = gen_const_char_ptr(n_cat, 1);
   37897 
   37898         ret_val = xmlUCSIsCat(code, (const char *)cat);
   37899         desret_int(ret_val);
   37900         call_tests++;
   37901         des_int(n_code, code, 0);
   37902         des_const_char_ptr(n_cat, (const char *)cat, 1);
   37903         xmlResetLastError();
   37904         if (mem_base != xmlMemBlocks()) {
   37905             printf("Leak of %d blocks found in xmlUCSIsCat",
   37906 	           xmlMemBlocks() - mem_base);
   37907 	    test_ret++;
   37908             printf(" %d", n_code);
   37909             printf(" %d", n_cat);
   37910             printf("\n");
   37911         }
   37912     }
   37913     }
   37914     function_tests++;
   37915 #endif
   37916 
   37917     return(test_ret);
   37918 }
   37919 
   37920 
   37921 static int
   37922 test_xmlUCSIsCatC(void) {
   37923     int test_ret = 0;
   37924 
   37925 #if defined(LIBXML_UNICODE_ENABLED)
   37926     int mem_base;
   37927     int ret_val;
   37928     int code; /* UCS code point */
   37929     int n_code;
   37930 
   37931     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37932         mem_base = xmlMemBlocks();
   37933         code = gen_int(n_code, 0);
   37934 
   37935         ret_val = xmlUCSIsCatC(code);
   37936         desret_int(ret_val);
   37937         call_tests++;
   37938         des_int(n_code, code, 0);
   37939         xmlResetLastError();
   37940         if (mem_base != xmlMemBlocks()) {
   37941             printf("Leak of %d blocks found in xmlUCSIsCatC",
   37942 	           xmlMemBlocks() - mem_base);
   37943 	    test_ret++;
   37944             printf(" %d", n_code);
   37945             printf("\n");
   37946         }
   37947     }
   37948     function_tests++;
   37949 #endif
   37950 
   37951     return(test_ret);
   37952 }
   37953 
   37954 
   37955 static int
   37956 test_xmlUCSIsCatCc(void) {
   37957     int test_ret = 0;
   37958 
   37959 #if defined(LIBXML_UNICODE_ENABLED)
   37960     int mem_base;
   37961     int ret_val;
   37962     int code; /* UCS code point */
   37963     int n_code;
   37964 
   37965     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   37966         mem_base = xmlMemBlocks();
   37967         code = gen_int(n_code, 0);
   37968 
   37969         ret_val = xmlUCSIsCatCc(code);
   37970         desret_int(ret_val);
   37971         call_tests++;
   37972         des_int(n_code, code, 0);
   37973         xmlResetLastError();
   37974         if (mem_base != xmlMemBlocks()) {
   37975             printf("Leak of %d blocks found in xmlUCSIsCatCc",
   37976 	           xmlMemBlocks() - mem_base);
   37977 	    test_ret++;
   37978             printf(" %d", n_code);
   37979             printf("\n");
   37980         }
   37981     }
   37982     function_tests++;
   37983 #endif
   37984 
   37985     return(test_ret);
   37986 }
   37987 
   37988 
   37989 static int
   37990 test_xmlUCSIsCatCf(void) {
   37991     int test_ret = 0;
   37992 
   37993 #if defined(LIBXML_UNICODE_ENABLED)
   37994     int mem_base;
   37995     int ret_val;
   37996     int code; /* UCS code point */
   37997     int n_code;
   37998 
   37999     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38000         mem_base = xmlMemBlocks();
   38001         code = gen_int(n_code, 0);
   38002 
   38003         ret_val = xmlUCSIsCatCf(code);
   38004         desret_int(ret_val);
   38005         call_tests++;
   38006         des_int(n_code, code, 0);
   38007         xmlResetLastError();
   38008         if (mem_base != xmlMemBlocks()) {
   38009             printf("Leak of %d blocks found in xmlUCSIsCatCf",
   38010 	           xmlMemBlocks() - mem_base);
   38011 	    test_ret++;
   38012             printf(" %d", n_code);
   38013             printf("\n");
   38014         }
   38015     }
   38016     function_tests++;
   38017 #endif
   38018 
   38019     return(test_ret);
   38020 }
   38021 
   38022 
   38023 static int
   38024 test_xmlUCSIsCatCo(void) {
   38025     int test_ret = 0;
   38026 
   38027 #if defined(LIBXML_UNICODE_ENABLED)
   38028     int mem_base;
   38029     int ret_val;
   38030     int code; /* UCS code point */
   38031     int n_code;
   38032 
   38033     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38034         mem_base = xmlMemBlocks();
   38035         code = gen_int(n_code, 0);
   38036 
   38037         ret_val = xmlUCSIsCatCo(code);
   38038         desret_int(ret_val);
   38039         call_tests++;
   38040         des_int(n_code, code, 0);
   38041         xmlResetLastError();
   38042         if (mem_base != xmlMemBlocks()) {
   38043             printf("Leak of %d blocks found in xmlUCSIsCatCo",
   38044 	           xmlMemBlocks() - mem_base);
   38045 	    test_ret++;
   38046             printf(" %d", n_code);
   38047             printf("\n");
   38048         }
   38049     }
   38050     function_tests++;
   38051 #endif
   38052 
   38053     return(test_ret);
   38054 }
   38055 
   38056 
   38057 static int
   38058 test_xmlUCSIsCatCs(void) {
   38059     int test_ret = 0;
   38060 
   38061 #if defined(LIBXML_UNICODE_ENABLED)
   38062     int mem_base;
   38063     int ret_val;
   38064     int code; /* UCS code point */
   38065     int n_code;
   38066 
   38067     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38068         mem_base = xmlMemBlocks();
   38069         code = gen_int(n_code, 0);
   38070 
   38071         ret_val = xmlUCSIsCatCs(code);
   38072         desret_int(ret_val);
   38073         call_tests++;
   38074         des_int(n_code, code, 0);
   38075         xmlResetLastError();
   38076         if (mem_base != xmlMemBlocks()) {
   38077             printf("Leak of %d blocks found in xmlUCSIsCatCs",
   38078 	           xmlMemBlocks() - mem_base);
   38079 	    test_ret++;
   38080             printf(" %d", n_code);
   38081             printf("\n");
   38082         }
   38083     }
   38084     function_tests++;
   38085 #endif
   38086 
   38087     return(test_ret);
   38088 }
   38089 
   38090 
   38091 static int
   38092 test_xmlUCSIsCatL(void) {
   38093     int test_ret = 0;
   38094 
   38095 #if defined(LIBXML_UNICODE_ENABLED)
   38096     int mem_base;
   38097     int ret_val;
   38098     int code; /* UCS code point */
   38099     int n_code;
   38100 
   38101     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38102         mem_base = xmlMemBlocks();
   38103         code = gen_int(n_code, 0);
   38104 
   38105         ret_val = xmlUCSIsCatL(code);
   38106         desret_int(ret_val);
   38107         call_tests++;
   38108         des_int(n_code, code, 0);
   38109         xmlResetLastError();
   38110         if (mem_base != xmlMemBlocks()) {
   38111             printf("Leak of %d blocks found in xmlUCSIsCatL",
   38112 	           xmlMemBlocks() - mem_base);
   38113 	    test_ret++;
   38114             printf(" %d", n_code);
   38115             printf("\n");
   38116         }
   38117     }
   38118     function_tests++;
   38119 #endif
   38120 
   38121     return(test_ret);
   38122 }
   38123 
   38124 
   38125 static int
   38126 test_xmlUCSIsCatLl(void) {
   38127     int test_ret = 0;
   38128 
   38129 #if defined(LIBXML_UNICODE_ENABLED)
   38130     int mem_base;
   38131     int ret_val;
   38132     int code; /* UCS code point */
   38133     int n_code;
   38134 
   38135     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38136         mem_base = xmlMemBlocks();
   38137         code = gen_int(n_code, 0);
   38138 
   38139         ret_val = xmlUCSIsCatLl(code);
   38140         desret_int(ret_val);
   38141         call_tests++;
   38142         des_int(n_code, code, 0);
   38143         xmlResetLastError();
   38144         if (mem_base != xmlMemBlocks()) {
   38145             printf("Leak of %d blocks found in xmlUCSIsCatLl",
   38146 	           xmlMemBlocks() - mem_base);
   38147 	    test_ret++;
   38148             printf(" %d", n_code);
   38149             printf("\n");
   38150         }
   38151     }
   38152     function_tests++;
   38153 #endif
   38154 
   38155     return(test_ret);
   38156 }
   38157 
   38158 
   38159 static int
   38160 test_xmlUCSIsCatLm(void) {
   38161     int test_ret = 0;
   38162 
   38163 #if defined(LIBXML_UNICODE_ENABLED)
   38164     int mem_base;
   38165     int ret_val;
   38166     int code; /* UCS code point */
   38167     int n_code;
   38168 
   38169     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38170         mem_base = xmlMemBlocks();
   38171         code = gen_int(n_code, 0);
   38172 
   38173         ret_val = xmlUCSIsCatLm(code);
   38174         desret_int(ret_val);
   38175         call_tests++;
   38176         des_int(n_code, code, 0);
   38177         xmlResetLastError();
   38178         if (mem_base != xmlMemBlocks()) {
   38179             printf("Leak of %d blocks found in xmlUCSIsCatLm",
   38180 	           xmlMemBlocks() - mem_base);
   38181 	    test_ret++;
   38182             printf(" %d", n_code);
   38183             printf("\n");
   38184         }
   38185     }
   38186     function_tests++;
   38187 #endif
   38188 
   38189     return(test_ret);
   38190 }
   38191 
   38192 
   38193 static int
   38194 test_xmlUCSIsCatLo(void) {
   38195     int test_ret = 0;
   38196 
   38197 #if defined(LIBXML_UNICODE_ENABLED)
   38198     int mem_base;
   38199     int ret_val;
   38200     int code; /* UCS code point */
   38201     int n_code;
   38202 
   38203     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38204         mem_base = xmlMemBlocks();
   38205         code = gen_int(n_code, 0);
   38206 
   38207         ret_val = xmlUCSIsCatLo(code);
   38208         desret_int(ret_val);
   38209         call_tests++;
   38210         des_int(n_code, code, 0);
   38211         xmlResetLastError();
   38212         if (mem_base != xmlMemBlocks()) {
   38213             printf("Leak of %d blocks found in xmlUCSIsCatLo",
   38214 	           xmlMemBlocks() - mem_base);
   38215 	    test_ret++;
   38216             printf(" %d", n_code);
   38217             printf("\n");
   38218         }
   38219     }
   38220     function_tests++;
   38221 #endif
   38222 
   38223     return(test_ret);
   38224 }
   38225 
   38226 
   38227 static int
   38228 test_xmlUCSIsCatLt(void) {
   38229     int test_ret = 0;
   38230 
   38231 #if defined(LIBXML_UNICODE_ENABLED)
   38232     int mem_base;
   38233     int ret_val;
   38234     int code; /* UCS code point */
   38235     int n_code;
   38236 
   38237     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38238         mem_base = xmlMemBlocks();
   38239         code = gen_int(n_code, 0);
   38240 
   38241         ret_val = xmlUCSIsCatLt(code);
   38242         desret_int(ret_val);
   38243         call_tests++;
   38244         des_int(n_code, code, 0);
   38245         xmlResetLastError();
   38246         if (mem_base != xmlMemBlocks()) {
   38247             printf("Leak of %d blocks found in xmlUCSIsCatLt",
   38248 	           xmlMemBlocks() - mem_base);
   38249 	    test_ret++;
   38250             printf(" %d", n_code);
   38251             printf("\n");
   38252         }
   38253     }
   38254     function_tests++;
   38255 #endif
   38256 
   38257     return(test_ret);
   38258 }
   38259 
   38260 
   38261 static int
   38262 test_xmlUCSIsCatLu(void) {
   38263     int test_ret = 0;
   38264 
   38265 #if defined(LIBXML_UNICODE_ENABLED)
   38266     int mem_base;
   38267     int ret_val;
   38268     int code; /* UCS code point */
   38269     int n_code;
   38270 
   38271     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38272         mem_base = xmlMemBlocks();
   38273         code = gen_int(n_code, 0);
   38274 
   38275         ret_val = xmlUCSIsCatLu(code);
   38276         desret_int(ret_val);
   38277         call_tests++;
   38278         des_int(n_code, code, 0);
   38279         xmlResetLastError();
   38280         if (mem_base != xmlMemBlocks()) {
   38281             printf("Leak of %d blocks found in xmlUCSIsCatLu",
   38282 	           xmlMemBlocks() - mem_base);
   38283 	    test_ret++;
   38284             printf(" %d", n_code);
   38285             printf("\n");
   38286         }
   38287     }
   38288     function_tests++;
   38289 #endif
   38290 
   38291     return(test_ret);
   38292 }
   38293 
   38294 
   38295 static int
   38296 test_xmlUCSIsCatM(void) {
   38297     int test_ret = 0;
   38298 
   38299 #if defined(LIBXML_UNICODE_ENABLED)
   38300     int mem_base;
   38301     int ret_val;
   38302     int code; /* UCS code point */
   38303     int n_code;
   38304 
   38305     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38306         mem_base = xmlMemBlocks();
   38307         code = gen_int(n_code, 0);
   38308 
   38309         ret_val = xmlUCSIsCatM(code);
   38310         desret_int(ret_val);
   38311         call_tests++;
   38312         des_int(n_code, code, 0);
   38313         xmlResetLastError();
   38314         if (mem_base != xmlMemBlocks()) {
   38315             printf("Leak of %d blocks found in xmlUCSIsCatM",
   38316 	           xmlMemBlocks() - mem_base);
   38317 	    test_ret++;
   38318             printf(" %d", n_code);
   38319             printf("\n");
   38320         }
   38321     }
   38322     function_tests++;
   38323 #endif
   38324 
   38325     return(test_ret);
   38326 }
   38327 
   38328 
   38329 static int
   38330 test_xmlUCSIsCatMc(void) {
   38331     int test_ret = 0;
   38332 
   38333 #if defined(LIBXML_UNICODE_ENABLED)
   38334     int mem_base;
   38335     int ret_val;
   38336     int code; /* UCS code point */
   38337     int n_code;
   38338 
   38339     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38340         mem_base = xmlMemBlocks();
   38341         code = gen_int(n_code, 0);
   38342 
   38343         ret_val = xmlUCSIsCatMc(code);
   38344         desret_int(ret_val);
   38345         call_tests++;
   38346         des_int(n_code, code, 0);
   38347         xmlResetLastError();
   38348         if (mem_base != xmlMemBlocks()) {
   38349             printf("Leak of %d blocks found in xmlUCSIsCatMc",
   38350 	           xmlMemBlocks() - mem_base);
   38351 	    test_ret++;
   38352             printf(" %d", n_code);
   38353             printf("\n");
   38354         }
   38355     }
   38356     function_tests++;
   38357 #endif
   38358 
   38359     return(test_ret);
   38360 }
   38361 
   38362 
   38363 static int
   38364 test_xmlUCSIsCatMe(void) {
   38365     int test_ret = 0;
   38366 
   38367 #if defined(LIBXML_UNICODE_ENABLED)
   38368     int mem_base;
   38369     int ret_val;
   38370     int code; /* UCS code point */
   38371     int n_code;
   38372 
   38373     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38374         mem_base = xmlMemBlocks();
   38375         code = gen_int(n_code, 0);
   38376 
   38377         ret_val = xmlUCSIsCatMe(code);
   38378         desret_int(ret_val);
   38379         call_tests++;
   38380         des_int(n_code, code, 0);
   38381         xmlResetLastError();
   38382         if (mem_base != xmlMemBlocks()) {
   38383             printf("Leak of %d blocks found in xmlUCSIsCatMe",
   38384 	           xmlMemBlocks() - mem_base);
   38385 	    test_ret++;
   38386             printf(" %d", n_code);
   38387             printf("\n");
   38388         }
   38389     }
   38390     function_tests++;
   38391 #endif
   38392 
   38393     return(test_ret);
   38394 }
   38395 
   38396 
   38397 static int
   38398 test_xmlUCSIsCatMn(void) {
   38399     int test_ret = 0;
   38400 
   38401 #if defined(LIBXML_UNICODE_ENABLED)
   38402     int mem_base;
   38403     int ret_val;
   38404     int code; /* UCS code point */
   38405     int n_code;
   38406 
   38407     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38408         mem_base = xmlMemBlocks();
   38409         code = gen_int(n_code, 0);
   38410 
   38411         ret_val = xmlUCSIsCatMn(code);
   38412         desret_int(ret_val);
   38413         call_tests++;
   38414         des_int(n_code, code, 0);
   38415         xmlResetLastError();
   38416         if (mem_base != xmlMemBlocks()) {
   38417             printf("Leak of %d blocks found in xmlUCSIsCatMn",
   38418 	           xmlMemBlocks() - mem_base);
   38419 	    test_ret++;
   38420             printf(" %d", n_code);
   38421             printf("\n");
   38422         }
   38423     }
   38424     function_tests++;
   38425 #endif
   38426 
   38427     return(test_ret);
   38428 }
   38429 
   38430 
   38431 static int
   38432 test_xmlUCSIsCatN(void) {
   38433     int test_ret = 0;
   38434 
   38435 #if defined(LIBXML_UNICODE_ENABLED)
   38436     int mem_base;
   38437     int ret_val;
   38438     int code; /* UCS code point */
   38439     int n_code;
   38440 
   38441     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38442         mem_base = xmlMemBlocks();
   38443         code = gen_int(n_code, 0);
   38444 
   38445         ret_val = xmlUCSIsCatN(code);
   38446         desret_int(ret_val);
   38447         call_tests++;
   38448         des_int(n_code, code, 0);
   38449         xmlResetLastError();
   38450         if (mem_base != xmlMemBlocks()) {
   38451             printf("Leak of %d blocks found in xmlUCSIsCatN",
   38452 	           xmlMemBlocks() - mem_base);
   38453 	    test_ret++;
   38454             printf(" %d", n_code);
   38455             printf("\n");
   38456         }
   38457     }
   38458     function_tests++;
   38459 #endif
   38460 
   38461     return(test_ret);
   38462 }
   38463 
   38464 
   38465 static int
   38466 test_xmlUCSIsCatNd(void) {
   38467     int test_ret = 0;
   38468 
   38469 #if defined(LIBXML_UNICODE_ENABLED)
   38470     int mem_base;
   38471     int ret_val;
   38472     int code; /* UCS code point */
   38473     int n_code;
   38474 
   38475     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38476         mem_base = xmlMemBlocks();
   38477         code = gen_int(n_code, 0);
   38478 
   38479         ret_val = xmlUCSIsCatNd(code);
   38480         desret_int(ret_val);
   38481         call_tests++;
   38482         des_int(n_code, code, 0);
   38483         xmlResetLastError();
   38484         if (mem_base != xmlMemBlocks()) {
   38485             printf("Leak of %d blocks found in xmlUCSIsCatNd",
   38486 	           xmlMemBlocks() - mem_base);
   38487 	    test_ret++;
   38488             printf(" %d", n_code);
   38489             printf("\n");
   38490         }
   38491     }
   38492     function_tests++;
   38493 #endif
   38494 
   38495     return(test_ret);
   38496 }
   38497 
   38498 
   38499 static int
   38500 test_xmlUCSIsCatNl(void) {
   38501     int test_ret = 0;
   38502 
   38503 #if defined(LIBXML_UNICODE_ENABLED)
   38504     int mem_base;
   38505     int ret_val;
   38506     int code; /* UCS code point */
   38507     int n_code;
   38508 
   38509     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38510         mem_base = xmlMemBlocks();
   38511         code = gen_int(n_code, 0);
   38512 
   38513         ret_val = xmlUCSIsCatNl(code);
   38514         desret_int(ret_val);
   38515         call_tests++;
   38516         des_int(n_code, code, 0);
   38517         xmlResetLastError();
   38518         if (mem_base != xmlMemBlocks()) {
   38519             printf("Leak of %d blocks found in xmlUCSIsCatNl",
   38520 	           xmlMemBlocks() - mem_base);
   38521 	    test_ret++;
   38522             printf(" %d", n_code);
   38523             printf("\n");
   38524         }
   38525     }
   38526     function_tests++;
   38527 #endif
   38528 
   38529     return(test_ret);
   38530 }
   38531 
   38532 
   38533 static int
   38534 test_xmlUCSIsCatNo(void) {
   38535     int test_ret = 0;
   38536 
   38537 #if defined(LIBXML_UNICODE_ENABLED)
   38538     int mem_base;
   38539     int ret_val;
   38540     int code; /* UCS code point */
   38541     int n_code;
   38542 
   38543     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38544         mem_base = xmlMemBlocks();
   38545         code = gen_int(n_code, 0);
   38546 
   38547         ret_val = xmlUCSIsCatNo(code);
   38548         desret_int(ret_val);
   38549         call_tests++;
   38550         des_int(n_code, code, 0);
   38551         xmlResetLastError();
   38552         if (mem_base != xmlMemBlocks()) {
   38553             printf("Leak of %d blocks found in xmlUCSIsCatNo",
   38554 	           xmlMemBlocks() - mem_base);
   38555 	    test_ret++;
   38556             printf(" %d", n_code);
   38557             printf("\n");
   38558         }
   38559     }
   38560     function_tests++;
   38561 #endif
   38562 
   38563     return(test_ret);
   38564 }
   38565 
   38566 
   38567 static int
   38568 test_xmlUCSIsCatP(void) {
   38569     int test_ret = 0;
   38570 
   38571 #if defined(LIBXML_UNICODE_ENABLED)
   38572     int mem_base;
   38573     int ret_val;
   38574     int code; /* UCS code point */
   38575     int n_code;
   38576 
   38577     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38578         mem_base = xmlMemBlocks();
   38579         code = gen_int(n_code, 0);
   38580 
   38581         ret_val = xmlUCSIsCatP(code);
   38582         desret_int(ret_val);
   38583         call_tests++;
   38584         des_int(n_code, code, 0);
   38585         xmlResetLastError();
   38586         if (mem_base != xmlMemBlocks()) {
   38587             printf("Leak of %d blocks found in xmlUCSIsCatP",
   38588 	           xmlMemBlocks() - mem_base);
   38589 	    test_ret++;
   38590             printf(" %d", n_code);
   38591             printf("\n");
   38592         }
   38593     }
   38594     function_tests++;
   38595 #endif
   38596 
   38597     return(test_ret);
   38598 }
   38599 
   38600 
   38601 static int
   38602 test_xmlUCSIsCatPc(void) {
   38603     int test_ret = 0;
   38604 
   38605 #if defined(LIBXML_UNICODE_ENABLED)
   38606     int mem_base;
   38607     int ret_val;
   38608     int code; /* UCS code point */
   38609     int n_code;
   38610 
   38611     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38612         mem_base = xmlMemBlocks();
   38613         code = gen_int(n_code, 0);
   38614 
   38615         ret_val = xmlUCSIsCatPc(code);
   38616         desret_int(ret_val);
   38617         call_tests++;
   38618         des_int(n_code, code, 0);
   38619         xmlResetLastError();
   38620         if (mem_base != xmlMemBlocks()) {
   38621             printf("Leak of %d blocks found in xmlUCSIsCatPc",
   38622 	           xmlMemBlocks() - mem_base);
   38623 	    test_ret++;
   38624             printf(" %d", n_code);
   38625             printf("\n");
   38626         }
   38627     }
   38628     function_tests++;
   38629 #endif
   38630 
   38631     return(test_ret);
   38632 }
   38633 
   38634 
   38635 static int
   38636 test_xmlUCSIsCatPd(void) {
   38637     int test_ret = 0;
   38638 
   38639 #if defined(LIBXML_UNICODE_ENABLED)
   38640     int mem_base;
   38641     int ret_val;
   38642     int code; /* UCS code point */
   38643     int n_code;
   38644 
   38645     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38646         mem_base = xmlMemBlocks();
   38647         code = gen_int(n_code, 0);
   38648 
   38649         ret_val = xmlUCSIsCatPd(code);
   38650         desret_int(ret_val);
   38651         call_tests++;
   38652         des_int(n_code, code, 0);
   38653         xmlResetLastError();
   38654         if (mem_base != xmlMemBlocks()) {
   38655             printf("Leak of %d blocks found in xmlUCSIsCatPd",
   38656 	           xmlMemBlocks() - mem_base);
   38657 	    test_ret++;
   38658             printf(" %d", n_code);
   38659             printf("\n");
   38660         }
   38661     }
   38662     function_tests++;
   38663 #endif
   38664 
   38665     return(test_ret);
   38666 }
   38667 
   38668 
   38669 static int
   38670 test_xmlUCSIsCatPe(void) {
   38671     int test_ret = 0;
   38672 
   38673 #if defined(LIBXML_UNICODE_ENABLED)
   38674     int mem_base;
   38675     int ret_val;
   38676     int code; /* UCS code point */
   38677     int n_code;
   38678 
   38679     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38680         mem_base = xmlMemBlocks();
   38681         code = gen_int(n_code, 0);
   38682 
   38683         ret_val = xmlUCSIsCatPe(code);
   38684         desret_int(ret_val);
   38685         call_tests++;
   38686         des_int(n_code, code, 0);
   38687         xmlResetLastError();
   38688         if (mem_base != xmlMemBlocks()) {
   38689             printf("Leak of %d blocks found in xmlUCSIsCatPe",
   38690 	           xmlMemBlocks() - mem_base);
   38691 	    test_ret++;
   38692             printf(" %d", n_code);
   38693             printf("\n");
   38694         }
   38695     }
   38696     function_tests++;
   38697 #endif
   38698 
   38699     return(test_ret);
   38700 }
   38701 
   38702 
   38703 static int
   38704 test_xmlUCSIsCatPf(void) {
   38705     int test_ret = 0;
   38706 
   38707 #if defined(LIBXML_UNICODE_ENABLED)
   38708     int mem_base;
   38709     int ret_val;
   38710     int code; /* UCS code point */
   38711     int n_code;
   38712 
   38713     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38714         mem_base = xmlMemBlocks();
   38715         code = gen_int(n_code, 0);
   38716 
   38717         ret_val = xmlUCSIsCatPf(code);
   38718         desret_int(ret_val);
   38719         call_tests++;
   38720         des_int(n_code, code, 0);
   38721         xmlResetLastError();
   38722         if (mem_base != xmlMemBlocks()) {
   38723             printf("Leak of %d blocks found in xmlUCSIsCatPf",
   38724 	           xmlMemBlocks() - mem_base);
   38725 	    test_ret++;
   38726             printf(" %d", n_code);
   38727             printf("\n");
   38728         }
   38729     }
   38730     function_tests++;
   38731 #endif
   38732 
   38733     return(test_ret);
   38734 }
   38735 
   38736 
   38737 static int
   38738 test_xmlUCSIsCatPi(void) {
   38739     int test_ret = 0;
   38740 
   38741 #if defined(LIBXML_UNICODE_ENABLED)
   38742     int mem_base;
   38743     int ret_val;
   38744     int code; /* UCS code point */
   38745     int n_code;
   38746 
   38747     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38748         mem_base = xmlMemBlocks();
   38749         code = gen_int(n_code, 0);
   38750 
   38751         ret_val = xmlUCSIsCatPi(code);
   38752         desret_int(ret_val);
   38753         call_tests++;
   38754         des_int(n_code, code, 0);
   38755         xmlResetLastError();
   38756         if (mem_base != xmlMemBlocks()) {
   38757             printf("Leak of %d blocks found in xmlUCSIsCatPi",
   38758 	           xmlMemBlocks() - mem_base);
   38759 	    test_ret++;
   38760             printf(" %d", n_code);
   38761             printf("\n");
   38762         }
   38763     }
   38764     function_tests++;
   38765 #endif
   38766 
   38767     return(test_ret);
   38768 }
   38769 
   38770 
   38771 static int
   38772 test_xmlUCSIsCatPo(void) {
   38773     int test_ret = 0;
   38774 
   38775 #if defined(LIBXML_UNICODE_ENABLED)
   38776     int mem_base;
   38777     int ret_val;
   38778     int code; /* UCS code point */
   38779     int n_code;
   38780 
   38781     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38782         mem_base = xmlMemBlocks();
   38783         code = gen_int(n_code, 0);
   38784 
   38785         ret_val = xmlUCSIsCatPo(code);
   38786         desret_int(ret_val);
   38787         call_tests++;
   38788         des_int(n_code, code, 0);
   38789         xmlResetLastError();
   38790         if (mem_base != xmlMemBlocks()) {
   38791             printf("Leak of %d blocks found in xmlUCSIsCatPo",
   38792 	           xmlMemBlocks() - mem_base);
   38793 	    test_ret++;
   38794             printf(" %d", n_code);
   38795             printf("\n");
   38796         }
   38797     }
   38798     function_tests++;
   38799 #endif
   38800 
   38801     return(test_ret);
   38802 }
   38803 
   38804 
   38805 static int
   38806 test_xmlUCSIsCatPs(void) {
   38807     int test_ret = 0;
   38808 
   38809 #if defined(LIBXML_UNICODE_ENABLED)
   38810     int mem_base;
   38811     int ret_val;
   38812     int code; /* UCS code point */
   38813     int n_code;
   38814 
   38815     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38816         mem_base = xmlMemBlocks();
   38817         code = gen_int(n_code, 0);
   38818 
   38819         ret_val = xmlUCSIsCatPs(code);
   38820         desret_int(ret_val);
   38821         call_tests++;
   38822         des_int(n_code, code, 0);
   38823         xmlResetLastError();
   38824         if (mem_base != xmlMemBlocks()) {
   38825             printf("Leak of %d blocks found in xmlUCSIsCatPs",
   38826 	           xmlMemBlocks() - mem_base);
   38827 	    test_ret++;
   38828             printf(" %d", n_code);
   38829             printf("\n");
   38830         }
   38831     }
   38832     function_tests++;
   38833 #endif
   38834 
   38835     return(test_ret);
   38836 }
   38837 
   38838 
   38839 static int
   38840 test_xmlUCSIsCatS(void) {
   38841     int test_ret = 0;
   38842 
   38843 #if defined(LIBXML_UNICODE_ENABLED)
   38844     int mem_base;
   38845     int ret_val;
   38846     int code; /* UCS code point */
   38847     int n_code;
   38848 
   38849     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38850         mem_base = xmlMemBlocks();
   38851         code = gen_int(n_code, 0);
   38852 
   38853         ret_val = xmlUCSIsCatS(code);
   38854         desret_int(ret_val);
   38855         call_tests++;
   38856         des_int(n_code, code, 0);
   38857         xmlResetLastError();
   38858         if (mem_base != xmlMemBlocks()) {
   38859             printf("Leak of %d blocks found in xmlUCSIsCatS",
   38860 	           xmlMemBlocks() - mem_base);
   38861 	    test_ret++;
   38862             printf(" %d", n_code);
   38863             printf("\n");
   38864         }
   38865     }
   38866     function_tests++;
   38867 #endif
   38868 
   38869     return(test_ret);
   38870 }
   38871 
   38872 
   38873 static int
   38874 test_xmlUCSIsCatSc(void) {
   38875     int test_ret = 0;
   38876 
   38877 #if defined(LIBXML_UNICODE_ENABLED)
   38878     int mem_base;
   38879     int ret_val;
   38880     int code; /* UCS code point */
   38881     int n_code;
   38882 
   38883     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38884         mem_base = xmlMemBlocks();
   38885         code = gen_int(n_code, 0);
   38886 
   38887         ret_val = xmlUCSIsCatSc(code);
   38888         desret_int(ret_val);
   38889         call_tests++;
   38890         des_int(n_code, code, 0);
   38891         xmlResetLastError();
   38892         if (mem_base != xmlMemBlocks()) {
   38893             printf("Leak of %d blocks found in xmlUCSIsCatSc",
   38894 	           xmlMemBlocks() - mem_base);
   38895 	    test_ret++;
   38896             printf(" %d", n_code);
   38897             printf("\n");
   38898         }
   38899     }
   38900     function_tests++;
   38901 #endif
   38902 
   38903     return(test_ret);
   38904 }
   38905 
   38906 
   38907 static int
   38908 test_xmlUCSIsCatSk(void) {
   38909     int test_ret = 0;
   38910 
   38911 #if defined(LIBXML_UNICODE_ENABLED)
   38912     int mem_base;
   38913     int ret_val;
   38914     int code; /* UCS code point */
   38915     int n_code;
   38916 
   38917     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38918         mem_base = xmlMemBlocks();
   38919         code = gen_int(n_code, 0);
   38920 
   38921         ret_val = xmlUCSIsCatSk(code);
   38922         desret_int(ret_val);
   38923         call_tests++;
   38924         des_int(n_code, code, 0);
   38925         xmlResetLastError();
   38926         if (mem_base != xmlMemBlocks()) {
   38927             printf("Leak of %d blocks found in xmlUCSIsCatSk",
   38928 	           xmlMemBlocks() - mem_base);
   38929 	    test_ret++;
   38930             printf(" %d", n_code);
   38931             printf("\n");
   38932         }
   38933     }
   38934     function_tests++;
   38935 #endif
   38936 
   38937     return(test_ret);
   38938 }
   38939 
   38940 
   38941 static int
   38942 test_xmlUCSIsCatSm(void) {
   38943     int test_ret = 0;
   38944 
   38945 #if defined(LIBXML_UNICODE_ENABLED)
   38946     int mem_base;
   38947     int ret_val;
   38948     int code; /* UCS code point */
   38949     int n_code;
   38950 
   38951     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38952         mem_base = xmlMemBlocks();
   38953         code = gen_int(n_code, 0);
   38954 
   38955         ret_val = xmlUCSIsCatSm(code);
   38956         desret_int(ret_val);
   38957         call_tests++;
   38958         des_int(n_code, code, 0);
   38959         xmlResetLastError();
   38960         if (mem_base != xmlMemBlocks()) {
   38961             printf("Leak of %d blocks found in xmlUCSIsCatSm",
   38962 	           xmlMemBlocks() - mem_base);
   38963 	    test_ret++;
   38964             printf(" %d", n_code);
   38965             printf("\n");
   38966         }
   38967     }
   38968     function_tests++;
   38969 #endif
   38970 
   38971     return(test_ret);
   38972 }
   38973 
   38974 
   38975 static int
   38976 test_xmlUCSIsCatSo(void) {
   38977     int test_ret = 0;
   38978 
   38979 #if defined(LIBXML_UNICODE_ENABLED)
   38980     int mem_base;
   38981     int ret_val;
   38982     int code; /* UCS code point */
   38983     int n_code;
   38984 
   38985     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   38986         mem_base = xmlMemBlocks();
   38987         code = gen_int(n_code, 0);
   38988 
   38989         ret_val = xmlUCSIsCatSo(code);
   38990         desret_int(ret_val);
   38991         call_tests++;
   38992         des_int(n_code, code, 0);
   38993         xmlResetLastError();
   38994         if (mem_base != xmlMemBlocks()) {
   38995             printf("Leak of %d blocks found in xmlUCSIsCatSo",
   38996 	           xmlMemBlocks() - mem_base);
   38997 	    test_ret++;
   38998             printf(" %d", n_code);
   38999             printf("\n");
   39000         }
   39001     }
   39002     function_tests++;
   39003 #endif
   39004 
   39005     return(test_ret);
   39006 }
   39007 
   39008 
   39009 static int
   39010 test_xmlUCSIsCatZ(void) {
   39011     int test_ret = 0;
   39012 
   39013 #if defined(LIBXML_UNICODE_ENABLED)
   39014     int mem_base;
   39015     int ret_val;
   39016     int code; /* UCS code point */
   39017     int n_code;
   39018 
   39019     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39020         mem_base = xmlMemBlocks();
   39021         code = gen_int(n_code, 0);
   39022 
   39023         ret_val = xmlUCSIsCatZ(code);
   39024         desret_int(ret_val);
   39025         call_tests++;
   39026         des_int(n_code, code, 0);
   39027         xmlResetLastError();
   39028         if (mem_base != xmlMemBlocks()) {
   39029             printf("Leak of %d blocks found in xmlUCSIsCatZ",
   39030 	           xmlMemBlocks() - mem_base);
   39031 	    test_ret++;
   39032             printf(" %d", n_code);
   39033             printf("\n");
   39034         }
   39035     }
   39036     function_tests++;
   39037 #endif
   39038 
   39039     return(test_ret);
   39040 }
   39041 
   39042 
   39043 static int
   39044 test_xmlUCSIsCatZl(void) {
   39045     int test_ret = 0;
   39046 
   39047 #if defined(LIBXML_UNICODE_ENABLED)
   39048     int mem_base;
   39049     int ret_val;
   39050     int code; /* UCS code point */
   39051     int n_code;
   39052 
   39053     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39054         mem_base = xmlMemBlocks();
   39055         code = gen_int(n_code, 0);
   39056 
   39057         ret_val = xmlUCSIsCatZl(code);
   39058         desret_int(ret_val);
   39059         call_tests++;
   39060         des_int(n_code, code, 0);
   39061         xmlResetLastError();
   39062         if (mem_base != xmlMemBlocks()) {
   39063             printf("Leak of %d blocks found in xmlUCSIsCatZl",
   39064 	           xmlMemBlocks() - mem_base);
   39065 	    test_ret++;
   39066             printf(" %d", n_code);
   39067             printf("\n");
   39068         }
   39069     }
   39070     function_tests++;
   39071 #endif
   39072 
   39073     return(test_ret);
   39074 }
   39075 
   39076 
   39077 static int
   39078 test_xmlUCSIsCatZp(void) {
   39079     int test_ret = 0;
   39080 
   39081 #if defined(LIBXML_UNICODE_ENABLED)
   39082     int mem_base;
   39083     int ret_val;
   39084     int code; /* UCS code point */
   39085     int n_code;
   39086 
   39087     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39088         mem_base = xmlMemBlocks();
   39089         code = gen_int(n_code, 0);
   39090 
   39091         ret_val = xmlUCSIsCatZp(code);
   39092         desret_int(ret_val);
   39093         call_tests++;
   39094         des_int(n_code, code, 0);
   39095         xmlResetLastError();
   39096         if (mem_base != xmlMemBlocks()) {
   39097             printf("Leak of %d blocks found in xmlUCSIsCatZp",
   39098 	           xmlMemBlocks() - mem_base);
   39099 	    test_ret++;
   39100             printf(" %d", n_code);
   39101             printf("\n");
   39102         }
   39103     }
   39104     function_tests++;
   39105 #endif
   39106 
   39107     return(test_ret);
   39108 }
   39109 
   39110 
   39111 static int
   39112 test_xmlUCSIsCatZs(void) {
   39113     int test_ret = 0;
   39114 
   39115 #if defined(LIBXML_UNICODE_ENABLED)
   39116     int mem_base;
   39117     int ret_val;
   39118     int code; /* UCS code point */
   39119     int n_code;
   39120 
   39121     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39122         mem_base = xmlMemBlocks();
   39123         code = gen_int(n_code, 0);
   39124 
   39125         ret_val = xmlUCSIsCatZs(code);
   39126         desret_int(ret_val);
   39127         call_tests++;
   39128         des_int(n_code, code, 0);
   39129         xmlResetLastError();
   39130         if (mem_base != xmlMemBlocks()) {
   39131             printf("Leak of %d blocks found in xmlUCSIsCatZs",
   39132 	           xmlMemBlocks() - mem_base);
   39133 	    test_ret++;
   39134             printf(" %d", n_code);
   39135             printf("\n");
   39136         }
   39137     }
   39138     function_tests++;
   39139 #endif
   39140 
   39141     return(test_ret);
   39142 }
   39143 
   39144 
   39145 static int
   39146 test_xmlUCSIsCherokee(void) {
   39147     int test_ret = 0;
   39148 
   39149 #if defined(LIBXML_UNICODE_ENABLED)
   39150     int mem_base;
   39151     int ret_val;
   39152     int code; /* UCS code point */
   39153     int n_code;
   39154 
   39155     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39156         mem_base = xmlMemBlocks();
   39157         code = gen_int(n_code, 0);
   39158 
   39159         ret_val = xmlUCSIsCherokee(code);
   39160         desret_int(ret_val);
   39161         call_tests++;
   39162         des_int(n_code, code, 0);
   39163         xmlResetLastError();
   39164         if (mem_base != xmlMemBlocks()) {
   39165             printf("Leak of %d blocks found in xmlUCSIsCherokee",
   39166 	           xmlMemBlocks() - mem_base);
   39167 	    test_ret++;
   39168             printf(" %d", n_code);
   39169             printf("\n");
   39170         }
   39171     }
   39172     function_tests++;
   39173 #endif
   39174 
   39175     return(test_ret);
   39176 }
   39177 
   39178 
   39179 static int
   39180 test_xmlUCSIsCombiningDiacriticalMarks(void) {
   39181     int test_ret = 0;
   39182 
   39183 #if defined(LIBXML_UNICODE_ENABLED)
   39184     int mem_base;
   39185     int ret_val;
   39186     int code; /* UCS code point */
   39187     int n_code;
   39188 
   39189     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39190         mem_base = xmlMemBlocks();
   39191         code = gen_int(n_code, 0);
   39192 
   39193         ret_val = xmlUCSIsCombiningDiacriticalMarks(code);
   39194         desret_int(ret_val);
   39195         call_tests++;
   39196         des_int(n_code, code, 0);
   39197         xmlResetLastError();
   39198         if (mem_base != xmlMemBlocks()) {
   39199             printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarks",
   39200 	           xmlMemBlocks() - mem_base);
   39201 	    test_ret++;
   39202             printf(" %d", n_code);
   39203             printf("\n");
   39204         }
   39205     }
   39206     function_tests++;
   39207 #endif
   39208 
   39209     return(test_ret);
   39210 }
   39211 
   39212 
   39213 static int
   39214 test_xmlUCSIsCombiningDiacriticalMarksforSymbols(void) {
   39215     int test_ret = 0;
   39216 
   39217 #if defined(LIBXML_UNICODE_ENABLED)
   39218     int mem_base;
   39219     int ret_val;
   39220     int code; /* UCS code point */
   39221     int n_code;
   39222 
   39223     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39224         mem_base = xmlMemBlocks();
   39225         code = gen_int(n_code, 0);
   39226 
   39227         ret_val = xmlUCSIsCombiningDiacriticalMarksforSymbols(code);
   39228         desret_int(ret_val);
   39229         call_tests++;
   39230         des_int(n_code, code, 0);
   39231         xmlResetLastError();
   39232         if (mem_base != xmlMemBlocks()) {
   39233             printf("Leak of %d blocks found in xmlUCSIsCombiningDiacriticalMarksforSymbols",
   39234 	           xmlMemBlocks() - mem_base);
   39235 	    test_ret++;
   39236             printf(" %d", n_code);
   39237             printf("\n");
   39238         }
   39239     }
   39240     function_tests++;
   39241 #endif
   39242 
   39243     return(test_ret);
   39244 }
   39245 
   39246 
   39247 static int
   39248 test_xmlUCSIsCombiningHalfMarks(void) {
   39249     int test_ret = 0;
   39250 
   39251 #if defined(LIBXML_UNICODE_ENABLED)
   39252     int mem_base;
   39253     int ret_val;
   39254     int code; /* UCS code point */
   39255     int n_code;
   39256 
   39257     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39258         mem_base = xmlMemBlocks();
   39259         code = gen_int(n_code, 0);
   39260 
   39261         ret_val = xmlUCSIsCombiningHalfMarks(code);
   39262         desret_int(ret_val);
   39263         call_tests++;
   39264         des_int(n_code, code, 0);
   39265         xmlResetLastError();
   39266         if (mem_base != xmlMemBlocks()) {
   39267             printf("Leak of %d blocks found in xmlUCSIsCombiningHalfMarks",
   39268 	           xmlMemBlocks() - mem_base);
   39269 	    test_ret++;
   39270             printf(" %d", n_code);
   39271             printf("\n");
   39272         }
   39273     }
   39274     function_tests++;
   39275 #endif
   39276 
   39277     return(test_ret);
   39278 }
   39279 
   39280 
   39281 static int
   39282 test_xmlUCSIsCombiningMarksforSymbols(void) {
   39283     int test_ret = 0;
   39284 
   39285 #if defined(LIBXML_UNICODE_ENABLED)
   39286     int mem_base;
   39287     int ret_val;
   39288     int code; /* UCS code point */
   39289     int n_code;
   39290 
   39291     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39292         mem_base = xmlMemBlocks();
   39293         code = gen_int(n_code, 0);
   39294 
   39295         ret_val = xmlUCSIsCombiningMarksforSymbols(code);
   39296         desret_int(ret_val);
   39297         call_tests++;
   39298         des_int(n_code, code, 0);
   39299         xmlResetLastError();
   39300         if (mem_base != xmlMemBlocks()) {
   39301             printf("Leak of %d blocks found in xmlUCSIsCombiningMarksforSymbols",
   39302 	           xmlMemBlocks() - mem_base);
   39303 	    test_ret++;
   39304             printf(" %d", n_code);
   39305             printf("\n");
   39306         }
   39307     }
   39308     function_tests++;
   39309 #endif
   39310 
   39311     return(test_ret);
   39312 }
   39313 
   39314 
   39315 static int
   39316 test_xmlUCSIsControlPictures(void) {
   39317     int test_ret = 0;
   39318 
   39319 #if defined(LIBXML_UNICODE_ENABLED)
   39320     int mem_base;
   39321     int ret_val;
   39322     int code; /* UCS code point */
   39323     int n_code;
   39324 
   39325     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39326         mem_base = xmlMemBlocks();
   39327         code = gen_int(n_code, 0);
   39328 
   39329         ret_val = xmlUCSIsControlPictures(code);
   39330         desret_int(ret_val);
   39331         call_tests++;
   39332         des_int(n_code, code, 0);
   39333         xmlResetLastError();
   39334         if (mem_base != xmlMemBlocks()) {
   39335             printf("Leak of %d blocks found in xmlUCSIsControlPictures",
   39336 	           xmlMemBlocks() - mem_base);
   39337 	    test_ret++;
   39338             printf(" %d", n_code);
   39339             printf("\n");
   39340         }
   39341     }
   39342     function_tests++;
   39343 #endif
   39344 
   39345     return(test_ret);
   39346 }
   39347 
   39348 
   39349 static int
   39350 test_xmlUCSIsCurrencySymbols(void) {
   39351     int test_ret = 0;
   39352 
   39353 #if defined(LIBXML_UNICODE_ENABLED)
   39354     int mem_base;
   39355     int ret_val;
   39356     int code; /* UCS code point */
   39357     int n_code;
   39358 
   39359     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39360         mem_base = xmlMemBlocks();
   39361         code = gen_int(n_code, 0);
   39362 
   39363         ret_val = xmlUCSIsCurrencySymbols(code);
   39364         desret_int(ret_val);
   39365         call_tests++;
   39366         des_int(n_code, code, 0);
   39367         xmlResetLastError();
   39368         if (mem_base != xmlMemBlocks()) {
   39369             printf("Leak of %d blocks found in xmlUCSIsCurrencySymbols",
   39370 	           xmlMemBlocks() - mem_base);
   39371 	    test_ret++;
   39372             printf(" %d", n_code);
   39373             printf("\n");
   39374         }
   39375     }
   39376     function_tests++;
   39377 #endif
   39378 
   39379     return(test_ret);
   39380 }
   39381 
   39382 
   39383 static int
   39384 test_xmlUCSIsCypriotSyllabary(void) {
   39385     int test_ret = 0;
   39386 
   39387 #if defined(LIBXML_UNICODE_ENABLED)
   39388     int mem_base;
   39389     int ret_val;
   39390     int code; /* UCS code point */
   39391     int n_code;
   39392 
   39393     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39394         mem_base = xmlMemBlocks();
   39395         code = gen_int(n_code, 0);
   39396 
   39397         ret_val = xmlUCSIsCypriotSyllabary(code);
   39398         desret_int(ret_val);
   39399         call_tests++;
   39400         des_int(n_code, code, 0);
   39401         xmlResetLastError();
   39402         if (mem_base != xmlMemBlocks()) {
   39403             printf("Leak of %d blocks found in xmlUCSIsCypriotSyllabary",
   39404 	           xmlMemBlocks() - mem_base);
   39405 	    test_ret++;
   39406             printf(" %d", n_code);
   39407             printf("\n");
   39408         }
   39409     }
   39410     function_tests++;
   39411 #endif
   39412 
   39413     return(test_ret);
   39414 }
   39415 
   39416 
   39417 static int
   39418 test_xmlUCSIsCyrillic(void) {
   39419     int test_ret = 0;
   39420 
   39421 #if defined(LIBXML_UNICODE_ENABLED)
   39422     int mem_base;
   39423     int ret_val;
   39424     int code; /* UCS code point */
   39425     int n_code;
   39426 
   39427     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39428         mem_base = xmlMemBlocks();
   39429         code = gen_int(n_code, 0);
   39430 
   39431         ret_val = xmlUCSIsCyrillic(code);
   39432         desret_int(ret_val);
   39433         call_tests++;
   39434         des_int(n_code, code, 0);
   39435         xmlResetLastError();
   39436         if (mem_base != xmlMemBlocks()) {
   39437             printf("Leak of %d blocks found in xmlUCSIsCyrillic",
   39438 	           xmlMemBlocks() - mem_base);
   39439 	    test_ret++;
   39440             printf(" %d", n_code);
   39441             printf("\n");
   39442         }
   39443     }
   39444     function_tests++;
   39445 #endif
   39446 
   39447     return(test_ret);
   39448 }
   39449 
   39450 
   39451 static int
   39452 test_xmlUCSIsCyrillicSupplement(void) {
   39453     int test_ret = 0;
   39454 
   39455 #if defined(LIBXML_UNICODE_ENABLED)
   39456     int mem_base;
   39457     int ret_val;
   39458     int code; /* UCS code point */
   39459     int n_code;
   39460 
   39461     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39462         mem_base = xmlMemBlocks();
   39463         code = gen_int(n_code, 0);
   39464 
   39465         ret_val = xmlUCSIsCyrillicSupplement(code);
   39466         desret_int(ret_val);
   39467         call_tests++;
   39468         des_int(n_code, code, 0);
   39469         xmlResetLastError();
   39470         if (mem_base != xmlMemBlocks()) {
   39471             printf("Leak of %d blocks found in xmlUCSIsCyrillicSupplement",
   39472 	           xmlMemBlocks() - mem_base);
   39473 	    test_ret++;
   39474             printf(" %d", n_code);
   39475             printf("\n");
   39476         }
   39477     }
   39478     function_tests++;
   39479 #endif
   39480 
   39481     return(test_ret);
   39482 }
   39483 
   39484 
   39485 static int
   39486 test_xmlUCSIsDeseret(void) {
   39487     int test_ret = 0;
   39488 
   39489 #if defined(LIBXML_UNICODE_ENABLED)
   39490     int mem_base;
   39491     int ret_val;
   39492     int code; /* UCS code point */
   39493     int n_code;
   39494 
   39495     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39496         mem_base = xmlMemBlocks();
   39497         code = gen_int(n_code, 0);
   39498 
   39499         ret_val = xmlUCSIsDeseret(code);
   39500         desret_int(ret_val);
   39501         call_tests++;
   39502         des_int(n_code, code, 0);
   39503         xmlResetLastError();
   39504         if (mem_base != xmlMemBlocks()) {
   39505             printf("Leak of %d blocks found in xmlUCSIsDeseret",
   39506 	           xmlMemBlocks() - mem_base);
   39507 	    test_ret++;
   39508             printf(" %d", n_code);
   39509             printf("\n");
   39510         }
   39511     }
   39512     function_tests++;
   39513 #endif
   39514 
   39515     return(test_ret);
   39516 }
   39517 
   39518 
   39519 static int
   39520 test_xmlUCSIsDevanagari(void) {
   39521     int test_ret = 0;
   39522 
   39523 #if defined(LIBXML_UNICODE_ENABLED)
   39524     int mem_base;
   39525     int ret_val;
   39526     int code; /* UCS code point */
   39527     int n_code;
   39528 
   39529     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39530         mem_base = xmlMemBlocks();
   39531         code = gen_int(n_code, 0);
   39532 
   39533         ret_val = xmlUCSIsDevanagari(code);
   39534         desret_int(ret_val);
   39535         call_tests++;
   39536         des_int(n_code, code, 0);
   39537         xmlResetLastError();
   39538         if (mem_base != xmlMemBlocks()) {
   39539             printf("Leak of %d blocks found in xmlUCSIsDevanagari",
   39540 	           xmlMemBlocks() - mem_base);
   39541 	    test_ret++;
   39542             printf(" %d", n_code);
   39543             printf("\n");
   39544         }
   39545     }
   39546     function_tests++;
   39547 #endif
   39548 
   39549     return(test_ret);
   39550 }
   39551 
   39552 
   39553 static int
   39554 test_xmlUCSIsDingbats(void) {
   39555     int test_ret = 0;
   39556 
   39557 #if defined(LIBXML_UNICODE_ENABLED)
   39558     int mem_base;
   39559     int ret_val;
   39560     int code; /* UCS code point */
   39561     int n_code;
   39562 
   39563     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39564         mem_base = xmlMemBlocks();
   39565         code = gen_int(n_code, 0);
   39566 
   39567         ret_val = xmlUCSIsDingbats(code);
   39568         desret_int(ret_val);
   39569         call_tests++;
   39570         des_int(n_code, code, 0);
   39571         xmlResetLastError();
   39572         if (mem_base != xmlMemBlocks()) {
   39573             printf("Leak of %d blocks found in xmlUCSIsDingbats",
   39574 	           xmlMemBlocks() - mem_base);
   39575 	    test_ret++;
   39576             printf(" %d", n_code);
   39577             printf("\n");
   39578         }
   39579     }
   39580     function_tests++;
   39581 #endif
   39582 
   39583     return(test_ret);
   39584 }
   39585 
   39586 
   39587 static int
   39588 test_xmlUCSIsEnclosedAlphanumerics(void) {
   39589     int test_ret = 0;
   39590 
   39591 #if defined(LIBXML_UNICODE_ENABLED)
   39592     int mem_base;
   39593     int ret_val;
   39594     int code; /* UCS code point */
   39595     int n_code;
   39596 
   39597     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39598         mem_base = xmlMemBlocks();
   39599         code = gen_int(n_code, 0);
   39600 
   39601         ret_val = xmlUCSIsEnclosedAlphanumerics(code);
   39602         desret_int(ret_val);
   39603         call_tests++;
   39604         des_int(n_code, code, 0);
   39605         xmlResetLastError();
   39606         if (mem_base != xmlMemBlocks()) {
   39607             printf("Leak of %d blocks found in xmlUCSIsEnclosedAlphanumerics",
   39608 	           xmlMemBlocks() - mem_base);
   39609 	    test_ret++;
   39610             printf(" %d", n_code);
   39611             printf("\n");
   39612         }
   39613     }
   39614     function_tests++;
   39615 #endif
   39616 
   39617     return(test_ret);
   39618 }
   39619 
   39620 
   39621 static int
   39622 test_xmlUCSIsEnclosedCJKLettersandMonths(void) {
   39623     int test_ret = 0;
   39624 
   39625 #if defined(LIBXML_UNICODE_ENABLED)
   39626     int mem_base;
   39627     int ret_val;
   39628     int code; /* UCS code point */
   39629     int n_code;
   39630 
   39631     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39632         mem_base = xmlMemBlocks();
   39633         code = gen_int(n_code, 0);
   39634 
   39635         ret_val = xmlUCSIsEnclosedCJKLettersandMonths(code);
   39636         desret_int(ret_val);
   39637         call_tests++;
   39638         des_int(n_code, code, 0);
   39639         xmlResetLastError();
   39640         if (mem_base != xmlMemBlocks()) {
   39641             printf("Leak of %d blocks found in xmlUCSIsEnclosedCJKLettersandMonths",
   39642 	           xmlMemBlocks() - mem_base);
   39643 	    test_ret++;
   39644             printf(" %d", n_code);
   39645             printf("\n");
   39646         }
   39647     }
   39648     function_tests++;
   39649 #endif
   39650 
   39651     return(test_ret);
   39652 }
   39653 
   39654 
   39655 static int
   39656 test_xmlUCSIsEthiopic(void) {
   39657     int test_ret = 0;
   39658 
   39659 #if defined(LIBXML_UNICODE_ENABLED)
   39660     int mem_base;
   39661     int ret_val;
   39662     int code; /* UCS code point */
   39663     int n_code;
   39664 
   39665     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39666         mem_base = xmlMemBlocks();
   39667         code = gen_int(n_code, 0);
   39668 
   39669         ret_val = xmlUCSIsEthiopic(code);
   39670         desret_int(ret_val);
   39671         call_tests++;
   39672         des_int(n_code, code, 0);
   39673         xmlResetLastError();
   39674         if (mem_base != xmlMemBlocks()) {
   39675             printf("Leak of %d blocks found in xmlUCSIsEthiopic",
   39676 	           xmlMemBlocks() - mem_base);
   39677 	    test_ret++;
   39678             printf(" %d", n_code);
   39679             printf("\n");
   39680         }
   39681     }
   39682     function_tests++;
   39683 #endif
   39684 
   39685     return(test_ret);
   39686 }
   39687 
   39688 
   39689 static int
   39690 test_xmlUCSIsGeneralPunctuation(void) {
   39691     int test_ret = 0;
   39692 
   39693 #if defined(LIBXML_UNICODE_ENABLED)
   39694     int mem_base;
   39695     int ret_val;
   39696     int code; /* UCS code point */
   39697     int n_code;
   39698 
   39699     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39700         mem_base = xmlMemBlocks();
   39701         code = gen_int(n_code, 0);
   39702 
   39703         ret_val = xmlUCSIsGeneralPunctuation(code);
   39704         desret_int(ret_val);
   39705         call_tests++;
   39706         des_int(n_code, code, 0);
   39707         xmlResetLastError();
   39708         if (mem_base != xmlMemBlocks()) {
   39709             printf("Leak of %d blocks found in xmlUCSIsGeneralPunctuation",
   39710 	           xmlMemBlocks() - mem_base);
   39711 	    test_ret++;
   39712             printf(" %d", n_code);
   39713             printf("\n");
   39714         }
   39715     }
   39716     function_tests++;
   39717 #endif
   39718 
   39719     return(test_ret);
   39720 }
   39721 
   39722 
   39723 static int
   39724 test_xmlUCSIsGeometricShapes(void) {
   39725     int test_ret = 0;
   39726 
   39727 #if defined(LIBXML_UNICODE_ENABLED)
   39728     int mem_base;
   39729     int ret_val;
   39730     int code; /* UCS code point */
   39731     int n_code;
   39732 
   39733     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39734         mem_base = xmlMemBlocks();
   39735         code = gen_int(n_code, 0);
   39736 
   39737         ret_val = xmlUCSIsGeometricShapes(code);
   39738         desret_int(ret_val);
   39739         call_tests++;
   39740         des_int(n_code, code, 0);
   39741         xmlResetLastError();
   39742         if (mem_base != xmlMemBlocks()) {
   39743             printf("Leak of %d blocks found in xmlUCSIsGeometricShapes",
   39744 	           xmlMemBlocks() - mem_base);
   39745 	    test_ret++;
   39746             printf(" %d", n_code);
   39747             printf("\n");
   39748         }
   39749     }
   39750     function_tests++;
   39751 #endif
   39752 
   39753     return(test_ret);
   39754 }
   39755 
   39756 
   39757 static int
   39758 test_xmlUCSIsGeorgian(void) {
   39759     int test_ret = 0;
   39760 
   39761 #if defined(LIBXML_UNICODE_ENABLED)
   39762     int mem_base;
   39763     int ret_val;
   39764     int code; /* UCS code point */
   39765     int n_code;
   39766 
   39767     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39768         mem_base = xmlMemBlocks();
   39769         code = gen_int(n_code, 0);
   39770 
   39771         ret_val = xmlUCSIsGeorgian(code);
   39772         desret_int(ret_val);
   39773         call_tests++;
   39774         des_int(n_code, code, 0);
   39775         xmlResetLastError();
   39776         if (mem_base != xmlMemBlocks()) {
   39777             printf("Leak of %d blocks found in xmlUCSIsGeorgian",
   39778 	           xmlMemBlocks() - mem_base);
   39779 	    test_ret++;
   39780             printf(" %d", n_code);
   39781             printf("\n");
   39782         }
   39783     }
   39784     function_tests++;
   39785 #endif
   39786 
   39787     return(test_ret);
   39788 }
   39789 
   39790 
   39791 static int
   39792 test_xmlUCSIsGothic(void) {
   39793     int test_ret = 0;
   39794 
   39795 #if defined(LIBXML_UNICODE_ENABLED)
   39796     int mem_base;
   39797     int ret_val;
   39798     int code; /* UCS code point */
   39799     int n_code;
   39800 
   39801     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39802         mem_base = xmlMemBlocks();
   39803         code = gen_int(n_code, 0);
   39804 
   39805         ret_val = xmlUCSIsGothic(code);
   39806         desret_int(ret_val);
   39807         call_tests++;
   39808         des_int(n_code, code, 0);
   39809         xmlResetLastError();
   39810         if (mem_base != xmlMemBlocks()) {
   39811             printf("Leak of %d blocks found in xmlUCSIsGothic",
   39812 	           xmlMemBlocks() - mem_base);
   39813 	    test_ret++;
   39814             printf(" %d", n_code);
   39815             printf("\n");
   39816         }
   39817     }
   39818     function_tests++;
   39819 #endif
   39820 
   39821     return(test_ret);
   39822 }
   39823 
   39824 
   39825 static int
   39826 test_xmlUCSIsGreek(void) {
   39827     int test_ret = 0;
   39828 
   39829 #if defined(LIBXML_UNICODE_ENABLED)
   39830     int mem_base;
   39831     int ret_val;
   39832     int code; /* UCS code point */
   39833     int n_code;
   39834 
   39835     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39836         mem_base = xmlMemBlocks();
   39837         code = gen_int(n_code, 0);
   39838 
   39839         ret_val = xmlUCSIsGreek(code);
   39840         desret_int(ret_val);
   39841         call_tests++;
   39842         des_int(n_code, code, 0);
   39843         xmlResetLastError();
   39844         if (mem_base != xmlMemBlocks()) {
   39845             printf("Leak of %d blocks found in xmlUCSIsGreek",
   39846 	           xmlMemBlocks() - mem_base);
   39847 	    test_ret++;
   39848             printf(" %d", n_code);
   39849             printf("\n");
   39850         }
   39851     }
   39852     function_tests++;
   39853 #endif
   39854 
   39855     return(test_ret);
   39856 }
   39857 
   39858 
   39859 static int
   39860 test_xmlUCSIsGreekExtended(void) {
   39861     int test_ret = 0;
   39862 
   39863 #if defined(LIBXML_UNICODE_ENABLED)
   39864     int mem_base;
   39865     int ret_val;
   39866     int code; /* UCS code point */
   39867     int n_code;
   39868 
   39869     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39870         mem_base = xmlMemBlocks();
   39871         code = gen_int(n_code, 0);
   39872 
   39873         ret_val = xmlUCSIsGreekExtended(code);
   39874         desret_int(ret_val);
   39875         call_tests++;
   39876         des_int(n_code, code, 0);
   39877         xmlResetLastError();
   39878         if (mem_base != xmlMemBlocks()) {
   39879             printf("Leak of %d blocks found in xmlUCSIsGreekExtended",
   39880 	           xmlMemBlocks() - mem_base);
   39881 	    test_ret++;
   39882             printf(" %d", n_code);
   39883             printf("\n");
   39884         }
   39885     }
   39886     function_tests++;
   39887 #endif
   39888 
   39889     return(test_ret);
   39890 }
   39891 
   39892 
   39893 static int
   39894 test_xmlUCSIsGreekandCoptic(void) {
   39895     int test_ret = 0;
   39896 
   39897 #if defined(LIBXML_UNICODE_ENABLED)
   39898     int mem_base;
   39899     int ret_val;
   39900     int code; /* UCS code point */
   39901     int n_code;
   39902 
   39903     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39904         mem_base = xmlMemBlocks();
   39905         code = gen_int(n_code, 0);
   39906 
   39907         ret_val = xmlUCSIsGreekandCoptic(code);
   39908         desret_int(ret_val);
   39909         call_tests++;
   39910         des_int(n_code, code, 0);
   39911         xmlResetLastError();
   39912         if (mem_base != xmlMemBlocks()) {
   39913             printf("Leak of %d blocks found in xmlUCSIsGreekandCoptic",
   39914 	           xmlMemBlocks() - mem_base);
   39915 	    test_ret++;
   39916             printf(" %d", n_code);
   39917             printf("\n");
   39918         }
   39919     }
   39920     function_tests++;
   39921 #endif
   39922 
   39923     return(test_ret);
   39924 }
   39925 
   39926 
   39927 static int
   39928 test_xmlUCSIsGujarati(void) {
   39929     int test_ret = 0;
   39930 
   39931 #if defined(LIBXML_UNICODE_ENABLED)
   39932     int mem_base;
   39933     int ret_val;
   39934     int code; /* UCS code point */
   39935     int n_code;
   39936 
   39937     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39938         mem_base = xmlMemBlocks();
   39939         code = gen_int(n_code, 0);
   39940 
   39941         ret_val = xmlUCSIsGujarati(code);
   39942         desret_int(ret_val);
   39943         call_tests++;
   39944         des_int(n_code, code, 0);
   39945         xmlResetLastError();
   39946         if (mem_base != xmlMemBlocks()) {
   39947             printf("Leak of %d blocks found in xmlUCSIsGujarati",
   39948 	           xmlMemBlocks() - mem_base);
   39949 	    test_ret++;
   39950             printf(" %d", n_code);
   39951             printf("\n");
   39952         }
   39953     }
   39954     function_tests++;
   39955 #endif
   39956 
   39957     return(test_ret);
   39958 }
   39959 
   39960 
   39961 static int
   39962 test_xmlUCSIsGurmukhi(void) {
   39963     int test_ret = 0;
   39964 
   39965 #if defined(LIBXML_UNICODE_ENABLED)
   39966     int mem_base;
   39967     int ret_val;
   39968     int code; /* UCS code point */
   39969     int n_code;
   39970 
   39971     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   39972         mem_base = xmlMemBlocks();
   39973         code = gen_int(n_code, 0);
   39974 
   39975         ret_val = xmlUCSIsGurmukhi(code);
   39976         desret_int(ret_val);
   39977         call_tests++;
   39978         des_int(n_code, code, 0);
   39979         xmlResetLastError();
   39980         if (mem_base != xmlMemBlocks()) {
   39981             printf("Leak of %d blocks found in xmlUCSIsGurmukhi",
   39982 	           xmlMemBlocks() - mem_base);
   39983 	    test_ret++;
   39984             printf(" %d", n_code);
   39985             printf("\n");
   39986         }
   39987     }
   39988     function_tests++;
   39989 #endif
   39990 
   39991     return(test_ret);
   39992 }
   39993 
   39994 
   39995 static int
   39996 test_xmlUCSIsHalfwidthandFullwidthForms(void) {
   39997     int test_ret = 0;
   39998 
   39999 #if defined(LIBXML_UNICODE_ENABLED)
   40000     int mem_base;
   40001     int ret_val;
   40002     int code; /* UCS code point */
   40003     int n_code;
   40004 
   40005     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40006         mem_base = xmlMemBlocks();
   40007         code = gen_int(n_code, 0);
   40008 
   40009         ret_val = xmlUCSIsHalfwidthandFullwidthForms(code);
   40010         desret_int(ret_val);
   40011         call_tests++;
   40012         des_int(n_code, code, 0);
   40013         xmlResetLastError();
   40014         if (mem_base != xmlMemBlocks()) {
   40015             printf("Leak of %d blocks found in xmlUCSIsHalfwidthandFullwidthForms",
   40016 	           xmlMemBlocks() - mem_base);
   40017 	    test_ret++;
   40018             printf(" %d", n_code);
   40019             printf("\n");
   40020         }
   40021     }
   40022     function_tests++;
   40023 #endif
   40024 
   40025     return(test_ret);
   40026 }
   40027 
   40028 
   40029 static int
   40030 test_xmlUCSIsHangulCompatibilityJamo(void) {
   40031     int test_ret = 0;
   40032 
   40033 #if defined(LIBXML_UNICODE_ENABLED)
   40034     int mem_base;
   40035     int ret_val;
   40036     int code; /* UCS code point */
   40037     int n_code;
   40038 
   40039     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40040         mem_base = xmlMemBlocks();
   40041         code = gen_int(n_code, 0);
   40042 
   40043         ret_val = xmlUCSIsHangulCompatibilityJamo(code);
   40044         desret_int(ret_val);
   40045         call_tests++;
   40046         des_int(n_code, code, 0);
   40047         xmlResetLastError();
   40048         if (mem_base != xmlMemBlocks()) {
   40049             printf("Leak of %d blocks found in xmlUCSIsHangulCompatibilityJamo",
   40050 	           xmlMemBlocks() - mem_base);
   40051 	    test_ret++;
   40052             printf(" %d", n_code);
   40053             printf("\n");
   40054         }
   40055     }
   40056     function_tests++;
   40057 #endif
   40058 
   40059     return(test_ret);
   40060 }
   40061 
   40062 
   40063 static int
   40064 test_xmlUCSIsHangulJamo(void) {
   40065     int test_ret = 0;
   40066 
   40067 #if defined(LIBXML_UNICODE_ENABLED)
   40068     int mem_base;
   40069     int ret_val;
   40070     int code; /* UCS code point */
   40071     int n_code;
   40072 
   40073     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40074         mem_base = xmlMemBlocks();
   40075         code = gen_int(n_code, 0);
   40076 
   40077         ret_val = xmlUCSIsHangulJamo(code);
   40078         desret_int(ret_val);
   40079         call_tests++;
   40080         des_int(n_code, code, 0);
   40081         xmlResetLastError();
   40082         if (mem_base != xmlMemBlocks()) {
   40083             printf("Leak of %d blocks found in xmlUCSIsHangulJamo",
   40084 	           xmlMemBlocks() - mem_base);
   40085 	    test_ret++;
   40086             printf(" %d", n_code);
   40087             printf("\n");
   40088         }
   40089     }
   40090     function_tests++;
   40091 #endif
   40092 
   40093     return(test_ret);
   40094 }
   40095 
   40096 
   40097 static int
   40098 test_xmlUCSIsHangulSyllables(void) {
   40099     int test_ret = 0;
   40100 
   40101 #if defined(LIBXML_UNICODE_ENABLED)
   40102     int mem_base;
   40103     int ret_val;
   40104     int code; /* UCS code point */
   40105     int n_code;
   40106 
   40107     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40108         mem_base = xmlMemBlocks();
   40109         code = gen_int(n_code, 0);
   40110 
   40111         ret_val = xmlUCSIsHangulSyllables(code);
   40112         desret_int(ret_val);
   40113         call_tests++;
   40114         des_int(n_code, code, 0);
   40115         xmlResetLastError();
   40116         if (mem_base != xmlMemBlocks()) {
   40117             printf("Leak of %d blocks found in xmlUCSIsHangulSyllables",
   40118 	           xmlMemBlocks() - mem_base);
   40119 	    test_ret++;
   40120             printf(" %d", n_code);
   40121             printf("\n");
   40122         }
   40123     }
   40124     function_tests++;
   40125 #endif
   40126 
   40127     return(test_ret);
   40128 }
   40129 
   40130 
   40131 static int
   40132 test_xmlUCSIsHanunoo(void) {
   40133     int test_ret = 0;
   40134 
   40135 #if defined(LIBXML_UNICODE_ENABLED)
   40136     int mem_base;
   40137     int ret_val;
   40138     int code; /* UCS code point */
   40139     int n_code;
   40140 
   40141     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40142         mem_base = xmlMemBlocks();
   40143         code = gen_int(n_code, 0);
   40144 
   40145         ret_val = xmlUCSIsHanunoo(code);
   40146         desret_int(ret_val);
   40147         call_tests++;
   40148         des_int(n_code, code, 0);
   40149         xmlResetLastError();
   40150         if (mem_base != xmlMemBlocks()) {
   40151             printf("Leak of %d blocks found in xmlUCSIsHanunoo",
   40152 	           xmlMemBlocks() - mem_base);
   40153 	    test_ret++;
   40154             printf(" %d", n_code);
   40155             printf("\n");
   40156         }
   40157     }
   40158     function_tests++;
   40159 #endif
   40160 
   40161     return(test_ret);
   40162 }
   40163 
   40164 
   40165 static int
   40166 test_xmlUCSIsHebrew(void) {
   40167     int test_ret = 0;
   40168 
   40169 #if defined(LIBXML_UNICODE_ENABLED)
   40170     int mem_base;
   40171     int ret_val;
   40172     int code; /* UCS code point */
   40173     int n_code;
   40174 
   40175     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40176         mem_base = xmlMemBlocks();
   40177         code = gen_int(n_code, 0);
   40178 
   40179         ret_val = xmlUCSIsHebrew(code);
   40180         desret_int(ret_val);
   40181         call_tests++;
   40182         des_int(n_code, code, 0);
   40183         xmlResetLastError();
   40184         if (mem_base != xmlMemBlocks()) {
   40185             printf("Leak of %d blocks found in xmlUCSIsHebrew",
   40186 	           xmlMemBlocks() - mem_base);
   40187 	    test_ret++;
   40188             printf(" %d", n_code);
   40189             printf("\n");
   40190         }
   40191     }
   40192     function_tests++;
   40193 #endif
   40194 
   40195     return(test_ret);
   40196 }
   40197 
   40198 
   40199 static int
   40200 test_xmlUCSIsHighPrivateUseSurrogates(void) {
   40201     int test_ret = 0;
   40202 
   40203 #if defined(LIBXML_UNICODE_ENABLED)
   40204     int mem_base;
   40205     int ret_val;
   40206     int code; /* UCS code point */
   40207     int n_code;
   40208 
   40209     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40210         mem_base = xmlMemBlocks();
   40211         code = gen_int(n_code, 0);
   40212 
   40213         ret_val = xmlUCSIsHighPrivateUseSurrogates(code);
   40214         desret_int(ret_val);
   40215         call_tests++;
   40216         des_int(n_code, code, 0);
   40217         xmlResetLastError();
   40218         if (mem_base != xmlMemBlocks()) {
   40219             printf("Leak of %d blocks found in xmlUCSIsHighPrivateUseSurrogates",
   40220 	           xmlMemBlocks() - mem_base);
   40221 	    test_ret++;
   40222             printf(" %d", n_code);
   40223             printf("\n");
   40224         }
   40225     }
   40226     function_tests++;
   40227 #endif
   40228 
   40229     return(test_ret);
   40230 }
   40231 
   40232 
   40233 static int
   40234 test_xmlUCSIsHighSurrogates(void) {
   40235     int test_ret = 0;
   40236 
   40237 #if defined(LIBXML_UNICODE_ENABLED)
   40238     int mem_base;
   40239     int ret_val;
   40240     int code; /* UCS code point */
   40241     int n_code;
   40242 
   40243     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40244         mem_base = xmlMemBlocks();
   40245         code = gen_int(n_code, 0);
   40246 
   40247         ret_val = xmlUCSIsHighSurrogates(code);
   40248         desret_int(ret_val);
   40249         call_tests++;
   40250         des_int(n_code, code, 0);
   40251         xmlResetLastError();
   40252         if (mem_base != xmlMemBlocks()) {
   40253             printf("Leak of %d blocks found in xmlUCSIsHighSurrogates",
   40254 	           xmlMemBlocks() - mem_base);
   40255 	    test_ret++;
   40256             printf(" %d", n_code);
   40257             printf("\n");
   40258         }
   40259     }
   40260     function_tests++;
   40261 #endif
   40262 
   40263     return(test_ret);
   40264 }
   40265 
   40266 
   40267 static int
   40268 test_xmlUCSIsHiragana(void) {
   40269     int test_ret = 0;
   40270 
   40271 #if defined(LIBXML_UNICODE_ENABLED)
   40272     int mem_base;
   40273     int ret_val;
   40274     int code; /* UCS code point */
   40275     int n_code;
   40276 
   40277     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40278         mem_base = xmlMemBlocks();
   40279         code = gen_int(n_code, 0);
   40280 
   40281         ret_val = xmlUCSIsHiragana(code);
   40282         desret_int(ret_val);
   40283         call_tests++;
   40284         des_int(n_code, code, 0);
   40285         xmlResetLastError();
   40286         if (mem_base != xmlMemBlocks()) {
   40287             printf("Leak of %d blocks found in xmlUCSIsHiragana",
   40288 	           xmlMemBlocks() - mem_base);
   40289 	    test_ret++;
   40290             printf(" %d", n_code);
   40291             printf("\n");
   40292         }
   40293     }
   40294     function_tests++;
   40295 #endif
   40296 
   40297     return(test_ret);
   40298 }
   40299 
   40300 
   40301 static int
   40302 test_xmlUCSIsIPAExtensions(void) {
   40303     int test_ret = 0;
   40304 
   40305 #if defined(LIBXML_UNICODE_ENABLED)
   40306     int mem_base;
   40307     int ret_val;
   40308     int code; /* UCS code point */
   40309     int n_code;
   40310 
   40311     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40312         mem_base = xmlMemBlocks();
   40313         code = gen_int(n_code, 0);
   40314 
   40315         ret_val = xmlUCSIsIPAExtensions(code);
   40316         desret_int(ret_val);
   40317         call_tests++;
   40318         des_int(n_code, code, 0);
   40319         xmlResetLastError();
   40320         if (mem_base != xmlMemBlocks()) {
   40321             printf("Leak of %d blocks found in xmlUCSIsIPAExtensions",
   40322 	           xmlMemBlocks() - mem_base);
   40323 	    test_ret++;
   40324             printf(" %d", n_code);
   40325             printf("\n");
   40326         }
   40327     }
   40328     function_tests++;
   40329 #endif
   40330 
   40331     return(test_ret);
   40332 }
   40333 
   40334 
   40335 static int
   40336 test_xmlUCSIsIdeographicDescriptionCharacters(void) {
   40337     int test_ret = 0;
   40338 
   40339 #if defined(LIBXML_UNICODE_ENABLED)
   40340     int mem_base;
   40341     int ret_val;
   40342     int code; /* UCS code point */
   40343     int n_code;
   40344 
   40345     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40346         mem_base = xmlMemBlocks();
   40347         code = gen_int(n_code, 0);
   40348 
   40349         ret_val = xmlUCSIsIdeographicDescriptionCharacters(code);
   40350         desret_int(ret_val);
   40351         call_tests++;
   40352         des_int(n_code, code, 0);
   40353         xmlResetLastError();
   40354         if (mem_base != xmlMemBlocks()) {
   40355             printf("Leak of %d blocks found in xmlUCSIsIdeographicDescriptionCharacters",
   40356 	           xmlMemBlocks() - mem_base);
   40357 	    test_ret++;
   40358             printf(" %d", n_code);
   40359             printf("\n");
   40360         }
   40361     }
   40362     function_tests++;
   40363 #endif
   40364 
   40365     return(test_ret);
   40366 }
   40367 
   40368 
   40369 static int
   40370 test_xmlUCSIsKanbun(void) {
   40371     int test_ret = 0;
   40372 
   40373 #if defined(LIBXML_UNICODE_ENABLED)
   40374     int mem_base;
   40375     int ret_val;
   40376     int code; /* UCS code point */
   40377     int n_code;
   40378 
   40379     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40380         mem_base = xmlMemBlocks();
   40381         code = gen_int(n_code, 0);
   40382 
   40383         ret_val = xmlUCSIsKanbun(code);
   40384         desret_int(ret_val);
   40385         call_tests++;
   40386         des_int(n_code, code, 0);
   40387         xmlResetLastError();
   40388         if (mem_base != xmlMemBlocks()) {
   40389             printf("Leak of %d blocks found in xmlUCSIsKanbun",
   40390 	           xmlMemBlocks() - mem_base);
   40391 	    test_ret++;
   40392             printf(" %d", n_code);
   40393             printf("\n");
   40394         }
   40395     }
   40396     function_tests++;
   40397 #endif
   40398 
   40399     return(test_ret);
   40400 }
   40401 
   40402 
   40403 static int
   40404 test_xmlUCSIsKangxiRadicals(void) {
   40405     int test_ret = 0;
   40406 
   40407 #if defined(LIBXML_UNICODE_ENABLED)
   40408     int mem_base;
   40409     int ret_val;
   40410     int code; /* UCS code point */
   40411     int n_code;
   40412 
   40413     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40414         mem_base = xmlMemBlocks();
   40415         code = gen_int(n_code, 0);
   40416 
   40417         ret_val = xmlUCSIsKangxiRadicals(code);
   40418         desret_int(ret_val);
   40419         call_tests++;
   40420         des_int(n_code, code, 0);
   40421         xmlResetLastError();
   40422         if (mem_base != xmlMemBlocks()) {
   40423             printf("Leak of %d blocks found in xmlUCSIsKangxiRadicals",
   40424 	           xmlMemBlocks() - mem_base);
   40425 	    test_ret++;
   40426             printf(" %d", n_code);
   40427             printf("\n");
   40428         }
   40429     }
   40430     function_tests++;
   40431 #endif
   40432 
   40433     return(test_ret);
   40434 }
   40435 
   40436 
   40437 static int
   40438 test_xmlUCSIsKannada(void) {
   40439     int test_ret = 0;
   40440 
   40441 #if defined(LIBXML_UNICODE_ENABLED)
   40442     int mem_base;
   40443     int ret_val;
   40444     int code; /* UCS code point */
   40445     int n_code;
   40446 
   40447     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40448         mem_base = xmlMemBlocks();
   40449         code = gen_int(n_code, 0);
   40450 
   40451         ret_val = xmlUCSIsKannada(code);
   40452         desret_int(ret_val);
   40453         call_tests++;
   40454         des_int(n_code, code, 0);
   40455         xmlResetLastError();
   40456         if (mem_base != xmlMemBlocks()) {
   40457             printf("Leak of %d blocks found in xmlUCSIsKannada",
   40458 	           xmlMemBlocks() - mem_base);
   40459 	    test_ret++;
   40460             printf(" %d", n_code);
   40461             printf("\n");
   40462         }
   40463     }
   40464     function_tests++;
   40465 #endif
   40466 
   40467     return(test_ret);
   40468 }
   40469 
   40470 
   40471 static int
   40472 test_xmlUCSIsKatakana(void) {
   40473     int test_ret = 0;
   40474 
   40475 #if defined(LIBXML_UNICODE_ENABLED)
   40476     int mem_base;
   40477     int ret_val;
   40478     int code; /* UCS code point */
   40479     int n_code;
   40480 
   40481     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40482         mem_base = xmlMemBlocks();
   40483         code = gen_int(n_code, 0);
   40484 
   40485         ret_val = xmlUCSIsKatakana(code);
   40486         desret_int(ret_val);
   40487         call_tests++;
   40488         des_int(n_code, code, 0);
   40489         xmlResetLastError();
   40490         if (mem_base != xmlMemBlocks()) {
   40491             printf("Leak of %d blocks found in xmlUCSIsKatakana",
   40492 	           xmlMemBlocks() - mem_base);
   40493 	    test_ret++;
   40494             printf(" %d", n_code);
   40495             printf("\n");
   40496         }
   40497     }
   40498     function_tests++;
   40499 #endif
   40500 
   40501     return(test_ret);
   40502 }
   40503 
   40504 
   40505 static int
   40506 test_xmlUCSIsKatakanaPhoneticExtensions(void) {
   40507     int test_ret = 0;
   40508 
   40509 #if defined(LIBXML_UNICODE_ENABLED)
   40510     int mem_base;
   40511     int ret_val;
   40512     int code; /* UCS code point */
   40513     int n_code;
   40514 
   40515     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40516         mem_base = xmlMemBlocks();
   40517         code = gen_int(n_code, 0);
   40518 
   40519         ret_val = xmlUCSIsKatakanaPhoneticExtensions(code);
   40520         desret_int(ret_val);
   40521         call_tests++;
   40522         des_int(n_code, code, 0);
   40523         xmlResetLastError();
   40524         if (mem_base != xmlMemBlocks()) {
   40525             printf("Leak of %d blocks found in xmlUCSIsKatakanaPhoneticExtensions",
   40526 	           xmlMemBlocks() - mem_base);
   40527 	    test_ret++;
   40528             printf(" %d", n_code);
   40529             printf("\n");
   40530         }
   40531     }
   40532     function_tests++;
   40533 #endif
   40534 
   40535     return(test_ret);
   40536 }
   40537 
   40538 
   40539 static int
   40540 test_xmlUCSIsKhmer(void) {
   40541     int test_ret = 0;
   40542 
   40543 #if defined(LIBXML_UNICODE_ENABLED)
   40544     int mem_base;
   40545     int ret_val;
   40546     int code; /* UCS code point */
   40547     int n_code;
   40548 
   40549     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40550         mem_base = xmlMemBlocks();
   40551         code = gen_int(n_code, 0);
   40552 
   40553         ret_val = xmlUCSIsKhmer(code);
   40554         desret_int(ret_val);
   40555         call_tests++;
   40556         des_int(n_code, code, 0);
   40557         xmlResetLastError();
   40558         if (mem_base != xmlMemBlocks()) {
   40559             printf("Leak of %d blocks found in xmlUCSIsKhmer",
   40560 	           xmlMemBlocks() - mem_base);
   40561 	    test_ret++;
   40562             printf(" %d", n_code);
   40563             printf("\n");
   40564         }
   40565     }
   40566     function_tests++;
   40567 #endif
   40568 
   40569     return(test_ret);
   40570 }
   40571 
   40572 
   40573 static int
   40574 test_xmlUCSIsKhmerSymbols(void) {
   40575     int test_ret = 0;
   40576 
   40577 #if defined(LIBXML_UNICODE_ENABLED)
   40578     int mem_base;
   40579     int ret_val;
   40580     int code; /* UCS code point */
   40581     int n_code;
   40582 
   40583     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40584         mem_base = xmlMemBlocks();
   40585         code = gen_int(n_code, 0);
   40586 
   40587         ret_val = xmlUCSIsKhmerSymbols(code);
   40588         desret_int(ret_val);
   40589         call_tests++;
   40590         des_int(n_code, code, 0);
   40591         xmlResetLastError();
   40592         if (mem_base != xmlMemBlocks()) {
   40593             printf("Leak of %d blocks found in xmlUCSIsKhmerSymbols",
   40594 	           xmlMemBlocks() - mem_base);
   40595 	    test_ret++;
   40596             printf(" %d", n_code);
   40597             printf("\n");
   40598         }
   40599     }
   40600     function_tests++;
   40601 #endif
   40602 
   40603     return(test_ret);
   40604 }
   40605 
   40606 
   40607 static int
   40608 test_xmlUCSIsLao(void) {
   40609     int test_ret = 0;
   40610 
   40611 #if defined(LIBXML_UNICODE_ENABLED)
   40612     int mem_base;
   40613     int ret_val;
   40614     int code; /* UCS code point */
   40615     int n_code;
   40616 
   40617     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40618         mem_base = xmlMemBlocks();
   40619         code = gen_int(n_code, 0);
   40620 
   40621         ret_val = xmlUCSIsLao(code);
   40622         desret_int(ret_val);
   40623         call_tests++;
   40624         des_int(n_code, code, 0);
   40625         xmlResetLastError();
   40626         if (mem_base != xmlMemBlocks()) {
   40627             printf("Leak of %d blocks found in xmlUCSIsLao",
   40628 	           xmlMemBlocks() - mem_base);
   40629 	    test_ret++;
   40630             printf(" %d", n_code);
   40631             printf("\n");
   40632         }
   40633     }
   40634     function_tests++;
   40635 #endif
   40636 
   40637     return(test_ret);
   40638 }
   40639 
   40640 
   40641 static int
   40642 test_xmlUCSIsLatin1Supplement(void) {
   40643     int test_ret = 0;
   40644 
   40645 #if defined(LIBXML_UNICODE_ENABLED)
   40646     int mem_base;
   40647     int ret_val;
   40648     int code; /* UCS code point */
   40649     int n_code;
   40650 
   40651     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40652         mem_base = xmlMemBlocks();
   40653         code = gen_int(n_code, 0);
   40654 
   40655         ret_val = xmlUCSIsLatin1Supplement(code);
   40656         desret_int(ret_val);
   40657         call_tests++;
   40658         des_int(n_code, code, 0);
   40659         xmlResetLastError();
   40660         if (mem_base != xmlMemBlocks()) {
   40661             printf("Leak of %d blocks found in xmlUCSIsLatin1Supplement",
   40662 	           xmlMemBlocks() - mem_base);
   40663 	    test_ret++;
   40664             printf(" %d", n_code);
   40665             printf("\n");
   40666         }
   40667     }
   40668     function_tests++;
   40669 #endif
   40670 
   40671     return(test_ret);
   40672 }
   40673 
   40674 
   40675 static int
   40676 test_xmlUCSIsLatinExtendedA(void) {
   40677     int test_ret = 0;
   40678 
   40679 #if defined(LIBXML_UNICODE_ENABLED)
   40680     int mem_base;
   40681     int ret_val;
   40682     int code; /* UCS code point */
   40683     int n_code;
   40684 
   40685     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40686         mem_base = xmlMemBlocks();
   40687         code = gen_int(n_code, 0);
   40688 
   40689         ret_val = xmlUCSIsLatinExtendedA(code);
   40690         desret_int(ret_val);
   40691         call_tests++;
   40692         des_int(n_code, code, 0);
   40693         xmlResetLastError();
   40694         if (mem_base != xmlMemBlocks()) {
   40695             printf("Leak of %d blocks found in xmlUCSIsLatinExtendedA",
   40696 	           xmlMemBlocks() - mem_base);
   40697 	    test_ret++;
   40698             printf(" %d", n_code);
   40699             printf("\n");
   40700         }
   40701     }
   40702     function_tests++;
   40703 #endif
   40704 
   40705     return(test_ret);
   40706 }
   40707 
   40708 
   40709 static int
   40710 test_xmlUCSIsLatinExtendedAdditional(void) {
   40711     int test_ret = 0;
   40712 
   40713 #if defined(LIBXML_UNICODE_ENABLED)
   40714     int mem_base;
   40715     int ret_val;
   40716     int code; /* UCS code point */
   40717     int n_code;
   40718 
   40719     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40720         mem_base = xmlMemBlocks();
   40721         code = gen_int(n_code, 0);
   40722 
   40723         ret_val = xmlUCSIsLatinExtendedAdditional(code);
   40724         desret_int(ret_val);
   40725         call_tests++;
   40726         des_int(n_code, code, 0);
   40727         xmlResetLastError();
   40728         if (mem_base != xmlMemBlocks()) {
   40729             printf("Leak of %d blocks found in xmlUCSIsLatinExtendedAdditional",
   40730 	           xmlMemBlocks() - mem_base);
   40731 	    test_ret++;
   40732             printf(" %d", n_code);
   40733             printf("\n");
   40734         }
   40735     }
   40736     function_tests++;
   40737 #endif
   40738 
   40739     return(test_ret);
   40740 }
   40741 
   40742 
   40743 static int
   40744 test_xmlUCSIsLatinExtendedB(void) {
   40745     int test_ret = 0;
   40746 
   40747 #if defined(LIBXML_UNICODE_ENABLED)
   40748     int mem_base;
   40749     int ret_val;
   40750     int code; /* UCS code point */
   40751     int n_code;
   40752 
   40753     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40754         mem_base = xmlMemBlocks();
   40755         code = gen_int(n_code, 0);
   40756 
   40757         ret_val = xmlUCSIsLatinExtendedB(code);
   40758         desret_int(ret_val);
   40759         call_tests++;
   40760         des_int(n_code, code, 0);
   40761         xmlResetLastError();
   40762         if (mem_base != xmlMemBlocks()) {
   40763             printf("Leak of %d blocks found in xmlUCSIsLatinExtendedB",
   40764 	           xmlMemBlocks() - mem_base);
   40765 	    test_ret++;
   40766             printf(" %d", n_code);
   40767             printf("\n");
   40768         }
   40769     }
   40770     function_tests++;
   40771 #endif
   40772 
   40773     return(test_ret);
   40774 }
   40775 
   40776 
   40777 static int
   40778 test_xmlUCSIsLetterlikeSymbols(void) {
   40779     int test_ret = 0;
   40780 
   40781 #if defined(LIBXML_UNICODE_ENABLED)
   40782     int mem_base;
   40783     int ret_val;
   40784     int code; /* UCS code point */
   40785     int n_code;
   40786 
   40787     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40788         mem_base = xmlMemBlocks();
   40789         code = gen_int(n_code, 0);
   40790 
   40791         ret_val = xmlUCSIsLetterlikeSymbols(code);
   40792         desret_int(ret_val);
   40793         call_tests++;
   40794         des_int(n_code, code, 0);
   40795         xmlResetLastError();
   40796         if (mem_base != xmlMemBlocks()) {
   40797             printf("Leak of %d blocks found in xmlUCSIsLetterlikeSymbols",
   40798 	           xmlMemBlocks() - mem_base);
   40799 	    test_ret++;
   40800             printf(" %d", n_code);
   40801             printf("\n");
   40802         }
   40803     }
   40804     function_tests++;
   40805 #endif
   40806 
   40807     return(test_ret);
   40808 }
   40809 
   40810 
   40811 static int
   40812 test_xmlUCSIsLimbu(void) {
   40813     int test_ret = 0;
   40814 
   40815 #if defined(LIBXML_UNICODE_ENABLED)
   40816     int mem_base;
   40817     int ret_val;
   40818     int code; /* UCS code point */
   40819     int n_code;
   40820 
   40821     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40822         mem_base = xmlMemBlocks();
   40823         code = gen_int(n_code, 0);
   40824 
   40825         ret_val = xmlUCSIsLimbu(code);
   40826         desret_int(ret_val);
   40827         call_tests++;
   40828         des_int(n_code, code, 0);
   40829         xmlResetLastError();
   40830         if (mem_base != xmlMemBlocks()) {
   40831             printf("Leak of %d blocks found in xmlUCSIsLimbu",
   40832 	           xmlMemBlocks() - mem_base);
   40833 	    test_ret++;
   40834             printf(" %d", n_code);
   40835             printf("\n");
   40836         }
   40837     }
   40838     function_tests++;
   40839 #endif
   40840 
   40841     return(test_ret);
   40842 }
   40843 
   40844 
   40845 static int
   40846 test_xmlUCSIsLinearBIdeograms(void) {
   40847     int test_ret = 0;
   40848 
   40849 #if defined(LIBXML_UNICODE_ENABLED)
   40850     int mem_base;
   40851     int ret_val;
   40852     int code; /* UCS code point */
   40853     int n_code;
   40854 
   40855     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40856         mem_base = xmlMemBlocks();
   40857         code = gen_int(n_code, 0);
   40858 
   40859         ret_val = xmlUCSIsLinearBIdeograms(code);
   40860         desret_int(ret_val);
   40861         call_tests++;
   40862         des_int(n_code, code, 0);
   40863         xmlResetLastError();
   40864         if (mem_base != xmlMemBlocks()) {
   40865             printf("Leak of %d blocks found in xmlUCSIsLinearBIdeograms",
   40866 	           xmlMemBlocks() - mem_base);
   40867 	    test_ret++;
   40868             printf(" %d", n_code);
   40869             printf("\n");
   40870         }
   40871     }
   40872     function_tests++;
   40873 #endif
   40874 
   40875     return(test_ret);
   40876 }
   40877 
   40878 
   40879 static int
   40880 test_xmlUCSIsLinearBSyllabary(void) {
   40881     int test_ret = 0;
   40882 
   40883 #if defined(LIBXML_UNICODE_ENABLED)
   40884     int mem_base;
   40885     int ret_val;
   40886     int code; /* UCS code point */
   40887     int n_code;
   40888 
   40889     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40890         mem_base = xmlMemBlocks();
   40891         code = gen_int(n_code, 0);
   40892 
   40893         ret_val = xmlUCSIsLinearBSyllabary(code);
   40894         desret_int(ret_val);
   40895         call_tests++;
   40896         des_int(n_code, code, 0);
   40897         xmlResetLastError();
   40898         if (mem_base != xmlMemBlocks()) {
   40899             printf("Leak of %d blocks found in xmlUCSIsLinearBSyllabary",
   40900 	           xmlMemBlocks() - mem_base);
   40901 	    test_ret++;
   40902             printf(" %d", n_code);
   40903             printf("\n");
   40904         }
   40905     }
   40906     function_tests++;
   40907 #endif
   40908 
   40909     return(test_ret);
   40910 }
   40911 
   40912 
   40913 static int
   40914 test_xmlUCSIsLowSurrogates(void) {
   40915     int test_ret = 0;
   40916 
   40917 #if defined(LIBXML_UNICODE_ENABLED)
   40918     int mem_base;
   40919     int ret_val;
   40920     int code; /* UCS code point */
   40921     int n_code;
   40922 
   40923     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40924         mem_base = xmlMemBlocks();
   40925         code = gen_int(n_code, 0);
   40926 
   40927         ret_val = xmlUCSIsLowSurrogates(code);
   40928         desret_int(ret_val);
   40929         call_tests++;
   40930         des_int(n_code, code, 0);
   40931         xmlResetLastError();
   40932         if (mem_base != xmlMemBlocks()) {
   40933             printf("Leak of %d blocks found in xmlUCSIsLowSurrogates",
   40934 	           xmlMemBlocks() - mem_base);
   40935 	    test_ret++;
   40936             printf(" %d", n_code);
   40937             printf("\n");
   40938         }
   40939     }
   40940     function_tests++;
   40941 #endif
   40942 
   40943     return(test_ret);
   40944 }
   40945 
   40946 
   40947 static int
   40948 test_xmlUCSIsMalayalam(void) {
   40949     int test_ret = 0;
   40950 
   40951 #if defined(LIBXML_UNICODE_ENABLED)
   40952     int mem_base;
   40953     int ret_val;
   40954     int code; /* UCS code point */
   40955     int n_code;
   40956 
   40957     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40958         mem_base = xmlMemBlocks();
   40959         code = gen_int(n_code, 0);
   40960 
   40961         ret_val = xmlUCSIsMalayalam(code);
   40962         desret_int(ret_val);
   40963         call_tests++;
   40964         des_int(n_code, code, 0);
   40965         xmlResetLastError();
   40966         if (mem_base != xmlMemBlocks()) {
   40967             printf("Leak of %d blocks found in xmlUCSIsMalayalam",
   40968 	           xmlMemBlocks() - mem_base);
   40969 	    test_ret++;
   40970             printf(" %d", n_code);
   40971             printf("\n");
   40972         }
   40973     }
   40974     function_tests++;
   40975 #endif
   40976 
   40977     return(test_ret);
   40978 }
   40979 
   40980 
   40981 static int
   40982 test_xmlUCSIsMathematicalAlphanumericSymbols(void) {
   40983     int test_ret = 0;
   40984 
   40985 #if defined(LIBXML_UNICODE_ENABLED)
   40986     int mem_base;
   40987     int ret_val;
   40988     int code; /* UCS code point */
   40989     int n_code;
   40990 
   40991     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   40992         mem_base = xmlMemBlocks();
   40993         code = gen_int(n_code, 0);
   40994 
   40995         ret_val = xmlUCSIsMathematicalAlphanumericSymbols(code);
   40996         desret_int(ret_val);
   40997         call_tests++;
   40998         des_int(n_code, code, 0);
   40999         xmlResetLastError();
   41000         if (mem_base != xmlMemBlocks()) {
   41001             printf("Leak of %d blocks found in xmlUCSIsMathematicalAlphanumericSymbols",
   41002 	           xmlMemBlocks() - mem_base);
   41003 	    test_ret++;
   41004             printf(" %d", n_code);
   41005             printf("\n");
   41006         }
   41007     }
   41008     function_tests++;
   41009 #endif
   41010 
   41011     return(test_ret);
   41012 }
   41013 
   41014 
   41015 static int
   41016 test_xmlUCSIsMathematicalOperators(void) {
   41017     int test_ret = 0;
   41018 
   41019 #if defined(LIBXML_UNICODE_ENABLED)
   41020     int mem_base;
   41021     int ret_val;
   41022     int code; /* UCS code point */
   41023     int n_code;
   41024 
   41025     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41026         mem_base = xmlMemBlocks();
   41027         code = gen_int(n_code, 0);
   41028 
   41029         ret_val = xmlUCSIsMathematicalOperators(code);
   41030         desret_int(ret_val);
   41031         call_tests++;
   41032         des_int(n_code, code, 0);
   41033         xmlResetLastError();
   41034         if (mem_base != xmlMemBlocks()) {
   41035             printf("Leak of %d blocks found in xmlUCSIsMathematicalOperators",
   41036 	           xmlMemBlocks() - mem_base);
   41037 	    test_ret++;
   41038             printf(" %d", n_code);
   41039             printf("\n");
   41040         }
   41041     }
   41042     function_tests++;
   41043 #endif
   41044 
   41045     return(test_ret);
   41046 }
   41047 
   41048 
   41049 static int
   41050 test_xmlUCSIsMiscellaneousMathematicalSymbolsA(void) {
   41051     int test_ret = 0;
   41052 
   41053 #if defined(LIBXML_UNICODE_ENABLED)
   41054     int mem_base;
   41055     int ret_val;
   41056     int code; /* UCS code point */
   41057     int n_code;
   41058 
   41059     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41060         mem_base = xmlMemBlocks();
   41061         code = gen_int(n_code, 0);
   41062 
   41063         ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsA(code);
   41064         desret_int(ret_val);
   41065         call_tests++;
   41066         des_int(n_code, code, 0);
   41067         xmlResetLastError();
   41068         if (mem_base != xmlMemBlocks()) {
   41069             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsA",
   41070 	           xmlMemBlocks() - mem_base);
   41071 	    test_ret++;
   41072             printf(" %d", n_code);
   41073             printf("\n");
   41074         }
   41075     }
   41076     function_tests++;
   41077 #endif
   41078 
   41079     return(test_ret);
   41080 }
   41081 
   41082 
   41083 static int
   41084 test_xmlUCSIsMiscellaneousMathematicalSymbolsB(void) {
   41085     int test_ret = 0;
   41086 
   41087 #if defined(LIBXML_UNICODE_ENABLED)
   41088     int mem_base;
   41089     int ret_val;
   41090     int code; /* UCS code point */
   41091     int n_code;
   41092 
   41093     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41094         mem_base = xmlMemBlocks();
   41095         code = gen_int(n_code, 0);
   41096 
   41097         ret_val = xmlUCSIsMiscellaneousMathematicalSymbolsB(code);
   41098         desret_int(ret_val);
   41099         call_tests++;
   41100         des_int(n_code, code, 0);
   41101         xmlResetLastError();
   41102         if (mem_base != xmlMemBlocks()) {
   41103             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousMathematicalSymbolsB",
   41104 	           xmlMemBlocks() - mem_base);
   41105 	    test_ret++;
   41106             printf(" %d", n_code);
   41107             printf("\n");
   41108         }
   41109     }
   41110     function_tests++;
   41111 #endif
   41112 
   41113     return(test_ret);
   41114 }
   41115 
   41116 
   41117 static int
   41118 test_xmlUCSIsMiscellaneousSymbols(void) {
   41119     int test_ret = 0;
   41120 
   41121 #if defined(LIBXML_UNICODE_ENABLED)
   41122     int mem_base;
   41123     int ret_val;
   41124     int code; /* UCS code point */
   41125     int n_code;
   41126 
   41127     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41128         mem_base = xmlMemBlocks();
   41129         code = gen_int(n_code, 0);
   41130 
   41131         ret_val = xmlUCSIsMiscellaneousSymbols(code);
   41132         desret_int(ret_val);
   41133         call_tests++;
   41134         des_int(n_code, code, 0);
   41135         xmlResetLastError();
   41136         if (mem_base != xmlMemBlocks()) {
   41137             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbols",
   41138 	           xmlMemBlocks() - mem_base);
   41139 	    test_ret++;
   41140             printf(" %d", n_code);
   41141             printf("\n");
   41142         }
   41143     }
   41144     function_tests++;
   41145 #endif
   41146 
   41147     return(test_ret);
   41148 }
   41149 
   41150 
   41151 static int
   41152 test_xmlUCSIsMiscellaneousSymbolsandArrows(void) {
   41153     int test_ret = 0;
   41154 
   41155 #if defined(LIBXML_UNICODE_ENABLED)
   41156     int mem_base;
   41157     int ret_val;
   41158     int code; /* UCS code point */
   41159     int n_code;
   41160 
   41161     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41162         mem_base = xmlMemBlocks();
   41163         code = gen_int(n_code, 0);
   41164 
   41165         ret_val = xmlUCSIsMiscellaneousSymbolsandArrows(code);
   41166         desret_int(ret_val);
   41167         call_tests++;
   41168         des_int(n_code, code, 0);
   41169         xmlResetLastError();
   41170         if (mem_base != xmlMemBlocks()) {
   41171             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousSymbolsandArrows",
   41172 	           xmlMemBlocks() - mem_base);
   41173 	    test_ret++;
   41174             printf(" %d", n_code);
   41175             printf("\n");
   41176         }
   41177     }
   41178     function_tests++;
   41179 #endif
   41180 
   41181     return(test_ret);
   41182 }
   41183 
   41184 
   41185 static int
   41186 test_xmlUCSIsMiscellaneousTechnical(void) {
   41187     int test_ret = 0;
   41188 
   41189 #if defined(LIBXML_UNICODE_ENABLED)
   41190     int mem_base;
   41191     int ret_val;
   41192     int code; /* UCS code point */
   41193     int n_code;
   41194 
   41195     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41196         mem_base = xmlMemBlocks();
   41197         code = gen_int(n_code, 0);
   41198 
   41199         ret_val = xmlUCSIsMiscellaneousTechnical(code);
   41200         desret_int(ret_val);
   41201         call_tests++;
   41202         des_int(n_code, code, 0);
   41203         xmlResetLastError();
   41204         if (mem_base != xmlMemBlocks()) {
   41205             printf("Leak of %d blocks found in xmlUCSIsMiscellaneousTechnical",
   41206 	           xmlMemBlocks() - mem_base);
   41207 	    test_ret++;
   41208             printf(" %d", n_code);
   41209             printf("\n");
   41210         }
   41211     }
   41212     function_tests++;
   41213 #endif
   41214 
   41215     return(test_ret);
   41216 }
   41217 
   41218 
   41219 static int
   41220 test_xmlUCSIsMongolian(void) {
   41221     int test_ret = 0;
   41222 
   41223 #if defined(LIBXML_UNICODE_ENABLED)
   41224     int mem_base;
   41225     int ret_val;
   41226     int code; /* UCS code point */
   41227     int n_code;
   41228 
   41229     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41230         mem_base = xmlMemBlocks();
   41231         code = gen_int(n_code, 0);
   41232 
   41233         ret_val = xmlUCSIsMongolian(code);
   41234         desret_int(ret_val);
   41235         call_tests++;
   41236         des_int(n_code, code, 0);
   41237         xmlResetLastError();
   41238         if (mem_base != xmlMemBlocks()) {
   41239             printf("Leak of %d blocks found in xmlUCSIsMongolian",
   41240 	           xmlMemBlocks() - mem_base);
   41241 	    test_ret++;
   41242             printf(" %d", n_code);
   41243             printf("\n");
   41244         }
   41245     }
   41246     function_tests++;
   41247 #endif
   41248 
   41249     return(test_ret);
   41250 }
   41251 
   41252 
   41253 static int
   41254 test_xmlUCSIsMusicalSymbols(void) {
   41255     int test_ret = 0;
   41256 
   41257 #if defined(LIBXML_UNICODE_ENABLED)
   41258     int mem_base;
   41259     int ret_val;
   41260     int code; /* UCS code point */
   41261     int n_code;
   41262 
   41263     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41264         mem_base = xmlMemBlocks();
   41265         code = gen_int(n_code, 0);
   41266 
   41267         ret_val = xmlUCSIsMusicalSymbols(code);
   41268         desret_int(ret_val);
   41269         call_tests++;
   41270         des_int(n_code, code, 0);
   41271         xmlResetLastError();
   41272         if (mem_base != xmlMemBlocks()) {
   41273             printf("Leak of %d blocks found in xmlUCSIsMusicalSymbols",
   41274 	           xmlMemBlocks() - mem_base);
   41275 	    test_ret++;
   41276             printf(" %d", n_code);
   41277             printf("\n");
   41278         }
   41279     }
   41280     function_tests++;
   41281 #endif
   41282 
   41283     return(test_ret);
   41284 }
   41285 
   41286 
   41287 static int
   41288 test_xmlUCSIsMyanmar(void) {
   41289     int test_ret = 0;
   41290 
   41291 #if defined(LIBXML_UNICODE_ENABLED)
   41292     int mem_base;
   41293     int ret_val;
   41294     int code; /* UCS code point */
   41295     int n_code;
   41296 
   41297     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41298         mem_base = xmlMemBlocks();
   41299         code = gen_int(n_code, 0);
   41300 
   41301         ret_val = xmlUCSIsMyanmar(code);
   41302         desret_int(ret_val);
   41303         call_tests++;
   41304         des_int(n_code, code, 0);
   41305         xmlResetLastError();
   41306         if (mem_base != xmlMemBlocks()) {
   41307             printf("Leak of %d blocks found in xmlUCSIsMyanmar",
   41308 	           xmlMemBlocks() - mem_base);
   41309 	    test_ret++;
   41310             printf(" %d", n_code);
   41311             printf("\n");
   41312         }
   41313     }
   41314     function_tests++;
   41315 #endif
   41316 
   41317     return(test_ret);
   41318 }
   41319 
   41320 
   41321 static int
   41322 test_xmlUCSIsNumberForms(void) {
   41323     int test_ret = 0;
   41324 
   41325 #if defined(LIBXML_UNICODE_ENABLED)
   41326     int mem_base;
   41327     int ret_val;
   41328     int code; /* UCS code point */
   41329     int n_code;
   41330 
   41331     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41332         mem_base = xmlMemBlocks();
   41333         code = gen_int(n_code, 0);
   41334 
   41335         ret_val = xmlUCSIsNumberForms(code);
   41336         desret_int(ret_val);
   41337         call_tests++;
   41338         des_int(n_code, code, 0);
   41339         xmlResetLastError();
   41340         if (mem_base != xmlMemBlocks()) {
   41341             printf("Leak of %d blocks found in xmlUCSIsNumberForms",
   41342 	           xmlMemBlocks() - mem_base);
   41343 	    test_ret++;
   41344             printf(" %d", n_code);
   41345             printf("\n");
   41346         }
   41347     }
   41348     function_tests++;
   41349 #endif
   41350 
   41351     return(test_ret);
   41352 }
   41353 
   41354 
   41355 static int
   41356 test_xmlUCSIsOgham(void) {
   41357     int test_ret = 0;
   41358 
   41359 #if defined(LIBXML_UNICODE_ENABLED)
   41360     int mem_base;
   41361     int ret_val;
   41362     int code; /* UCS code point */
   41363     int n_code;
   41364 
   41365     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41366         mem_base = xmlMemBlocks();
   41367         code = gen_int(n_code, 0);
   41368 
   41369         ret_val = xmlUCSIsOgham(code);
   41370         desret_int(ret_val);
   41371         call_tests++;
   41372         des_int(n_code, code, 0);
   41373         xmlResetLastError();
   41374         if (mem_base != xmlMemBlocks()) {
   41375             printf("Leak of %d blocks found in xmlUCSIsOgham",
   41376 	           xmlMemBlocks() - mem_base);
   41377 	    test_ret++;
   41378             printf(" %d", n_code);
   41379             printf("\n");
   41380         }
   41381     }
   41382     function_tests++;
   41383 #endif
   41384 
   41385     return(test_ret);
   41386 }
   41387 
   41388 
   41389 static int
   41390 test_xmlUCSIsOldItalic(void) {
   41391     int test_ret = 0;
   41392 
   41393 #if defined(LIBXML_UNICODE_ENABLED)
   41394     int mem_base;
   41395     int ret_val;
   41396     int code; /* UCS code point */
   41397     int n_code;
   41398 
   41399     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41400         mem_base = xmlMemBlocks();
   41401         code = gen_int(n_code, 0);
   41402 
   41403         ret_val = xmlUCSIsOldItalic(code);
   41404         desret_int(ret_val);
   41405         call_tests++;
   41406         des_int(n_code, code, 0);
   41407         xmlResetLastError();
   41408         if (mem_base != xmlMemBlocks()) {
   41409             printf("Leak of %d blocks found in xmlUCSIsOldItalic",
   41410 	           xmlMemBlocks() - mem_base);
   41411 	    test_ret++;
   41412             printf(" %d", n_code);
   41413             printf("\n");
   41414         }
   41415     }
   41416     function_tests++;
   41417 #endif
   41418 
   41419     return(test_ret);
   41420 }
   41421 
   41422 
   41423 static int
   41424 test_xmlUCSIsOpticalCharacterRecognition(void) {
   41425     int test_ret = 0;
   41426 
   41427 #if defined(LIBXML_UNICODE_ENABLED)
   41428     int mem_base;
   41429     int ret_val;
   41430     int code; /* UCS code point */
   41431     int n_code;
   41432 
   41433     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41434         mem_base = xmlMemBlocks();
   41435         code = gen_int(n_code, 0);
   41436 
   41437         ret_val = xmlUCSIsOpticalCharacterRecognition(code);
   41438         desret_int(ret_val);
   41439         call_tests++;
   41440         des_int(n_code, code, 0);
   41441         xmlResetLastError();
   41442         if (mem_base != xmlMemBlocks()) {
   41443             printf("Leak of %d blocks found in xmlUCSIsOpticalCharacterRecognition",
   41444 	           xmlMemBlocks() - mem_base);
   41445 	    test_ret++;
   41446             printf(" %d", n_code);
   41447             printf("\n");
   41448         }
   41449     }
   41450     function_tests++;
   41451 #endif
   41452 
   41453     return(test_ret);
   41454 }
   41455 
   41456 
   41457 static int
   41458 test_xmlUCSIsOriya(void) {
   41459     int test_ret = 0;
   41460 
   41461 #if defined(LIBXML_UNICODE_ENABLED)
   41462     int mem_base;
   41463     int ret_val;
   41464     int code; /* UCS code point */
   41465     int n_code;
   41466 
   41467     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41468         mem_base = xmlMemBlocks();
   41469         code = gen_int(n_code, 0);
   41470 
   41471         ret_val = xmlUCSIsOriya(code);
   41472         desret_int(ret_val);
   41473         call_tests++;
   41474         des_int(n_code, code, 0);
   41475         xmlResetLastError();
   41476         if (mem_base != xmlMemBlocks()) {
   41477             printf("Leak of %d blocks found in xmlUCSIsOriya",
   41478 	           xmlMemBlocks() - mem_base);
   41479 	    test_ret++;
   41480             printf(" %d", n_code);
   41481             printf("\n");
   41482         }
   41483     }
   41484     function_tests++;
   41485 #endif
   41486 
   41487     return(test_ret);
   41488 }
   41489 
   41490 
   41491 static int
   41492 test_xmlUCSIsOsmanya(void) {
   41493     int test_ret = 0;
   41494 
   41495 #if defined(LIBXML_UNICODE_ENABLED)
   41496     int mem_base;
   41497     int ret_val;
   41498     int code; /* UCS code point */
   41499     int n_code;
   41500 
   41501     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41502         mem_base = xmlMemBlocks();
   41503         code = gen_int(n_code, 0);
   41504 
   41505         ret_val = xmlUCSIsOsmanya(code);
   41506         desret_int(ret_val);
   41507         call_tests++;
   41508         des_int(n_code, code, 0);
   41509         xmlResetLastError();
   41510         if (mem_base != xmlMemBlocks()) {
   41511             printf("Leak of %d blocks found in xmlUCSIsOsmanya",
   41512 	           xmlMemBlocks() - mem_base);
   41513 	    test_ret++;
   41514             printf(" %d", n_code);
   41515             printf("\n");
   41516         }
   41517     }
   41518     function_tests++;
   41519 #endif
   41520 
   41521     return(test_ret);
   41522 }
   41523 
   41524 
   41525 static int
   41526 test_xmlUCSIsPhoneticExtensions(void) {
   41527     int test_ret = 0;
   41528 
   41529 #if defined(LIBXML_UNICODE_ENABLED)
   41530     int mem_base;
   41531     int ret_val;
   41532     int code; /* UCS code point */
   41533     int n_code;
   41534 
   41535     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41536         mem_base = xmlMemBlocks();
   41537         code = gen_int(n_code, 0);
   41538 
   41539         ret_val = xmlUCSIsPhoneticExtensions(code);
   41540         desret_int(ret_val);
   41541         call_tests++;
   41542         des_int(n_code, code, 0);
   41543         xmlResetLastError();
   41544         if (mem_base != xmlMemBlocks()) {
   41545             printf("Leak of %d blocks found in xmlUCSIsPhoneticExtensions",
   41546 	           xmlMemBlocks() - mem_base);
   41547 	    test_ret++;
   41548             printf(" %d", n_code);
   41549             printf("\n");
   41550         }
   41551     }
   41552     function_tests++;
   41553 #endif
   41554 
   41555     return(test_ret);
   41556 }
   41557 
   41558 
   41559 static int
   41560 test_xmlUCSIsPrivateUse(void) {
   41561     int test_ret = 0;
   41562 
   41563 #if defined(LIBXML_UNICODE_ENABLED)
   41564     int mem_base;
   41565     int ret_val;
   41566     int code; /* UCS code point */
   41567     int n_code;
   41568 
   41569     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41570         mem_base = xmlMemBlocks();
   41571         code = gen_int(n_code, 0);
   41572 
   41573         ret_val = xmlUCSIsPrivateUse(code);
   41574         desret_int(ret_val);
   41575         call_tests++;
   41576         des_int(n_code, code, 0);
   41577         xmlResetLastError();
   41578         if (mem_base != xmlMemBlocks()) {
   41579             printf("Leak of %d blocks found in xmlUCSIsPrivateUse",
   41580 	           xmlMemBlocks() - mem_base);
   41581 	    test_ret++;
   41582             printf(" %d", n_code);
   41583             printf("\n");
   41584         }
   41585     }
   41586     function_tests++;
   41587 #endif
   41588 
   41589     return(test_ret);
   41590 }
   41591 
   41592 
   41593 static int
   41594 test_xmlUCSIsPrivateUseArea(void) {
   41595     int test_ret = 0;
   41596 
   41597 #if defined(LIBXML_UNICODE_ENABLED)
   41598     int mem_base;
   41599     int ret_val;
   41600     int code; /* UCS code point */
   41601     int n_code;
   41602 
   41603     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41604         mem_base = xmlMemBlocks();
   41605         code = gen_int(n_code, 0);
   41606 
   41607         ret_val = xmlUCSIsPrivateUseArea(code);
   41608         desret_int(ret_val);
   41609         call_tests++;
   41610         des_int(n_code, code, 0);
   41611         xmlResetLastError();
   41612         if (mem_base != xmlMemBlocks()) {
   41613             printf("Leak of %d blocks found in xmlUCSIsPrivateUseArea",
   41614 	           xmlMemBlocks() - mem_base);
   41615 	    test_ret++;
   41616             printf(" %d", n_code);
   41617             printf("\n");
   41618         }
   41619     }
   41620     function_tests++;
   41621 #endif
   41622 
   41623     return(test_ret);
   41624 }
   41625 
   41626 
   41627 static int
   41628 test_xmlUCSIsRunic(void) {
   41629     int test_ret = 0;
   41630 
   41631 #if defined(LIBXML_UNICODE_ENABLED)
   41632     int mem_base;
   41633     int ret_val;
   41634     int code; /* UCS code point */
   41635     int n_code;
   41636 
   41637     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41638         mem_base = xmlMemBlocks();
   41639         code = gen_int(n_code, 0);
   41640 
   41641         ret_val = xmlUCSIsRunic(code);
   41642         desret_int(ret_val);
   41643         call_tests++;
   41644         des_int(n_code, code, 0);
   41645         xmlResetLastError();
   41646         if (mem_base != xmlMemBlocks()) {
   41647             printf("Leak of %d blocks found in xmlUCSIsRunic",
   41648 	           xmlMemBlocks() - mem_base);
   41649 	    test_ret++;
   41650             printf(" %d", n_code);
   41651             printf("\n");
   41652         }
   41653     }
   41654     function_tests++;
   41655 #endif
   41656 
   41657     return(test_ret);
   41658 }
   41659 
   41660 
   41661 static int
   41662 test_xmlUCSIsShavian(void) {
   41663     int test_ret = 0;
   41664 
   41665 #if defined(LIBXML_UNICODE_ENABLED)
   41666     int mem_base;
   41667     int ret_val;
   41668     int code; /* UCS code point */
   41669     int n_code;
   41670 
   41671     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41672         mem_base = xmlMemBlocks();
   41673         code = gen_int(n_code, 0);
   41674 
   41675         ret_val = xmlUCSIsShavian(code);
   41676         desret_int(ret_val);
   41677         call_tests++;
   41678         des_int(n_code, code, 0);
   41679         xmlResetLastError();
   41680         if (mem_base != xmlMemBlocks()) {
   41681             printf("Leak of %d blocks found in xmlUCSIsShavian",
   41682 	           xmlMemBlocks() - mem_base);
   41683 	    test_ret++;
   41684             printf(" %d", n_code);
   41685             printf("\n");
   41686         }
   41687     }
   41688     function_tests++;
   41689 #endif
   41690 
   41691     return(test_ret);
   41692 }
   41693 
   41694 
   41695 static int
   41696 test_xmlUCSIsSinhala(void) {
   41697     int test_ret = 0;
   41698 
   41699 #if defined(LIBXML_UNICODE_ENABLED)
   41700     int mem_base;
   41701     int ret_val;
   41702     int code; /* UCS code point */
   41703     int n_code;
   41704 
   41705     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41706         mem_base = xmlMemBlocks();
   41707         code = gen_int(n_code, 0);
   41708 
   41709         ret_val = xmlUCSIsSinhala(code);
   41710         desret_int(ret_val);
   41711         call_tests++;
   41712         des_int(n_code, code, 0);
   41713         xmlResetLastError();
   41714         if (mem_base != xmlMemBlocks()) {
   41715             printf("Leak of %d blocks found in xmlUCSIsSinhala",
   41716 	           xmlMemBlocks() - mem_base);
   41717 	    test_ret++;
   41718             printf(" %d", n_code);
   41719             printf("\n");
   41720         }
   41721     }
   41722     function_tests++;
   41723 #endif
   41724 
   41725     return(test_ret);
   41726 }
   41727 
   41728 
   41729 static int
   41730 test_xmlUCSIsSmallFormVariants(void) {
   41731     int test_ret = 0;
   41732 
   41733 #if defined(LIBXML_UNICODE_ENABLED)
   41734     int mem_base;
   41735     int ret_val;
   41736     int code; /* UCS code point */
   41737     int n_code;
   41738 
   41739     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41740         mem_base = xmlMemBlocks();
   41741         code = gen_int(n_code, 0);
   41742 
   41743         ret_val = xmlUCSIsSmallFormVariants(code);
   41744         desret_int(ret_val);
   41745         call_tests++;
   41746         des_int(n_code, code, 0);
   41747         xmlResetLastError();
   41748         if (mem_base != xmlMemBlocks()) {
   41749             printf("Leak of %d blocks found in xmlUCSIsSmallFormVariants",
   41750 	           xmlMemBlocks() - mem_base);
   41751 	    test_ret++;
   41752             printf(" %d", n_code);
   41753             printf("\n");
   41754         }
   41755     }
   41756     function_tests++;
   41757 #endif
   41758 
   41759     return(test_ret);
   41760 }
   41761 
   41762 
   41763 static int
   41764 test_xmlUCSIsSpacingModifierLetters(void) {
   41765     int test_ret = 0;
   41766 
   41767 #if defined(LIBXML_UNICODE_ENABLED)
   41768     int mem_base;
   41769     int ret_val;
   41770     int code; /* UCS code point */
   41771     int n_code;
   41772 
   41773     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41774         mem_base = xmlMemBlocks();
   41775         code = gen_int(n_code, 0);
   41776 
   41777         ret_val = xmlUCSIsSpacingModifierLetters(code);
   41778         desret_int(ret_val);
   41779         call_tests++;
   41780         des_int(n_code, code, 0);
   41781         xmlResetLastError();
   41782         if (mem_base != xmlMemBlocks()) {
   41783             printf("Leak of %d blocks found in xmlUCSIsSpacingModifierLetters",
   41784 	           xmlMemBlocks() - mem_base);
   41785 	    test_ret++;
   41786             printf(" %d", n_code);
   41787             printf("\n");
   41788         }
   41789     }
   41790     function_tests++;
   41791 #endif
   41792 
   41793     return(test_ret);
   41794 }
   41795 
   41796 
   41797 static int
   41798 test_xmlUCSIsSpecials(void) {
   41799     int test_ret = 0;
   41800 
   41801 #if defined(LIBXML_UNICODE_ENABLED)
   41802     int mem_base;
   41803     int ret_val;
   41804     int code; /* UCS code point */
   41805     int n_code;
   41806 
   41807     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41808         mem_base = xmlMemBlocks();
   41809         code = gen_int(n_code, 0);
   41810 
   41811         ret_val = xmlUCSIsSpecials(code);
   41812         desret_int(ret_val);
   41813         call_tests++;
   41814         des_int(n_code, code, 0);
   41815         xmlResetLastError();
   41816         if (mem_base != xmlMemBlocks()) {
   41817             printf("Leak of %d blocks found in xmlUCSIsSpecials",
   41818 	           xmlMemBlocks() - mem_base);
   41819 	    test_ret++;
   41820             printf(" %d", n_code);
   41821             printf("\n");
   41822         }
   41823     }
   41824     function_tests++;
   41825 #endif
   41826 
   41827     return(test_ret);
   41828 }
   41829 
   41830 
   41831 static int
   41832 test_xmlUCSIsSuperscriptsandSubscripts(void) {
   41833     int test_ret = 0;
   41834 
   41835 #if defined(LIBXML_UNICODE_ENABLED)
   41836     int mem_base;
   41837     int ret_val;
   41838     int code; /* UCS code point */
   41839     int n_code;
   41840 
   41841     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41842         mem_base = xmlMemBlocks();
   41843         code = gen_int(n_code, 0);
   41844 
   41845         ret_val = xmlUCSIsSuperscriptsandSubscripts(code);
   41846         desret_int(ret_val);
   41847         call_tests++;
   41848         des_int(n_code, code, 0);
   41849         xmlResetLastError();
   41850         if (mem_base != xmlMemBlocks()) {
   41851             printf("Leak of %d blocks found in xmlUCSIsSuperscriptsandSubscripts",
   41852 	           xmlMemBlocks() - mem_base);
   41853 	    test_ret++;
   41854             printf(" %d", n_code);
   41855             printf("\n");
   41856         }
   41857     }
   41858     function_tests++;
   41859 #endif
   41860 
   41861     return(test_ret);
   41862 }
   41863 
   41864 
   41865 static int
   41866 test_xmlUCSIsSupplementalArrowsA(void) {
   41867     int test_ret = 0;
   41868 
   41869 #if defined(LIBXML_UNICODE_ENABLED)
   41870     int mem_base;
   41871     int ret_val;
   41872     int code; /* UCS code point */
   41873     int n_code;
   41874 
   41875     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41876         mem_base = xmlMemBlocks();
   41877         code = gen_int(n_code, 0);
   41878 
   41879         ret_val = xmlUCSIsSupplementalArrowsA(code);
   41880         desret_int(ret_val);
   41881         call_tests++;
   41882         des_int(n_code, code, 0);
   41883         xmlResetLastError();
   41884         if (mem_base != xmlMemBlocks()) {
   41885             printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsA",
   41886 	           xmlMemBlocks() - mem_base);
   41887 	    test_ret++;
   41888             printf(" %d", n_code);
   41889             printf("\n");
   41890         }
   41891     }
   41892     function_tests++;
   41893 #endif
   41894 
   41895     return(test_ret);
   41896 }
   41897 
   41898 
   41899 static int
   41900 test_xmlUCSIsSupplementalArrowsB(void) {
   41901     int test_ret = 0;
   41902 
   41903 #if defined(LIBXML_UNICODE_ENABLED)
   41904     int mem_base;
   41905     int ret_val;
   41906     int code; /* UCS code point */
   41907     int n_code;
   41908 
   41909     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41910         mem_base = xmlMemBlocks();
   41911         code = gen_int(n_code, 0);
   41912 
   41913         ret_val = xmlUCSIsSupplementalArrowsB(code);
   41914         desret_int(ret_val);
   41915         call_tests++;
   41916         des_int(n_code, code, 0);
   41917         xmlResetLastError();
   41918         if (mem_base != xmlMemBlocks()) {
   41919             printf("Leak of %d blocks found in xmlUCSIsSupplementalArrowsB",
   41920 	           xmlMemBlocks() - mem_base);
   41921 	    test_ret++;
   41922             printf(" %d", n_code);
   41923             printf("\n");
   41924         }
   41925     }
   41926     function_tests++;
   41927 #endif
   41928 
   41929     return(test_ret);
   41930 }
   41931 
   41932 
   41933 static int
   41934 test_xmlUCSIsSupplementalMathematicalOperators(void) {
   41935     int test_ret = 0;
   41936 
   41937 #if defined(LIBXML_UNICODE_ENABLED)
   41938     int mem_base;
   41939     int ret_val;
   41940     int code; /* UCS code point */
   41941     int n_code;
   41942 
   41943     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41944         mem_base = xmlMemBlocks();
   41945         code = gen_int(n_code, 0);
   41946 
   41947         ret_val = xmlUCSIsSupplementalMathematicalOperators(code);
   41948         desret_int(ret_val);
   41949         call_tests++;
   41950         des_int(n_code, code, 0);
   41951         xmlResetLastError();
   41952         if (mem_base != xmlMemBlocks()) {
   41953             printf("Leak of %d blocks found in xmlUCSIsSupplementalMathematicalOperators",
   41954 	           xmlMemBlocks() - mem_base);
   41955 	    test_ret++;
   41956             printf(" %d", n_code);
   41957             printf("\n");
   41958         }
   41959     }
   41960     function_tests++;
   41961 #endif
   41962 
   41963     return(test_ret);
   41964 }
   41965 
   41966 
   41967 static int
   41968 test_xmlUCSIsSupplementaryPrivateUseAreaA(void) {
   41969     int test_ret = 0;
   41970 
   41971 #if defined(LIBXML_UNICODE_ENABLED)
   41972     int mem_base;
   41973     int ret_val;
   41974     int code; /* UCS code point */
   41975     int n_code;
   41976 
   41977     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   41978         mem_base = xmlMemBlocks();
   41979         code = gen_int(n_code, 0);
   41980 
   41981         ret_val = xmlUCSIsSupplementaryPrivateUseAreaA(code);
   41982         desret_int(ret_val);
   41983         call_tests++;
   41984         des_int(n_code, code, 0);
   41985         xmlResetLastError();
   41986         if (mem_base != xmlMemBlocks()) {
   41987             printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaA",
   41988 	           xmlMemBlocks() - mem_base);
   41989 	    test_ret++;
   41990             printf(" %d", n_code);
   41991             printf("\n");
   41992         }
   41993     }
   41994     function_tests++;
   41995 #endif
   41996 
   41997     return(test_ret);
   41998 }
   41999 
   42000 
   42001 static int
   42002 test_xmlUCSIsSupplementaryPrivateUseAreaB(void) {
   42003     int test_ret = 0;
   42004 
   42005 #if defined(LIBXML_UNICODE_ENABLED)
   42006     int mem_base;
   42007     int ret_val;
   42008     int code; /* UCS code point */
   42009     int n_code;
   42010 
   42011     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42012         mem_base = xmlMemBlocks();
   42013         code = gen_int(n_code, 0);
   42014 
   42015         ret_val = xmlUCSIsSupplementaryPrivateUseAreaB(code);
   42016         desret_int(ret_val);
   42017         call_tests++;
   42018         des_int(n_code, code, 0);
   42019         xmlResetLastError();
   42020         if (mem_base != xmlMemBlocks()) {
   42021             printf("Leak of %d blocks found in xmlUCSIsSupplementaryPrivateUseAreaB",
   42022 	           xmlMemBlocks() - mem_base);
   42023 	    test_ret++;
   42024             printf(" %d", n_code);
   42025             printf("\n");
   42026         }
   42027     }
   42028     function_tests++;
   42029 #endif
   42030 
   42031     return(test_ret);
   42032 }
   42033 
   42034 
   42035 static int
   42036 test_xmlUCSIsSyriac(void) {
   42037     int test_ret = 0;
   42038 
   42039 #if defined(LIBXML_UNICODE_ENABLED)
   42040     int mem_base;
   42041     int ret_val;
   42042     int code; /* UCS code point */
   42043     int n_code;
   42044 
   42045     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42046         mem_base = xmlMemBlocks();
   42047         code = gen_int(n_code, 0);
   42048 
   42049         ret_val = xmlUCSIsSyriac(code);
   42050         desret_int(ret_val);
   42051         call_tests++;
   42052         des_int(n_code, code, 0);
   42053         xmlResetLastError();
   42054         if (mem_base != xmlMemBlocks()) {
   42055             printf("Leak of %d blocks found in xmlUCSIsSyriac",
   42056 	           xmlMemBlocks() - mem_base);
   42057 	    test_ret++;
   42058             printf(" %d", n_code);
   42059             printf("\n");
   42060         }
   42061     }
   42062     function_tests++;
   42063 #endif
   42064 
   42065     return(test_ret);
   42066 }
   42067 
   42068 
   42069 static int
   42070 test_xmlUCSIsTagalog(void) {
   42071     int test_ret = 0;
   42072 
   42073 #if defined(LIBXML_UNICODE_ENABLED)
   42074     int mem_base;
   42075     int ret_val;
   42076     int code; /* UCS code point */
   42077     int n_code;
   42078 
   42079     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42080         mem_base = xmlMemBlocks();
   42081         code = gen_int(n_code, 0);
   42082 
   42083         ret_val = xmlUCSIsTagalog(code);
   42084         desret_int(ret_val);
   42085         call_tests++;
   42086         des_int(n_code, code, 0);
   42087         xmlResetLastError();
   42088         if (mem_base != xmlMemBlocks()) {
   42089             printf("Leak of %d blocks found in xmlUCSIsTagalog",
   42090 	           xmlMemBlocks() - mem_base);
   42091 	    test_ret++;
   42092             printf(" %d", n_code);
   42093             printf("\n");
   42094         }
   42095     }
   42096     function_tests++;
   42097 #endif
   42098 
   42099     return(test_ret);
   42100 }
   42101 
   42102 
   42103 static int
   42104 test_xmlUCSIsTagbanwa(void) {
   42105     int test_ret = 0;
   42106 
   42107 #if defined(LIBXML_UNICODE_ENABLED)
   42108     int mem_base;
   42109     int ret_val;
   42110     int code; /* UCS code point */
   42111     int n_code;
   42112 
   42113     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42114         mem_base = xmlMemBlocks();
   42115         code = gen_int(n_code, 0);
   42116 
   42117         ret_val = xmlUCSIsTagbanwa(code);
   42118         desret_int(ret_val);
   42119         call_tests++;
   42120         des_int(n_code, code, 0);
   42121         xmlResetLastError();
   42122         if (mem_base != xmlMemBlocks()) {
   42123             printf("Leak of %d blocks found in xmlUCSIsTagbanwa",
   42124 	           xmlMemBlocks() - mem_base);
   42125 	    test_ret++;
   42126             printf(" %d", n_code);
   42127             printf("\n");
   42128         }
   42129     }
   42130     function_tests++;
   42131 #endif
   42132 
   42133     return(test_ret);
   42134 }
   42135 
   42136 
   42137 static int
   42138 test_xmlUCSIsTags(void) {
   42139     int test_ret = 0;
   42140 
   42141 #if defined(LIBXML_UNICODE_ENABLED)
   42142     int mem_base;
   42143     int ret_val;
   42144     int code; /* UCS code point */
   42145     int n_code;
   42146 
   42147     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42148         mem_base = xmlMemBlocks();
   42149         code = gen_int(n_code, 0);
   42150 
   42151         ret_val = xmlUCSIsTags(code);
   42152         desret_int(ret_val);
   42153         call_tests++;
   42154         des_int(n_code, code, 0);
   42155         xmlResetLastError();
   42156         if (mem_base != xmlMemBlocks()) {
   42157             printf("Leak of %d blocks found in xmlUCSIsTags",
   42158 	           xmlMemBlocks() - mem_base);
   42159 	    test_ret++;
   42160             printf(" %d", n_code);
   42161             printf("\n");
   42162         }
   42163     }
   42164     function_tests++;
   42165 #endif
   42166 
   42167     return(test_ret);
   42168 }
   42169 
   42170 
   42171 static int
   42172 test_xmlUCSIsTaiLe(void) {
   42173     int test_ret = 0;
   42174 
   42175 #if defined(LIBXML_UNICODE_ENABLED)
   42176     int mem_base;
   42177     int ret_val;
   42178     int code; /* UCS code point */
   42179     int n_code;
   42180 
   42181     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42182         mem_base = xmlMemBlocks();
   42183         code = gen_int(n_code, 0);
   42184 
   42185         ret_val = xmlUCSIsTaiLe(code);
   42186         desret_int(ret_val);
   42187         call_tests++;
   42188         des_int(n_code, code, 0);
   42189         xmlResetLastError();
   42190         if (mem_base != xmlMemBlocks()) {
   42191             printf("Leak of %d blocks found in xmlUCSIsTaiLe",
   42192 	           xmlMemBlocks() - mem_base);
   42193 	    test_ret++;
   42194             printf(" %d", n_code);
   42195             printf("\n");
   42196         }
   42197     }
   42198     function_tests++;
   42199 #endif
   42200 
   42201     return(test_ret);
   42202 }
   42203 
   42204 
   42205 static int
   42206 test_xmlUCSIsTaiXuanJingSymbols(void) {
   42207     int test_ret = 0;
   42208 
   42209 #if defined(LIBXML_UNICODE_ENABLED)
   42210     int mem_base;
   42211     int ret_val;
   42212     int code; /* UCS code point */
   42213     int n_code;
   42214 
   42215     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42216         mem_base = xmlMemBlocks();
   42217         code = gen_int(n_code, 0);
   42218 
   42219         ret_val = xmlUCSIsTaiXuanJingSymbols(code);
   42220         desret_int(ret_val);
   42221         call_tests++;
   42222         des_int(n_code, code, 0);
   42223         xmlResetLastError();
   42224         if (mem_base != xmlMemBlocks()) {
   42225             printf("Leak of %d blocks found in xmlUCSIsTaiXuanJingSymbols",
   42226 	           xmlMemBlocks() - mem_base);
   42227 	    test_ret++;
   42228             printf(" %d", n_code);
   42229             printf("\n");
   42230         }
   42231     }
   42232     function_tests++;
   42233 #endif
   42234 
   42235     return(test_ret);
   42236 }
   42237 
   42238 
   42239 static int
   42240 test_xmlUCSIsTamil(void) {
   42241     int test_ret = 0;
   42242 
   42243 #if defined(LIBXML_UNICODE_ENABLED)
   42244     int mem_base;
   42245     int ret_val;
   42246     int code; /* UCS code point */
   42247     int n_code;
   42248 
   42249     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42250         mem_base = xmlMemBlocks();
   42251         code = gen_int(n_code, 0);
   42252 
   42253         ret_val = xmlUCSIsTamil(code);
   42254         desret_int(ret_val);
   42255         call_tests++;
   42256         des_int(n_code, code, 0);
   42257         xmlResetLastError();
   42258         if (mem_base != xmlMemBlocks()) {
   42259             printf("Leak of %d blocks found in xmlUCSIsTamil",
   42260 	           xmlMemBlocks() - mem_base);
   42261 	    test_ret++;
   42262             printf(" %d", n_code);
   42263             printf("\n");
   42264         }
   42265     }
   42266     function_tests++;
   42267 #endif
   42268 
   42269     return(test_ret);
   42270 }
   42271 
   42272 
   42273 static int
   42274 test_xmlUCSIsTelugu(void) {
   42275     int test_ret = 0;
   42276 
   42277 #if defined(LIBXML_UNICODE_ENABLED)
   42278     int mem_base;
   42279     int ret_val;
   42280     int code; /* UCS code point */
   42281     int n_code;
   42282 
   42283     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42284         mem_base = xmlMemBlocks();
   42285         code = gen_int(n_code, 0);
   42286 
   42287         ret_val = xmlUCSIsTelugu(code);
   42288         desret_int(ret_val);
   42289         call_tests++;
   42290         des_int(n_code, code, 0);
   42291         xmlResetLastError();
   42292         if (mem_base != xmlMemBlocks()) {
   42293             printf("Leak of %d blocks found in xmlUCSIsTelugu",
   42294 	           xmlMemBlocks() - mem_base);
   42295 	    test_ret++;
   42296             printf(" %d", n_code);
   42297             printf("\n");
   42298         }
   42299     }
   42300     function_tests++;
   42301 #endif
   42302 
   42303     return(test_ret);
   42304 }
   42305 
   42306 
   42307 static int
   42308 test_xmlUCSIsThaana(void) {
   42309     int test_ret = 0;
   42310 
   42311 #if defined(LIBXML_UNICODE_ENABLED)
   42312     int mem_base;
   42313     int ret_val;
   42314     int code; /* UCS code point */
   42315     int n_code;
   42316 
   42317     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42318         mem_base = xmlMemBlocks();
   42319         code = gen_int(n_code, 0);
   42320 
   42321         ret_val = xmlUCSIsThaana(code);
   42322         desret_int(ret_val);
   42323         call_tests++;
   42324         des_int(n_code, code, 0);
   42325         xmlResetLastError();
   42326         if (mem_base != xmlMemBlocks()) {
   42327             printf("Leak of %d blocks found in xmlUCSIsThaana",
   42328 	           xmlMemBlocks() - mem_base);
   42329 	    test_ret++;
   42330             printf(" %d", n_code);
   42331             printf("\n");
   42332         }
   42333     }
   42334     function_tests++;
   42335 #endif
   42336 
   42337     return(test_ret);
   42338 }
   42339 
   42340 
   42341 static int
   42342 test_xmlUCSIsThai(void) {
   42343     int test_ret = 0;
   42344 
   42345 #if defined(LIBXML_UNICODE_ENABLED)
   42346     int mem_base;
   42347     int ret_val;
   42348     int code; /* UCS code point */
   42349     int n_code;
   42350 
   42351     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42352         mem_base = xmlMemBlocks();
   42353         code = gen_int(n_code, 0);
   42354 
   42355         ret_val = xmlUCSIsThai(code);
   42356         desret_int(ret_val);
   42357         call_tests++;
   42358         des_int(n_code, code, 0);
   42359         xmlResetLastError();
   42360         if (mem_base != xmlMemBlocks()) {
   42361             printf("Leak of %d blocks found in xmlUCSIsThai",
   42362 	           xmlMemBlocks() - mem_base);
   42363 	    test_ret++;
   42364             printf(" %d", n_code);
   42365             printf("\n");
   42366         }
   42367     }
   42368     function_tests++;
   42369 #endif
   42370 
   42371     return(test_ret);
   42372 }
   42373 
   42374 
   42375 static int
   42376 test_xmlUCSIsTibetan(void) {
   42377     int test_ret = 0;
   42378 
   42379 #if defined(LIBXML_UNICODE_ENABLED)
   42380     int mem_base;
   42381     int ret_val;
   42382     int code; /* UCS code point */
   42383     int n_code;
   42384 
   42385     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42386         mem_base = xmlMemBlocks();
   42387         code = gen_int(n_code, 0);
   42388 
   42389         ret_val = xmlUCSIsTibetan(code);
   42390         desret_int(ret_val);
   42391         call_tests++;
   42392         des_int(n_code, code, 0);
   42393         xmlResetLastError();
   42394         if (mem_base != xmlMemBlocks()) {
   42395             printf("Leak of %d blocks found in xmlUCSIsTibetan",
   42396 	           xmlMemBlocks() - mem_base);
   42397 	    test_ret++;
   42398             printf(" %d", n_code);
   42399             printf("\n");
   42400         }
   42401     }
   42402     function_tests++;
   42403 #endif
   42404 
   42405     return(test_ret);
   42406 }
   42407 
   42408 
   42409 static int
   42410 test_xmlUCSIsUgaritic(void) {
   42411     int test_ret = 0;
   42412 
   42413 #if defined(LIBXML_UNICODE_ENABLED)
   42414     int mem_base;
   42415     int ret_val;
   42416     int code; /* UCS code point */
   42417     int n_code;
   42418 
   42419     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42420         mem_base = xmlMemBlocks();
   42421         code = gen_int(n_code, 0);
   42422 
   42423         ret_val = xmlUCSIsUgaritic(code);
   42424         desret_int(ret_val);
   42425         call_tests++;
   42426         des_int(n_code, code, 0);
   42427         xmlResetLastError();
   42428         if (mem_base != xmlMemBlocks()) {
   42429             printf("Leak of %d blocks found in xmlUCSIsUgaritic",
   42430 	           xmlMemBlocks() - mem_base);
   42431 	    test_ret++;
   42432             printf(" %d", n_code);
   42433             printf("\n");
   42434         }
   42435     }
   42436     function_tests++;
   42437 #endif
   42438 
   42439     return(test_ret);
   42440 }
   42441 
   42442 
   42443 static int
   42444 test_xmlUCSIsUnifiedCanadianAboriginalSyllabics(void) {
   42445     int test_ret = 0;
   42446 
   42447 #if defined(LIBXML_UNICODE_ENABLED)
   42448     int mem_base;
   42449     int ret_val;
   42450     int code; /* UCS code point */
   42451     int n_code;
   42452 
   42453     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42454         mem_base = xmlMemBlocks();
   42455         code = gen_int(n_code, 0);
   42456 
   42457         ret_val = xmlUCSIsUnifiedCanadianAboriginalSyllabics(code);
   42458         desret_int(ret_val);
   42459         call_tests++;
   42460         des_int(n_code, code, 0);
   42461         xmlResetLastError();
   42462         if (mem_base != xmlMemBlocks()) {
   42463             printf("Leak of %d blocks found in xmlUCSIsUnifiedCanadianAboriginalSyllabics",
   42464 	           xmlMemBlocks() - mem_base);
   42465 	    test_ret++;
   42466             printf(" %d", n_code);
   42467             printf("\n");
   42468         }
   42469     }
   42470     function_tests++;
   42471 #endif
   42472 
   42473     return(test_ret);
   42474 }
   42475 
   42476 
   42477 static int
   42478 test_xmlUCSIsVariationSelectors(void) {
   42479     int test_ret = 0;
   42480 
   42481 #if defined(LIBXML_UNICODE_ENABLED)
   42482     int mem_base;
   42483     int ret_val;
   42484     int code; /* UCS code point */
   42485     int n_code;
   42486 
   42487     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42488         mem_base = xmlMemBlocks();
   42489         code = gen_int(n_code, 0);
   42490 
   42491         ret_val = xmlUCSIsVariationSelectors(code);
   42492         desret_int(ret_val);
   42493         call_tests++;
   42494         des_int(n_code, code, 0);
   42495         xmlResetLastError();
   42496         if (mem_base != xmlMemBlocks()) {
   42497             printf("Leak of %d blocks found in xmlUCSIsVariationSelectors",
   42498 	           xmlMemBlocks() - mem_base);
   42499 	    test_ret++;
   42500             printf(" %d", n_code);
   42501             printf("\n");
   42502         }
   42503     }
   42504     function_tests++;
   42505 #endif
   42506 
   42507     return(test_ret);
   42508 }
   42509 
   42510 
   42511 static int
   42512 test_xmlUCSIsVariationSelectorsSupplement(void) {
   42513     int test_ret = 0;
   42514 
   42515 #if defined(LIBXML_UNICODE_ENABLED)
   42516     int mem_base;
   42517     int ret_val;
   42518     int code; /* UCS code point */
   42519     int n_code;
   42520 
   42521     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42522         mem_base = xmlMemBlocks();
   42523         code = gen_int(n_code, 0);
   42524 
   42525         ret_val = xmlUCSIsVariationSelectorsSupplement(code);
   42526         desret_int(ret_val);
   42527         call_tests++;
   42528         des_int(n_code, code, 0);
   42529         xmlResetLastError();
   42530         if (mem_base != xmlMemBlocks()) {
   42531             printf("Leak of %d blocks found in xmlUCSIsVariationSelectorsSupplement",
   42532 	           xmlMemBlocks() - mem_base);
   42533 	    test_ret++;
   42534             printf(" %d", n_code);
   42535             printf("\n");
   42536         }
   42537     }
   42538     function_tests++;
   42539 #endif
   42540 
   42541     return(test_ret);
   42542 }
   42543 
   42544 
   42545 static int
   42546 test_xmlUCSIsYiRadicals(void) {
   42547     int test_ret = 0;
   42548 
   42549 #if defined(LIBXML_UNICODE_ENABLED)
   42550     int mem_base;
   42551     int ret_val;
   42552     int code; /* UCS code point */
   42553     int n_code;
   42554 
   42555     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42556         mem_base = xmlMemBlocks();
   42557         code = gen_int(n_code, 0);
   42558 
   42559         ret_val = xmlUCSIsYiRadicals(code);
   42560         desret_int(ret_val);
   42561         call_tests++;
   42562         des_int(n_code, code, 0);
   42563         xmlResetLastError();
   42564         if (mem_base != xmlMemBlocks()) {
   42565             printf("Leak of %d blocks found in xmlUCSIsYiRadicals",
   42566 	           xmlMemBlocks() - mem_base);
   42567 	    test_ret++;
   42568             printf(" %d", n_code);
   42569             printf("\n");
   42570         }
   42571     }
   42572     function_tests++;
   42573 #endif
   42574 
   42575     return(test_ret);
   42576 }
   42577 
   42578 
   42579 static int
   42580 test_xmlUCSIsYiSyllables(void) {
   42581     int test_ret = 0;
   42582 
   42583 #if defined(LIBXML_UNICODE_ENABLED)
   42584     int mem_base;
   42585     int ret_val;
   42586     int code; /* UCS code point */
   42587     int n_code;
   42588 
   42589     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42590         mem_base = xmlMemBlocks();
   42591         code = gen_int(n_code, 0);
   42592 
   42593         ret_val = xmlUCSIsYiSyllables(code);
   42594         desret_int(ret_val);
   42595         call_tests++;
   42596         des_int(n_code, code, 0);
   42597         xmlResetLastError();
   42598         if (mem_base != xmlMemBlocks()) {
   42599             printf("Leak of %d blocks found in xmlUCSIsYiSyllables",
   42600 	           xmlMemBlocks() - mem_base);
   42601 	    test_ret++;
   42602             printf(" %d", n_code);
   42603             printf("\n");
   42604         }
   42605     }
   42606     function_tests++;
   42607 #endif
   42608 
   42609     return(test_ret);
   42610 }
   42611 
   42612 
   42613 static int
   42614 test_xmlUCSIsYijingHexagramSymbols(void) {
   42615     int test_ret = 0;
   42616 
   42617 #if defined(LIBXML_UNICODE_ENABLED)
   42618     int mem_base;
   42619     int ret_val;
   42620     int code; /* UCS code point */
   42621     int n_code;
   42622 
   42623     for (n_code = 0;n_code < gen_nb_int;n_code++) {
   42624         mem_base = xmlMemBlocks();
   42625         code = gen_int(n_code, 0);
   42626 
   42627         ret_val = xmlUCSIsYijingHexagramSymbols(code);
   42628         desret_int(ret_val);
   42629         call_tests++;
   42630         des_int(n_code, code, 0);
   42631         xmlResetLastError();
   42632         if (mem_base != xmlMemBlocks()) {
   42633             printf("Leak of %d blocks found in xmlUCSIsYijingHexagramSymbols",
   42634 	           xmlMemBlocks() - mem_base);
   42635 	    test_ret++;
   42636             printf(" %d", n_code);
   42637             printf("\n");
   42638         }
   42639     }
   42640     function_tests++;
   42641 #endif
   42642 
   42643     return(test_ret);
   42644 }
   42645 
   42646 static int
   42647 test_xmlunicode(void) {
   42648     int test_ret = 0;
   42649 
   42650     if (quiet == 0) printf("Testing xmlunicode : 166 of 166 functions ...\n");
   42651     test_ret += test_xmlUCSIsAegeanNumbers();
   42652     test_ret += test_xmlUCSIsAlphabeticPresentationForms();
   42653     test_ret += test_xmlUCSIsArabic();
   42654     test_ret += test_xmlUCSIsArabicPresentationFormsA();
   42655     test_ret += test_xmlUCSIsArabicPresentationFormsB();
   42656     test_ret += test_xmlUCSIsArmenian();
   42657     test_ret += test_xmlUCSIsArrows();
   42658     test_ret += test_xmlUCSIsBasicLatin();
   42659     test_ret += test_xmlUCSIsBengali();
   42660     test_ret += test_xmlUCSIsBlock();
   42661     test_ret += test_xmlUCSIsBlockElements();
   42662     test_ret += test_xmlUCSIsBopomofo();
   42663     test_ret += test_xmlUCSIsBopomofoExtended();
   42664     test_ret += test_xmlUCSIsBoxDrawing();
   42665     test_ret += test_xmlUCSIsBraillePatterns();
   42666     test_ret += test_xmlUCSIsBuhid();
   42667     test_ret += test_xmlUCSIsByzantineMusicalSymbols();
   42668     test_ret += test_xmlUCSIsCJKCompatibility();
   42669     test_ret += test_xmlUCSIsCJKCompatibilityForms();
   42670     test_ret += test_xmlUCSIsCJKCompatibilityIdeographs();
   42671     test_ret += test_xmlUCSIsCJKCompatibilityIdeographsSupplement();
   42672     test_ret += test_xmlUCSIsCJKRadicalsSupplement();
   42673     test_ret += test_xmlUCSIsCJKSymbolsandPunctuation();
   42674     test_ret += test_xmlUCSIsCJKUnifiedIdeographs();
   42675     test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionA();
   42676     test_ret += test_xmlUCSIsCJKUnifiedIdeographsExtensionB();
   42677     test_ret += test_xmlUCSIsCat();
   42678     test_ret += test_xmlUCSIsCatC();
   42679     test_ret += test_xmlUCSIsCatCc();
   42680     test_ret += test_xmlUCSIsCatCf();
   42681     test_ret += test_xmlUCSIsCatCo();
   42682     test_ret += test_xmlUCSIsCatCs();
   42683     test_ret += test_xmlUCSIsCatL();
   42684     test_ret += test_xmlUCSIsCatLl();
   42685     test_ret += test_xmlUCSIsCatLm();
   42686     test_ret += test_xmlUCSIsCatLo();
   42687     test_ret += test_xmlUCSIsCatLt();
   42688     test_ret += test_xmlUCSIsCatLu();
   42689     test_ret += test_xmlUCSIsCatM();
   42690     test_ret += test_xmlUCSIsCatMc();
   42691     test_ret += test_xmlUCSIsCatMe();
   42692     test_ret += test_xmlUCSIsCatMn();
   42693     test_ret += test_xmlUCSIsCatN();
   42694     test_ret += test_xmlUCSIsCatNd();
   42695     test_ret += test_xmlUCSIsCatNl();
   42696     test_ret += test_xmlUCSIsCatNo();
   42697     test_ret += test_xmlUCSIsCatP();
   42698     test_ret += test_xmlUCSIsCatPc();
   42699     test_ret += test_xmlUCSIsCatPd();
   42700     test_ret += test_xmlUCSIsCatPe();
   42701     test_ret += test_xmlUCSIsCatPf();
   42702     test_ret += test_xmlUCSIsCatPi();
   42703     test_ret += test_xmlUCSIsCatPo();
   42704     test_ret += test_xmlUCSIsCatPs();
   42705     test_ret += test_xmlUCSIsCatS();
   42706     test_ret += test_xmlUCSIsCatSc();
   42707     test_ret += test_xmlUCSIsCatSk();
   42708     test_ret += test_xmlUCSIsCatSm();
   42709     test_ret += test_xmlUCSIsCatSo();
   42710     test_ret += test_xmlUCSIsCatZ();
   42711     test_ret += test_xmlUCSIsCatZl();
   42712     test_ret += test_xmlUCSIsCatZp();
   42713     test_ret += test_xmlUCSIsCatZs();
   42714     test_ret += test_xmlUCSIsCherokee();
   42715     test_ret += test_xmlUCSIsCombiningDiacriticalMarks();
   42716     test_ret += test_xmlUCSIsCombiningDiacriticalMarksforSymbols();
   42717     test_ret += test_xmlUCSIsCombiningHalfMarks();
   42718     test_ret += test_xmlUCSIsCombiningMarksforSymbols();
   42719     test_ret += test_xmlUCSIsControlPictures();
   42720     test_ret += test_xmlUCSIsCurrencySymbols();
   42721     test_ret += test_xmlUCSIsCypriotSyllabary();
   42722     test_ret += test_xmlUCSIsCyrillic();
   42723     test_ret += test_xmlUCSIsCyrillicSupplement();
   42724     test_ret += test_xmlUCSIsDeseret();
   42725     test_ret += test_xmlUCSIsDevanagari();
   42726     test_ret += test_xmlUCSIsDingbats();
   42727     test_ret += test_xmlUCSIsEnclosedAlphanumerics();
   42728     test_ret += test_xmlUCSIsEnclosedCJKLettersandMonths();
   42729     test_ret += test_xmlUCSIsEthiopic();
   42730     test_ret += test_xmlUCSIsGeneralPunctuation();
   42731     test_ret += test_xmlUCSIsGeometricShapes();
   42732     test_ret += test_xmlUCSIsGeorgian();
   42733     test_ret += test_xmlUCSIsGothic();
   42734     test_ret += test_xmlUCSIsGreek();
   42735     test_ret += test_xmlUCSIsGreekExtended();
   42736     test_ret += test_xmlUCSIsGreekandCoptic();
   42737     test_ret += test_xmlUCSIsGujarati();
   42738     test_ret += test_xmlUCSIsGurmukhi();
   42739     test_ret += test_xmlUCSIsHalfwidthandFullwidthForms();
   42740     test_ret += test_xmlUCSIsHangulCompatibilityJamo();
   42741     test_ret += test_xmlUCSIsHangulJamo();
   42742     test_ret += test_xmlUCSIsHangulSyllables();
   42743     test_ret += test_xmlUCSIsHanunoo();
   42744     test_ret += test_xmlUCSIsHebrew();
   42745     test_ret += test_xmlUCSIsHighPrivateUseSurrogates();
   42746     test_ret += test_xmlUCSIsHighSurrogates();
   42747     test_ret += test_xmlUCSIsHiragana();
   42748     test_ret += test_xmlUCSIsIPAExtensions();
   42749     test_ret += test_xmlUCSIsIdeographicDescriptionCharacters();
   42750     test_ret += test_xmlUCSIsKanbun();
   42751     test_ret += test_xmlUCSIsKangxiRadicals();
   42752     test_ret += test_xmlUCSIsKannada();
   42753     test_ret += test_xmlUCSIsKatakana();
   42754     test_ret += test_xmlUCSIsKatakanaPhoneticExtensions();
   42755     test_ret += test_xmlUCSIsKhmer();
   42756     test_ret += test_xmlUCSIsKhmerSymbols();
   42757     test_ret += test_xmlUCSIsLao();
   42758     test_ret += test_xmlUCSIsLatin1Supplement();
   42759     test_ret += test_xmlUCSIsLatinExtendedA();
   42760     test_ret += test_xmlUCSIsLatinExtendedAdditional();
   42761     test_ret += test_xmlUCSIsLatinExtendedB();
   42762     test_ret += test_xmlUCSIsLetterlikeSymbols();
   42763     test_ret += test_xmlUCSIsLimbu();
   42764     test_ret += test_xmlUCSIsLinearBIdeograms();
   42765     test_ret += test_xmlUCSIsLinearBSyllabary();
   42766     test_ret += test_xmlUCSIsLowSurrogates();
   42767     test_ret += test_xmlUCSIsMalayalam();
   42768     test_ret += test_xmlUCSIsMathematicalAlphanumericSymbols();
   42769     test_ret += test_xmlUCSIsMathematicalOperators();
   42770     test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsA();
   42771     test_ret += test_xmlUCSIsMiscellaneousMathematicalSymbolsB();
   42772     test_ret += test_xmlUCSIsMiscellaneousSymbols();
   42773     test_ret += test_xmlUCSIsMiscellaneousSymbolsandArrows();
   42774     test_ret += test_xmlUCSIsMiscellaneousTechnical();
   42775     test_ret += test_xmlUCSIsMongolian();
   42776     test_ret += test_xmlUCSIsMusicalSymbols();
   42777     test_ret += test_xmlUCSIsMyanmar();
   42778     test_ret += test_xmlUCSIsNumberForms();
   42779     test_ret += test_xmlUCSIsOgham();
   42780     test_ret += test_xmlUCSIsOldItalic();
   42781     test_ret += test_xmlUCSIsOpticalCharacterRecognition();
   42782     test_ret += test_xmlUCSIsOriya();
   42783     test_ret += test_xmlUCSIsOsmanya();
   42784     test_ret += test_xmlUCSIsPhoneticExtensions();
   42785     test_ret += test_xmlUCSIsPrivateUse();
   42786     test_ret += test_xmlUCSIsPrivateUseArea();
   42787     test_ret += test_xmlUCSIsRunic();
   42788     test_ret += test_xmlUCSIsShavian();
   42789     test_ret += test_xmlUCSIsSinhala();
   42790     test_ret += test_xmlUCSIsSmallFormVariants();
   42791     test_ret += test_xmlUCSIsSpacingModifierLetters();
   42792     test_ret += test_xmlUCSIsSpecials();
   42793     test_ret += test_xmlUCSIsSuperscriptsandSubscripts();
   42794     test_ret += test_xmlUCSIsSupplementalArrowsA();
   42795     test_ret += test_xmlUCSIsSupplementalArrowsB();
   42796     test_ret += test_xmlUCSIsSupplementalMathematicalOperators();
   42797     test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaA();
   42798     test_ret += test_xmlUCSIsSupplementaryPrivateUseAreaB();
   42799     test_ret += test_xmlUCSIsSyriac();
   42800     test_ret += test_xmlUCSIsTagalog();
   42801     test_ret += test_xmlUCSIsTagbanwa();
   42802     test_ret += test_xmlUCSIsTags();
   42803     test_ret += test_xmlUCSIsTaiLe();
   42804     test_ret += test_xmlUCSIsTaiXuanJingSymbols();
   42805     test_ret += test_xmlUCSIsTamil();
   42806     test_ret += test_xmlUCSIsTelugu();
   42807     test_ret += test_xmlUCSIsThaana();
   42808     test_ret += test_xmlUCSIsThai();
   42809     test_ret += test_xmlUCSIsTibetan();
   42810     test_ret += test_xmlUCSIsUgaritic();
   42811     test_ret += test_xmlUCSIsUnifiedCanadianAboriginalSyllabics();
   42812     test_ret += test_xmlUCSIsVariationSelectors();
   42813     test_ret += test_xmlUCSIsVariationSelectorsSupplement();
   42814     test_ret += test_xmlUCSIsYiRadicals();
   42815     test_ret += test_xmlUCSIsYiSyllables();
   42816     test_ret += test_xmlUCSIsYijingHexagramSymbols();
   42817 
   42818     if (test_ret != 0)
   42819 	printf("Module xmlunicode: %d errors\n", test_ret);
   42820     return(test_ret);
   42821 }
   42822 
   42823 static int
   42824 test_xmlNewTextWriter(void) {
   42825     int test_ret = 0;
   42826 
   42827 #if defined(LIBXML_WRITER_ENABLED)
   42828     int mem_base;
   42829     xmlTextWriterPtr ret_val;
   42830     xmlOutputBufferPtr out; /* an xmlOutputBufferPtr */
   42831     int n_out;
   42832 
   42833     for (n_out = 0;n_out < gen_nb_xmlOutputBufferPtr;n_out++) {
   42834         mem_base = xmlMemBlocks();
   42835         out = gen_xmlOutputBufferPtr(n_out, 0);
   42836 
   42837         ret_val = xmlNewTextWriter(out);
   42838         if (ret_val != NULL) out = NULL;
   42839         desret_xmlTextWriterPtr(ret_val);
   42840         call_tests++;
   42841         des_xmlOutputBufferPtr(n_out, out, 0);
   42842         xmlResetLastError();
   42843         if (mem_base != xmlMemBlocks()) {
   42844             printf("Leak of %d blocks found in xmlNewTextWriter",
   42845 	           xmlMemBlocks() - mem_base);
   42846 	    test_ret++;
   42847             printf(" %d", n_out);
   42848             printf("\n");
   42849         }
   42850     }
   42851     function_tests++;
   42852 #endif
   42853 
   42854     return(test_ret);
   42855 }
   42856 
   42857 
   42858 static int
   42859 test_xmlNewTextWriterFilename(void) {
   42860     int test_ret = 0;
   42861 
   42862 #if defined(LIBXML_WRITER_ENABLED)
   42863     int mem_base;
   42864     xmlTextWriterPtr ret_val;
   42865     const char * uri; /* the URI of the resource for the output */
   42866     int n_uri;
   42867     int compression; /* compress the output? */
   42868     int n_compression;
   42869 
   42870     for (n_uri = 0;n_uri < gen_nb_fileoutput;n_uri++) {
   42871     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
   42872         mem_base = xmlMemBlocks();
   42873         uri = gen_fileoutput(n_uri, 0);
   42874         compression = gen_int(n_compression, 1);
   42875 
   42876         ret_val = xmlNewTextWriterFilename(uri, compression);
   42877         desret_xmlTextWriterPtr(ret_val);
   42878         call_tests++;
   42879         des_fileoutput(n_uri, uri, 0);
   42880         des_int(n_compression, compression, 1);
   42881         xmlResetLastError();
   42882         if (mem_base != xmlMemBlocks()) {
   42883             printf("Leak of %d blocks found in xmlNewTextWriterFilename",
   42884 	           xmlMemBlocks() - mem_base);
   42885 	    test_ret++;
   42886             printf(" %d", n_uri);
   42887             printf(" %d", n_compression);
   42888             printf("\n");
   42889         }
   42890     }
   42891     }
   42892     function_tests++;
   42893 #endif
   42894 
   42895     return(test_ret);
   42896 }
   42897 
   42898 
   42899 static int
   42900 test_xmlNewTextWriterMemory(void) {
   42901     int test_ret = 0;
   42902 
   42903 #if defined(LIBXML_WRITER_ENABLED)
   42904     int mem_base;
   42905     xmlTextWriterPtr ret_val;
   42906     xmlBufferPtr buf; /* xmlBufferPtr */
   42907     int n_buf;
   42908     int compression; /* compress the output? */
   42909     int n_compression;
   42910 
   42911     for (n_buf = 0;n_buf < gen_nb_xmlBufferPtr;n_buf++) {
   42912     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
   42913         mem_base = xmlMemBlocks();
   42914         buf = gen_xmlBufferPtr(n_buf, 0);
   42915         compression = gen_int(n_compression, 1);
   42916 
   42917         ret_val = xmlNewTextWriterMemory(buf, compression);
   42918         desret_xmlTextWriterPtr(ret_val);
   42919         call_tests++;
   42920         des_xmlBufferPtr(n_buf, buf, 0);
   42921         des_int(n_compression, compression, 1);
   42922         xmlResetLastError();
   42923         if (mem_base != xmlMemBlocks()) {
   42924             printf("Leak of %d blocks found in xmlNewTextWriterMemory",
   42925 	           xmlMemBlocks() - mem_base);
   42926 	    test_ret++;
   42927             printf(" %d", n_buf);
   42928             printf(" %d", n_compression);
   42929             printf("\n");
   42930         }
   42931     }
   42932     }
   42933     function_tests++;
   42934 #endif
   42935 
   42936     return(test_ret);
   42937 }
   42938 
   42939 
   42940 static int
   42941 test_xmlNewTextWriterPushParser(void) {
   42942     int test_ret = 0;
   42943 
   42944 #if defined(LIBXML_WRITER_ENABLED)
   42945     int mem_base;
   42946     xmlTextWriterPtr ret_val;
   42947     xmlParserCtxtPtr ctxt; /* xmlParserCtxtPtr to hold the new XML document tree */
   42948     int n_ctxt;
   42949     int compression; /* compress the output? */
   42950     int n_compression;
   42951 
   42952     for (n_ctxt = 0;n_ctxt < gen_nb_xmlParserCtxtPtr;n_ctxt++) {
   42953     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
   42954         mem_base = xmlMemBlocks();
   42955         ctxt = gen_xmlParserCtxtPtr(n_ctxt, 0);
   42956         compression = gen_int(n_compression, 1);
   42957 
   42958         ret_val = xmlNewTextWriterPushParser(ctxt, compression);
   42959         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;} if (ret_val != NULL) ctxt = NULL;
   42960         desret_xmlTextWriterPtr(ret_val);
   42961         call_tests++;
   42962         des_xmlParserCtxtPtr(n_ctxt, ctxt, 0);
   42963         des_int(n_compression, compression, 1);
   42964         xmlResetLastError();
   42965         if (mem_base != xmlMemBlocks()) {
   42966             printf("Leak of %d blocks found in xmlNewTextWriterPushParser",
   42967 	           xmlMemBlocks() - mem_base);
   42968 	    test_ret++;
   42969             printf(" %d", n_ctxt);
   42970             printf(" %d", n_compression);
   42971             printf("\n");
   42972         }
   42973     }
   42974     }
   42975     function_tests++;
   42976 #endif
   42977 
   42978     return(test_ret);
   42979 }
   42980 
   42981 
   42982 static int
   42983 test_xmlNewTextWriterTree(void) {
   42984     int test_ret = 0;
   42985 
   42986 #if defined(LIBXML_WRITER_ENABLED)
   42987     int mem_base;
   42988     xmlTextWriterPtr ret_val;
   42989     xmlDocPtr doc; /* xmlDocPtr */
   42990     int n_doc;
   42991     xmlNodePtr node; /* xmlNodePtr or NULL for doc->children */
   42992     int n_node;
   42993     int compression; /* compress the output? */
   42994     int n_compression;
   42995 
   42996     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   42997     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   42998     for (n_compression = 0;n_compression < gen_nb_int;n_compression++) {
   42999         mem_base = xmlMemBlocks();
   43000         doc = gen_xmlDocPtr(n_doc, 0);
   43001         node = gen_xmlNodePtr(n_node, 1);
   43002         compression = gen_int(n_compression, 2);
   43003 
   43004         ret_val = xmlNewTextWriterTree(doc, node, compression);
   43005         desret_xmlTextWriterPtr(ret_val);
   43006         call_tests++;
   43007         des_xmlDocPtr(n_doc, doc, 0);
   43008         des_xmlNodePtr(n_node, node, 1);
   43009         des_int(n_compression, compression, 2);
   43010         xmlResetLastError();
   43011         if (mem_base != xmlMemBlocks()) {
   43012             printf("Leak of %d blocks found in xmlNewTextWriterTree",
   43013 	           xmlMemBlocks() - mem_base);
   43014 	    test_ret++;
   43015             printf(" %d", n_doc);
   43016             printf(" %d", n_node);
   43017             printf(" %d", n_compression);
   43018             printf("\n");
   43019         }
   43020     }
   43021     }
   43022     }
   43023     function_tests++;
   43024 #endif
   43025 
   43026     return(test_ret);
   43027 }
   43028 
   43029 
   43030 static int
   43031 test_xmlTextWriterEndAttribute(void) {
   43032     int test_ret = 0;
   43033 
   43034 #if defined(LIBXML_WRITER_ENABLED)
   43035     int mem_base;
   43036     int ret_val;
   43037     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43038     int n_writer;
   43039 
   43040     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43041         mem_base = xmlMemBlocks();
   43042         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43043 
   43044         ret_val = xmlTextWriterEndAttribute(writer);
   43045         desret_int(ret_val);
   43046         call_tests++;
   43047         des_xmlTextWriterPtr(n_writer, writer, 0);
   43048         xmlResetLastError();
   43049         if (mem_base != xmlMemBlocks()) {
   43050             printf("Leak of %d blocks found in xmlTextWriterEndAttribute",
   43051 	           xmlMemBlocks() - mem_base);
   43052 	    test_ret++;
   43053             printf(" %d", n_writer);
   43054             printf("\n");
   43055         }
   43056     }
   43057     function_tests++;
   43058 #endif
   43059 
   43060     return(test_ret);
   43061 }
   43062 
   43063 
   43064 static int
   43065 test_xmlTextWriterEndCDATA(void) {
   43066     int test_ret = 0;
   43067 
   43068 #if defined(LIBXML_WRITER_ENABLED)
   43069     int mem_base;
   43070     int ret_val;
   43071     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43072     int n_writer;
   43073 
   43074     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43075         mem_base = xmlMemBlocks();
   43076         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43077 
   43078         ret_val = xmlTextWriterEndCDATA(writer);
   43079         desret_int(ret_val);
   43080         call_tests++;
   43081         des_xmlTextWriterPtr(n_writer, writer, 0);
   43082         xmlResetLastError();
   43083         if (mem_base != xmlMemBlocks()) {
   43084             printf("Leak of %d blocks found in xmlTextWriterEndCDATA",
   43085 	           xmlMemBlocks() - mem_base);
   43086 	    test_ret++;
   43087             printf(" %d", n_writer);
   43088             printf("\n");
   43089         }
   43090     }
   43091     function_tests++;
   43092 #endif
   43093 
   43094     return(test_ret);
   43095 }
   43096 
   43097 
   43098 static int
   43099 test_xmlTextWriterEndComment(void) {
   43100     int test_ret = 0;
   43101 
   43102 #if defined(LIBXML_WRITER_ENABLED)
   43103     int mem_base;
   43104     int ret_val;
   43105     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43106     int n_writer;
   43107 
   43108     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43109         mem_base = xmlMemBlocks();
   43110         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43111 
   43112         ret_val = xmlTextWriterEndComment(writer);
   43113         desret_int(ret_val);
   43114         call_tests++;
   43115         des_xmlTextWriterPtr(n_writer, writer, 0);
   43116         xmlResetLastError();
   43117         if (mem_base != xmlMemBlocks()) {
   43118             printf("Leak of %d blocks found in xmlTextWriterEndComment",
   43119 	           xmlMemBlocks() - mem_base);
   43120 	    test_ret++;
   43121             printf(" %d", n_writer);
   43122             printf("\n");
   43123         }
   43124     }
   43125     function_tests++;
   43126 #endif
   43127 
   43128     return(test_ret);
   43129 }
   43130 
   43131 
   43132 static int
   43133 test_xmlTextWriterEndDTD(void) {
   43134     int test_ret = 0;
   43135 
   43136 #if defined(LIBXML_WRITER_ENABLED)
   43137     int mem_base;
   43138     int ret_val;
   43139     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43140     int n_writer;
   43141 
   43142     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43143         mem_base = xmlMemBlocks();
   43144         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43145 
   43146         ret_val = xmlTextWriterEndDTD(writer);
   43147         desret_int(ret_val);
   43148         call_tests++;
   43149         des_xmlTextWriterPtr(n_writer, writer, 0);
   43150         xmlResetLastError();
   43151         if (mem_base != xmlMemBlocks()) {
   43152             printf("Leak of %d blocks found in xmlTextWriterEndDTD",
   43153 	           xmlMemBlocks() - mem_base);
   43154 	    test_ret++;
   43155             printf(" %d", n_writer);
   43156             printf("\n");
   43157         }
   43158     }
   43159     function_tests++;
   43160 #endif
   43161 
   43162     return(test_ret);
   43163 }
   43164 
   43165 
   43166 static int
   43167 test_xmlTextWriterEndDTDAttlist(void) {
   43168     int test_ret = 0;
   43169 
   43170 #if defined(LIBXML_WRITER_ENABLED)
   43171     int mem_base;
   43172     int ret_val;
   43173     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43174     int n_writer;
   43175 
   43176     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43177         mem_base = xmlMemBlocks();
   43178         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43179 
   43180         ret_val = xmlTextWriterEndDTDAttlist(writer);
   43181         desret_int(ret_val);
   43182         call_tests++;
   43183         des_xmlTextWriterPtr(n_writer, writer, 0);
   43184         xmlResetLastError();
   43185         if (mem_base != xmlMemBlocks()) {
   43186             printf("Leak of %d blocks found in xmlTextWriterEndDTDAttlist",
   43187 	           xmlMemBlocks() - mem_base);
   43188 	    test_ret++;
   43189             printf(" %d", n_writer);
   43190             printf("\n");
   43191         }
   43192     }
   43193     function_tests++;
   43194 #endif
   43195 
   43196     return(test_ret);
   43197 }
   43198 
   43199 
   43200 static int
   43201 test_xmlTextWriterEndDTDElement(void) {
   43202     int test_ret = 0;
   43203 
   43204 #if defined(LIBXML_WRITER_ENABLED)
   43205     int mem_base;
   43206     int ret_val;
   43207     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43208     int n_writer;
   43209 
   43210     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43211         mem_base = xmlMemBlocks();
   43212         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43213 
   43214         ret_val = xmlTextWriterEndDTDElement(writer);
   43215         desret_int(ret_val);
   43216         call_tests++;
   43217         des_xmlTextWriterPtr(n_writer, writer, 0);
   43218         xmlResetLastError();
   43219         if (mem_base != xmlMemBlocks()) {
   43220             printf("Leak of %d blocks found in xmlTextWriterEndDTDElement",
   43221 	           xmlMemBlocks() - mem_base);
   43222 	    test_ret++;
   43223             printf(" %d", n_writer);
   43224             printf("\n");
   43225         }
   43226     }
   43227     function_tests++;
   43228 #endif
   43229 
   43230     return(test_ret);
   43231 }
   43232 
   43233 
   43234 static int
   43235 test_xmlTextWriterEndDTDEntity(void) {
   43236     int test_ret = 0;
   43237 
   43238 #if defined(LIBXML_WRITER_ENABLED)
   43239     int mem_base;
   43240     int ret_val;
   43241     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43242     int n_writer;
   43243 
   43244     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43245         mem_base = xmlMemBlocks();
   43246         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43247 
   43248         ret_val = xmlTextWriterEndDTDEntity(writer);
   43249         desret_int(ret_val);
   43250         call_tests++;
   43251         des_xmlTextWriterPtr(n_writer, writer, 0);
   43252         xmlResetLastError();
   43253         if (mem_base != xmlMemBlocks()) {
   43254             printf("Leak of %d blocks found in xmlTextWriterEndDTDEntity",
   43255 	           xmlMemBlocks() - mem_base);
   43256 	    test_ret++;
   43257             printf(" %d", n_writer);
   43258             printf("\n");
   43259         }
   43260     }
   43261     function_tests++;
   43262 #endif
   43263 
   43264     return(test_ret);
   43265 }
   43266 
   43267 
   43268 static int
   43269 test_xmlTextWriterEndDocument(void) {
   43270     int test_ret = 0;
   43271 
   43272 #if defined(LIBXML_WRITER_ENABLED)
   43273     int mem_base;
   43274     int ret_val;
   43275     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43276     int n_writer;
   43277 
   43278     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43279         mem_base = xmlMemBlocks();
   43280         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43281 
   43282         ret_val = xmlTextWriterEndDocument(writer);
   43283         desret_int(ret_val);
   43284         call_tests++;
   43285         des_xmlTextWriterPtr(n_writer, writer, 0);
   43286         xmlResetLastError();
   43287         if (mem_base != xmlMemBlocks()) {
   43288             printf("Leak of %d blocks found in xmlTextWriterEndDocument",
   43289 	           xmlMemBlocks() - mem_base);
   43290 	    test_ret++;
   43291             printf(" %d", n_writer);
   43292             printf("\n");
   43293         }
   43294     }
   43295     function_tests++;
   43296 #endif
   43297 
   43298     return(test_ret);
   43299 }
   43300 
   43301 
   43302 static int
   43303 test_xmlTextWriterEndElement(void) {
   43304     int test_ret = 0;
   43305 
   43306 #if defined(LIBXML_WRITER_ENABLED)
   43307     int mem_base;
   43308     int ret_val;
   43309     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43310     int n_writer;
   43311 
   43312     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43313         mem_base = xmlMemBlocks();
   43314         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43315 
   43316         ret_val = xmlTextWriterEndElement(writer);
   43317         desret_int(ret_val);
   43318         call_tests++;
   43319         des_xmlTextWriterPtr(n_writer, writer, 0);
   43320         xmlResetLastError();
   43321         if (mem_base != xmlMemBlocks()) {
   43322             printf("Leak of %d blocks found in xmlTextWriterEndElement",
   43323 	           xmlMemBlocks() - mem_base);
   43324 	    test_ret++;
   43325             printf(" %d", n_writer);
   43326             printf("\n");
   43327         }
   43328     }
   43329     function_tests++;
   43330 #endif
   43331 
   43332     return(test_ret);
   43333 }
   43334 
   43335 
   43336 static int
   43337 test_xmlTextWriterEndPI(void) {
   43338     int test_ret = 0;
   43339 
   43340 #if defined(LIBXML_WRITER_ENABLED)
   43341     int mem_base;
   43342     int ret_val;
   43343     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43344     int n_writer;
   43345 
   43346     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43347         mem_base = xmlMemBlocks();
   43348         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43349 
   43350         ret_val = xmlTextWriterEndPI(writer);
   43351         desret_int(ret_val);
   43352         call_tests++;
   43353         des_xmlTextWriterPtr(n_writer, writer, 0);
   43354         xmlResetLastError();
   43355         if (mem_base != xmlMemBlocks()) {
   43356             printf("Leak of %d blocks found in xmlTextWriterEndPI",
   43357 	           xmlMemBlocks() - mem_base);
   43358 	    test_ret++;
   43359             printf(" %d", n_writer);
   43360             printf("\n");
   43361         }
   43362     }
   43363     function_tests++;
   43364 #endif
   43365 
   43366     return(test_ret);
   43367 }
   43368 
   43369 
   43370 static int
   43371 test_xmlTextWriterFlush(void) {
   43372     int test_ret = 0;
   43373 
   43374 #if defined(LIBXML_WRITER_ENABLED)
   43375     int mem_base;
   43376     int ret_val;
   43377     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43378     int n_writer;
   43379 
   43380     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43381         mem_base = xmlMemBlocks();
   43382         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43383 
   43384         ret_val = xmlTextWriterFlush(writer);
   43385         desret_int(ret_val);
   43386         call_tests++;
   43387         des_xmlTextWriterPtr(n_writer, writer, 0);
   43388         xmlResetLastError();
   43389         if (mem_base != xmlMemBlocks()) {
   43390             printf("Leak of %d blocks found in xmlTextWriterFlush",
   43391 	           xmlMemBlocks() - mem_base);
   43392 	    test_ret++;
   43393             printf(" %d", n_writer);
   43394             printf("\n");
   43395         }
   43396     }
   43397     function_tests++;
   43398 #endif
   43399 
   43400     return(test_ret);
   43401 }
   43402 
   43403 
   43404 static int
   43405 test_xmlTextWriterFullEndElement(void) {
   43406     int test_ret = 0;
   43407 
   43408 #if defined(LIBXML_WRITER_ENABLED)
   43409     int mem_base;
   43410     int ret_val;
   43411     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43412     int n_writer;
   43413 
   43414     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43415         mem_base = xmlMemBlocks();
   43416         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43417 
   43418         ret_val = xmlTextWriterFullEndElement(writer);
   43419         desret_int(ret_val);
   43420         call_tests++;
   43421         des_xmlTextWriterPtr(n_writer, writer, 0);
   43422         xmlResetLastError();
   43423         if (mem_base != xmlMemBlocks()) {
   43424             printf("Leak of %d blocks found in xmlTextWriterFullEndElement",
   43425 	           xmlMemBlocks() - mem_base);
   43426 	    test_ret++;
   43427             printf(" %d", n_writer);
   43428             printf("\n");
   43429         }
   43430     }
   43431     function_tests++;
   43432 #endif
   43433 
   43434     return(test_ret);
   43435 }
   43436 
   43437 
   43438 static int
   43439 test_xmlTextWriterSetIndent(void) {
   43440     int test_ret = 0;
   43441 
   43442 #if defined(LIBXML_WRITER_ENABLED)
   43443     int mem_base;
   43444     int ret_val;
   43445     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43446     int n_writer;
   43447     int indent; /* do indentation? */
   43448     int n_indent;
   43449 
   43450     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43451     for (n_indent = 0;n_indent < gen_nb_int;n_indent++) {
   43452         mem_base = xmlMemBlocks();
   43453         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43454         indent = gen_int(n_indent, 1);
   43455 
   43456         ret_val = xmlTextWriterSetIndent(writer, indent);
   43457         desret_int(ret_val);
   43458         call_tests++;
   43459         des_xmlTextWriterPtr(n_writer, writer, 0);
   43460         des_int(n_indent, indent, 1);
   43461         xmlResetLastError();
   43462         if (mem_base != xmlMemBlocks()) {
   43463             printf("Leak of %d blocks found in xmlTextWriterSetIndent",
   43464 	           xmlMemBlocks() - mem_base);
   43465 	    test_ret++;
   43466             printf(" %d", n_writer);
   43467             printf(" %d", n_indent);
   43468             printf("\n");
   43469         }
   43470     }
   43471     }
   43472     function_tests++;
   43473 #endif
   43474 
   43475     return(test_ret);
   43476 }
   43477 
   43478 
   43479 static int
   43480 test_xmlTextWriterSetIndentString(void) {
   43481     int test_ret = 0;
   43482 
   43483 #if defined(LIBXML_WRITER_ENABLED)
   43484     int mem_base;
   43485     int ret_val;
   43486     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43487     int n_writer;
   43488     xmlChar * str; /* the xmlChar string */
   43489     int n_str;
   43490 
   43491     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43492     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   43493         mem_base = xmlMemBlocks();
   43494         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43495         str = gen_const_xmlChar_ptr(n_str, 1);
   43496 
   43497         ret_val = xmlTextWriterSetIndentString(writer, (const xmlChar *)str);
   43498         desret_int(ret_val);
   43499         call_tests++;
   43500         des_xmlTextWriterPtr(n_writer, writer, 0);
   43501         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 1);
   43502         xmlResetLastError();
   43503         if (mem_base != xmlMemBlocks()) {
   43504             printf("Leak of %d blocks found in xmlTextWriterSetIndentString",
   43505 	           xmlMemBlocks() - mem_base);
   43506 	    test_ret++;
   43507             printf(" %d", n_writer);
   43508             printf(" %d", n_str);
   43509             printf("\n");
   43510         }
   43511     }
   43512     }
   43513     function_tests++;
   43514 #endif
   43515 
   43516     return(test_ret);
   43517 }
   43518 
   43519 
   43520 static int
   43521 test_xmlTextWriterStartAttribute(void) {
   43522     int test_ret = 0;
   43523 
   43524 #if defined(LIBXML_WRITER_ENABLED)
   43525     int mem_base;
   43526     int ret_val;
   43527     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43528     int n_writer;
   43529     xmlChar * name; /* element name */
   43530     int n_name;
   43531 
   43532     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43533     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43534         mem_base = xmlMemBlocks();
   43535         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43536         name = gen_const_xmlChar_ptr(n_name, 1);
   43537 
   43538         ret_val = xmlTextWriterStartAttribute(writer, (const xmlChar *)name);
   43539         desret_int(ret_val);
   43540         call_tests++;
   43541         des_xmlTextWriterPtr(n_writer, writer, 0);
   43542         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   43543         xmlResetLastError();
   43544         if (mem_base != xmlMemBlocks()) {
   43545             printf("Leak of %d blocks found in xmlTextWriterStartAttribute",
   43546 	           xmlMemBlocks() - mem_base);
   43547 	    test_ret++;
   43548             printf(" %d", n_writer);
   43549             printf(" %d", n_name);
   43550             printf("\n");
   43551         }
   43552     }
   43553     }
   43554     function_tests++;
   43555 #endif
   43556 
   43557     return(test_ret);
   43558 }
   43559 
   43560 
   43561 static int
   43562 test_xmlTextWriterStartAttributeNS(void) {
   43563     int test_ret = 0;
   43564 
   43565 #if defined(LIBXML_WRITER_ENABLED)
   43566     int mem_base;
   43567     int ret_val;
   43568     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43569     int n_writer;
   43570     xmlChar * prefix; /* namespace prefix or NULL */
   43571     int n_prefix;
   43572     xmlChar * name; /* element local name */
   43573     int n_name;
   43574     xmlChar * namespaceURI; /* namespace URI or NULL */
   43575     int n_namespaceURI;
   43576 
   43577     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43578     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   43579     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43580     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
   43581         mem_base = xmlMemBlocks();
   43582         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43583         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   43584         name = gen_const_xmlChar_ptr(n_name, 2);
   43585         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
   43586 
   43587         ret_val = xmlTextWriterStartAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
   43588         desret_int(ret_val);
   43589         call_tests++;
   43590         des_xmlTextWriterPtr(n_writer, writer, 0);
   43591         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   43592         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   43593         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
   43594         xmlResetLastError();
   43595         if (mem_base != xmlMemBlocks()) {
   43596             printf("Leak of %d blocks found in xmlTextWriterStartAttributeNS",
   43597 	           xmlMemBlocks() - mem_base);
   43598 	    test_ret++;
   43599             printf(" %d", n_writer);
   43600             printf(" %d", n_prefix);
   43601             printf(" %d", n_name);
   43602             printf(" %d", n_namespaceURI);
   43603             printf("\n");
   43604         }
   43605     }
   43606     }
   43607     }
   43608     }
   43609     function_tests++;
   43610 #endif
   43611 
   43612     return(test_ret);
   43613 }
   43614 
   43615 
   43616 static int
   43617 test_xmlTextWriterStartCDATA(void) {
   43618     int test_ret = 0;
   43619 
   43620 #if defined(LIBXML_WRITER_ENABLED)
   43621     int mem_base;
   43622     int ret_val;
   43623     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43624     int n_writer;
   43625 
   43626     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43627         mem_base = xmlMemBlocks();
   43628         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43629 
   43630         ret_val = xmlTextWriterStartCDATA(writer);
   43631         desret_int(ret_val);
   43632         call_tests++;
   43633         des_xmlTextWriterPtr(n_writer, writer, 0);
   43634         xmlResetLastError();
   43635         if (mem_base != xmlMemBlocks()) {
   43636             printf("Leak of %d blocks found in xmlTextWriterStartCDATA",
   43637 	           xmlMemBlocks() - mem_base);
   43638 	    test_ret++;
   43639             printf(" %d", n_writer);
   43640             printf("\n");
   43641         }
   43642     }
   43643     function_tests++;
   43644 #endif
   43645 
   43646     return(test_ret);
   43647 }
   43648 
   43649 
   43650 static int
   43651 test_xmlTextWriterStartComment(void) {
   43652     int test_ret = 0;
   43653 
   43654 #if defined(LIBXML_WRITER_ENABLED)
   43655     int mem_base;
   43656     int ret_val;
   43657     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43658     int n_writer;
   43659 
   43660     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43661         mem_base = xmlMemBlocks();
   43662         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43663 
   43664         ret_val = xmlTextWriterStartComment(writer);
   43665         desret_int(ret_val);
   43666         call_tests++;
   43667         des_xmlTextWriterPtr(n_writer, writer, 0);
   43668         xmlResetLastError();
   43669         if (mem_base != xmlMemBlocks()) {
   43670             printf("Leak of %d blocks found in xmlTextWriterStartComment",
   43671 	           xmlMemBlocks() - mem_base);
   43672 	    test_ret++;
   43673             printf(" %d", n_writer);
   43674             printf("\n");
   43675         }
   43676     }
   43677     function_tests++;
   43678 #endif
   43679 
   43680     return(test_ret);
   43681 }
   43682 
   43683 
   43684 static int
   43685 test_xmlTextWriterStartDTD(void) {
   43686     int test_ret = 0;
   43687 
   43688 #if defined(LIBXML_WRITER_ENABLED)
   43689     int mem_base;
   43690     int ret_val;
   43691     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43692     int n_writer;
   43693     xmlChar * name; /* the name of the DTD */
   43694     int n_name;
   43695     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
   43696     int n_pubid;
   43697     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
   43698     int n_sysid;
   43699 
   43700     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43701     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43702     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
   43703     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
   43704         mem_base = xmlMemBlocks();
   43705         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43706         name = gen_const_xmlChar_ptr(n_name, 1);
   43707         pubid = gen_const_xmlChar_ptr(n_pubid, 2);
   43708         sysid = gen_const_xmlChar_ptr(n_sysid, 3);
   43709 
   43710         ret_val = xmlTextWriterStartDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
   43711         desret_int(ret_val);
   43712         call_tests++;
   43713         des_xmlTextWriterPtr(n_writer, writer, 0);
   43714         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   43715         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
   43716         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
   43717         xmlResetLastError();
   43718         if (mem_base != xmlMemBlocks()) {
   43719             printf("Leak of %d blocks found in xmlTextWriterStartDTD",
   43720 	           xmlMemBlocks() - mem_base);
   43721 	    test_ret++;
   43722             printf(" %d", n_writer);
   43723             printf(" %d", n_name);
   43724             printf(" %d", n_pubid);
   43725             printf(" %d", n_sysid);
   43726             printf("\n");
   43727         }
   43728     }
   43729     }
   43730     }
   43731     }
   43732     function_tests++;
   43733 #endif
   43734 
   43735     return(test_ret);
   43736 }
   43737 
   43738 
   43739 static int
   43740 test_xmlTextWriterStartDTDAttlist(void) {
   43741     int test_ret = 0;
   43742 
   43743 #if defined(LIBXML_WRITER_ENABLED)
   43744     int mem_base;
   43745     int ret_val;
   43746     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43747     int n_writer;
   43748     xmlChar * name; /* the name of the DTD ATTLIST */
   43749     int n_name;
   43750 
   43751     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43752     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43753         mem_base = xmlMemBlocks();
   43754         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43755         name = gen_const_xmlChar_ptr(n_name, 1);
   43756 
   43757         ret_val = xmlTextWriterStartDTDAttlist(writer, (const xmlChar *)name);
   43758         desret_int(ret_val);
   43759         call_tests++;
   43760         des_xmlTextWriterPtr(n_writer, writer, 0);
   43761         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   43762         xmlResetLastError();
   43763         if (mem_base != xmlMemBlocks()) {
   43764             printf("Leak of %d blocks found in xmlTextWriterStartDTDAttlist",
   43765 	           xmlMemBlocks() - mem_base);
   43766 	    test_ret++;
   43767             printf(" %d", n_writer);
   43768             printf(" %d", n_name);
   43769             printf("\n");
   43770         }
   43771     }
   43772     }
   43773     function_tests++;
   43774 #endif
   43775 
   43776     return(test_ret);
   43777 }
   43778 
   43779 
   43780 static int
   43781 test_xmlTextWriterStartDTDElement(void) {
   43782     int test_ret = 0;
   43783 
   43784 #if defined(LIBXML_WRITER_ENABLED)
   43785     int mem_base;
   43786     int ret_val;
   43787     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43788     int n_writer;
   43789     xmlChar * name; /* the name of the DTD element */
   43790     int n_name;
   43791 
   43792     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43793     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43794         mem_base = xmlMemBlocks();
   43795         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43796         name = gen_const_xmlChar_ptr(n_name, 1);
   43797 
   43798         ret_val = xmlTextWriterStartDTDElement(writer, (const xmlChar *)name);
   43799         desret_int(ret_val);
   43800         call_tests++;
   43801         des_xmlTextWriterPtr(n_writer, writer, 0);
   43802         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   43803         xmlResetLastError();
   43804         if (mem_base != xmlMemBlocks()) {
   43805             printf("Leak of %d blocks found in xmlTextWriterStartDTDElement",
   43806 	           xmlMemBlocks() - mem_base);
   43807 	    test_ret++;
   43808             printf(" %d", n_writer);
   43809             printf(" %d", n_name);
   43810             printf("\n");
   43811         }
   43812     }
   43813     }
   43814     function_tests++;
   43815 #endif
   43816 
   43817     return(test_ret);
   43818 }
   43819 
   43820 
   43821 static int
   43822 test_xmlTextWriterStartDTDEntity(void) {
   43823     int test_ret = 0;
   43824 
   43825 #if defined(LIBXML_WRITER_ENABLED)
   43826     int mem_base;
   43827     int ret_val;
   43828     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43829     int n_writer;
   43830     int pe; /* TRUE if this is a parameter entity, FALSE if not */
   43831     int n_pe;
   43832     xmlChar * name; /* the name of the DTD ATTLIST */
   43833     int n_name;
   43834 
   43835     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43836     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
   43837     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43838         mem_base = xmlMemBlocks();
   43839         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43840         pe = gen_int(n_pe, 1);
   43841         name = gen_const_xmlChar_ptr(n_name, 2);
   43842 
   43843         ret_val = xmlTextWriterStartDTDEntity(writer, pe, (const xmlChar *)name);
   43844         desret_int(ret_val);
   43845         call_tests++;
   43846         des_xmlTextWriterPtr(n_writer, writer, 0);
   43847         des_int(n_pe, pe, 1);
   43848         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   43849         xmlResetLastError();
   43850         if (mem_base != xmlMemBlocks()) {
   43851             printf("Leak of %d blocks found in xmlTextWriterStartDTDEntity",
   43852 	           xmlMemBlocks() - mem_base);
   43853 	    test_ret++;
   43854             printf(" %d", n_writer);
   43855             printf(" %d", n_pe);
   43856             printf(" %d", n_name);
   43857             printf("\n");
   43858         }
   43859     }
   43860     }
   43861     }
   43862     function_tests++;
   43863 #endif
   43864 
   43865     return(test_ret);
   43866 }
   43867 
   43868 
   43869 static int
   43870 test_xmlTextWriterStartDocument(void) {
   43871     int test_ret = 0;
   43872 
   43873 #if defined(LIBXML_WRITER_ENABLED)
   43874     int mem_base;
   43875     int ret_val;
   43876     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43877     int n_writer;
   43878     char * version; /* the xml version ("1.0") or NULL for default ("1.0") */
   43879     int n_version;
   43880     char * encoding; /* the encoding or NULL for default */
   43881     int n_encoding;
   43882     char * standalone; /* "yes" or "no" or NULL for default */
   43883     int n_standalone;
   43884 
   43885     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43886     for (n_version = 0;n_version < gen_nb_const_char_ptr;n_version++) {
   43887     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
   43888     for (n_standalone = 0;n_standalone < gen_nb_const_char_ptr;n_standalone++) {
   43889         mem_base = xmlMemBlocks();
   43890         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43891         version = gen_const_char_ptr(n_version, 1);
   43892         encoding = gen_const_char_ptr(n_encoding, 2);
   43893         standalone = gen_const_char_ptr(n_standalone, 3);
   43894 
   43895         ret_val = xmlTextWriterStartDocument(writer, (const char *)version, (const char *)encoding, (const char *)standalone);
   43896         desret_int(ret_val);
   43897         call_tests++;
   43898         des_xmlTextWriterPtr(n_writer, writer, 0);
   43899         des_const_char_ptr(n_version, (const char *)version, 1);
   43900         des_const_char_ptr(n_encoding, (const char *)encoding, 2);
   43901         des_const_char_ptr(n_standalone, (const char *)standalone, 3);
   43902         xmlResetLastError();
   43903         if (mem_base != xmlMemBlocks()) {
   43904             printf("Leak of %d blocks found in xmlTextWriterStartDocument",
   43905 	           xmlMemBlocks() - mem_base);
   43906 	    test_ret++;
   43907             printf(" %d", n_writer);
   43908             printf(" %d", n_version);
   43909             printf(" %d", n_encoding);
   43910             printf(" %d", n_standalone);
   43911             printf("\n");
   43912         }
   43913     }
   43914     }
   43915     }
   43916     }
   43917     function_tests++;
   43918 #endif
   43919 
   43920     return(test_ret);
   43921 }
   43922 
   43923 
   43924 static int
   43925 test_xmlTextWriterStartElement(void) {
   43926     int test_ret = 0;
   43927 
   43928 #if defined(LIBXML_WRITER_ENABLED)
   43929     int mem_base;
   43930     int ret_val;
   43931     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43932     int n_writer;
   43933     xmlChar * name; /* element name */
   43934     int n_name;
   43935 
   43936     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43937     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43938         mem_base = xmlMemBlocks();
   43939         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43940         name = gen_const_xmlChar_ptr(n_name, 1);
   43941 
   43942         ret_val = xmlTextWriterStartElement(writer, (const xmlChar *)name);
   43943         desret_int(ret_val);
   43944         call_tests++;
   43945         des_xmlTextWriterPtr(n_writer, writer, 0);
   43946         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   43947         xmlResetLastError();
   43948         if (mem_base != xmlMemBlocks()) {
   43949             printf("Leak of %d blocks found in xmlTextWriterStartElement",
   43950 	           xmlMemBlocks() - mem_base);
   43951 	    test_ret++;
   43952             printf(" %d", n_writer);
   43953             printf(" %d", n_name);
   43954             printf("\n");
   43955         }
   43956     }
   43957     }
   43958     function_tests++;
   43959 #endif
   43960 
   43961     return(test_ret);
   43962 }
   43963 
   43964 
   43965 static int
   43966 test_xmlTextWriterStartElementNS(void) {
   43967     int test_ret = 0;
   43968 
   43969 #if defined(LIBXML_WRITER_ENABLED)
   43970     int mem_base;
   43971     int ret_val;
   43972     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   43973     int n_writer;
   43974     xmlChar * prefix; /* namespace prefix or NULL */
   43975     int n_prefix;
   43976     xmlChar * name; /* element local name */
   43977     int n_name;
   43978     xmlChar * namespaceURI; /* namespace URI or NULL */
   43979     int n_namespaceURI;
   43980 
   43981     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   43982     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   43983     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   43984     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
   43985         mem_base = xmlMemBlocks();
   43986         writer = gen_xmlTextWriterPtr(n_writer, 0);
   43987         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   43988         name = gen_const_xmlChar_ptr(n_name, 2);
   43989         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
   43990 
   43991         ret_val = xmlTextWriterStartElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI);
   43992         desret_int(ret_val);
   43993         call_tests++;
   43994         des_xmlTextWriterPtr(n_writer, writer, 0);
   43995         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   43996         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   43997         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
   43998         xmlResetLastError();
   43999         if (mem_base != xmlMemBlocks()) {
   44000             printf("Leak of %d blocks found in xmlTextWriterStartElementNS",
   44001 	           xmlMemBlocks() - mem_base);
   44002 	    test_ret++;
   44003             printf(" %d", n_writer);
   44004             printf(" %d", n_prefix);
   44005             printf(" %d", n_name);
   44006             printf(" %d", n_namespaceURI);
   44007             printf("\n");
   44008         }
   44009     }
   44010     }
   44011     }
   44012     }
   44013     function_tests++;
   44014 #endif
   44015 
   44016     return(test_ret);
   44017 }
   44018 
   44019 
   44020 static int
   44021 test_xmlTextWriterStartPI(void) {
   44022     int test_ret = 0;
   44023 
   44024 #if defined(LIBXML_WRITER_ENABLED)
   44025     int mem_base;
   44026     int ret_val;
   44027     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44028     int n_writer;
   44029     xmlChar * target; /* PI target */
   44030     int n_target;
   44031 
   44032     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44033     for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
   44034         mem_base = xmlMemBlocks();
   44035         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44036         target = gen_const_xmlChar_ptr(n_target, 1);
   44037 
   44038         ret_val = xmlTextWriterStartPI(writer, (const xmlChar *)target);
   44039         desret_int(ret_val);
   44040         call_tests++;
   44041         des_xmlTextWriterPtr(n_writer, writer, 0);
   44042         des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
   44043         xmlResetLastError();
   44044         if (mem_base != xmlMemBlocks()) {
   44045             printf("Leak of %d blocks found in xmlTextWriterStartPI",
   44046 	           xmlMemBlocks() - mem_base);
   44047 	    test_ret++;
   44048             printf(" %d", n_writer);
   44049             printf(" %d", n_target);
   44050             printf("\n");
   44051         }
   44052     }
   44053     }
   44054     function_tests++;
   44055 #endif
   44056 
   44057     return(test_ret);
   44058 }
   44059 
   44060 
   44061 static int
   44062 test_xmlTextWriterWriteAttribute(void) {
   44063     int test_ret = 0;
   44064 
   44065 #if defined(LIBXML_WRITER_ENABLED)
   44066     int mem_base;
   44067     int ret_val;
   44068     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44069     int n_writer;
   44070     xmlChar * name; /* attribute name */
   44071     int n_name;
   44072     xmlChar * content; /* attribute content */
   44073     int n_content;
   44074 
   44075     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44076     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44077     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44078         mem_base = xmlMemBlocks();
   44079         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44080         name = gen_const_xmlChar_ptr(n_name, 1);
   44081         content = gen_const_xmlChar_ptr(n_content, 2);
   44082 
   44083         ret_val = xmlTextWriterWriteAttribute(writer, (const xmlChar *)name, (const xmlChar *)content);
   44084         desret_int(ret_val);
   44085         call_tests++;
   44086         des_xmlTextWriterPtr(n_writer, writer, 0);
   44087         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   44088         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
   44089         xmlResetLastError();
   44090         if (mem_base != xmlMemBlocks()) {
   44091             printf("Leak of %d blocks found in xmlTextWriterWriteAttribute",
   44092 	           xmlMemBlocks() - mem_base);
   44093 	    test_ret++;
   44094             printf(" %d", n_writer);
   44095             printf(" %d", n_name);
   44096             printf(" %d", n_content);
   44097             printf("\n");
   44098         }
   44099     }
   44100     }
   44101     }
   44102     function_tests++;
   44103 #endif
   44104 
   44105     return(test_ret);
   44106 }
   44107 
   44108 
   44109 static int
   44110 test_xmlTextWriterWriteAttributeNS(void) {
   44111     int test_ret = 0;
   44112 
   44113 #if defined(LIBXML_WRITER_ENABLED)
   44114     int mem_base;
   44115     int ret_val;
   44116     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44117     int n_writer;
   44118     xmlChar * prefix; /* namespace prefix */
   44119     int n_prefix;
   44120     xmlChar * name; /* attribute local name */
   44121     int n_name;
   44122     xmlChar * namespaceURI; /* namespace URI */
   44123     int n_namespaceURI;
   44124     xmlChar * content; /* attribute content */
   44125     int n_content;
   44126 
   44127     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44128     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   44129     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44130     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
   44131     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44132         mem_base = xmlMemBlocks();
   44133         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44134         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   44135         name = gen_const_xmlChar_ptr(n_name, 2);
   44136         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
   44137         content = gen_const_xmlChar_ptr(n_content, 4);
   44138 
   44139         ret_val = xmlTextWriterWriteAttributeNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
   44140         desret_int(ret_val);
   44141         call_tests++;
   44142         des_xmlTextWriterPtr(n_writer, writer, 0);
   44143         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   44144         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   44145         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
   44146         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
   44147         xmlResetLastError();
   44148         if (mem_base != xmlMemBlocks()) {
   44149             printf("Leak of %d blocks found in xmlTextWriterWriteAttributeNS",
   44150 	           xmlMemBlocks() - mem_base);
   44151 	    test_ret++;
   44152             printf(" %d", n_writer);
   44153             printf(" %d", n_prefix);
   44154             printf(" %d", n_name);
   44155             printf(" %d", n_namespaceURI);
   44156             printf(" %d", n_content);
   44157             printf("\n");
   44158         }
   44159     }
   44160     }
   44161     }
   44162     }
   44163     }
   44164     function_tests++;
   44165 #endif
   44166 
   44167     return(test_ret);
   44168 }
   44169 
   44170 
   44171 static int
   44172 test_xmlTextWriterWriteBase64(void) {
   44173     int test_ret = 0;
   44174 
   44175 #if defined(LIBXML_WRITER_ENABLED)
   44176     int mem_base;
   44177     int ret_val;
   44178     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44179     int n_writer;
   44180     char * data; /* binary data */
   44181     int n_data;
   44182     int start; /* the position within the data of the first byte to encode */
   44183     int n_start;
   44184     int len; /* the number of bytes to encode */
   44185     int n_len;
   44186 
   44187     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44188     for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
   44189     for (n_start = 0;n_start < gen_nb_int;n_start++) {
   44190     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   44191         mem_base = xmlMemBlocks();
   44192         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44193         data = gen_const_char_ptr(n_data, 1);
   44194         start = gen_int(n_start, 2);
   44195         len = gen_int(n_len, 3);
   44196 
   44197         ret_val = xmlTextWriterWriteBase64(writer, (const char *)data, start, len);
   44198         desret_int(ret_val);
   44199         call_tests++;
   44200         des_xmlTextWriterPtr(n_writer, writer, 0);
   44201         des_const_char_ptr(n_data, (const char *)data, 1);
   44202         des_int(n_start, start, 2);
   44203         des_int(n_len, len, 3);
   44204         xmlResetLastError();
   44205         if (mem_base != xmlMemBlocks()) {
   44206             printf("Leak of %d blocks found in xmlTextWriterWriteBase64",
   44207 	           xmlMemBlocks() - mem_base);
   44208 	    test_ret++;
   44209             printf(" %d", n_writer);
   44210             printf(" %d", n_data);
   44211             printf(" %d", n_start);
   44212             printf(" %d", n_len);
   44213             printf("\n");
   44214         }
   44215     }
   44216     }
   44217     }
   44218     }
   44219     function_tests++;
   44220 #endif
   44221 
   44222     return(test_ret);
   44223 }
   44224 
   44225 
   44226 static int
   44227 test_xmlTextWriterWriteBinHex(void) {
   44228     int test_ret = 0;
   44229 
   44230 #if defined(LIBXML_WRITER_ENABLED)
   44231     int mem_base;
   44232     int ret_val;
   44233     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44234     int n_writer;
   44235     char * data; /* binary data */
   44236     int n_data;
   44237     int start; /* the position within the data of the first byte to encode */
   44238     int n_start;
   44239     int len; /* the number of bytes to encode */
   44240     int n_len;
   44241 
   44242     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44243     for (n_data = 0;n_data < gen_nb_const_char_ptr;n_data++) {
   44244     for (n_start = 0;n_start < gen_nb_int;n_start++) {
   44245     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   44246         mem_base = xmlMemBlocks();
   44247         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44248         data = gen_const_char_ptr(n_data, 1);
   44249         start = gen_int(n_start, 2);
   44250         len = gen_int(n_len, 3);
   44251 
   44252         ret_val = xmlTextWriterWriteBinHex(writer, (const char *)data, start, len);
   44253         desret_int(ret_val);
   44254         call_tests++;
   44255         des_xmlTextWriterPtr(n_writer, writer, 0);
   44256         des_const_char_ptr(n_data, (const char *)data, 1);
   44257         des_int(n_start, start, 2);
   44258         des_int(n_len, len, 3);
   44259         xmlResetLastError();
   44260         if (mem_base != xmlMemBlocks()) {
   44261             printf("Leak of %d blocks found in xmlTextWriterWriteBinHex",
   44262 	           xmlMemBlocks() - mem_base);
   44263 	    test_ret++;
   44264             printf(" %d", n_writer);
   44265             printf(" %d", n_data);
   44266             printf(" %d", n_start);
   44267             printf(" %d", n_len);
   44268             printf("\n");
   44269         }
   44270     }
   44271     }
   44272     }
   44273     }
   44274     function_tests++;
   44275 #endif
   44276 
   44277     return(test_ret);
   44278 }
   44279 
   44280 
   44281 static int
   44282 test_xmlTextWriterWriteCDATA(void) {
   44283     int test_ret = 0;
   44284 
   44285 #if defined(LIBXML_WRITER_ENABLED)
   44286     int mem_base;
   44287     int ret_val;
   44288     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44289     int n_writer;
   44290     xmlChar * content; /* CDATA content */
   44291     int n_content;
   44292 
   44293     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44294     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44295         mem_base = xmlMemBlocks();
   44296         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44297         content = gen_const_xmlChar_ptr(n_content, 1);
   44298 
   44299         ret_val = xmlTextWriterWriteCDATA(writer, (const xmlChar *)content);
   44300         desret_int(ret_val);
   44301         call_tests++;
   44302         des_xmlTextWriterPtr(n_writer, writer, 0);
   44303         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   44304         xmlResetLastError();
   44305         if (mem_base != xmlMemBlocks()) {
   44306             printf("Leak of %d blocks found in xmlTextWriterWriteCDATA",
   44307 	           xmlMemBlocks() - mem_base);
   44308 	    test_ret++;
   44309             printf(" %d", n_writer);
   44310             printf(" %d", n_content);
   44311             printf("\n");
   44312         }
   44313     }
   44314     }
   44315     function_tests++;
   44316 #endif
   44317 
   44318     return(test_ret);
   44319 }
   44320 
   44321 
   44322 static int
   44323 test_xmlTextWriterWriteComment(void) {
   44324     int test_ret = 0;
   44325 
   44326 #if defined(LIBXML_WRITER_ENABLED)
   44327     int mem_base;
   44328     int ret_val;
   44329     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44330     int n_writer;
   44331     xmlChar * content; /* comment string */
   44332     int n_content;
   44333 
   44334     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44335     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44336         mem_base = xmlMemBlocks();
   44337         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44338         content = gen_const_xmlChar_ptr(n_content, 1);
   44339 
   44340         ret_val = xmlTextWriterWriteComment(writer, (const xmlChar *)content);
   44341         desret_int(ret_val);
   44342         call_tests++;
   44343         des_xmlTextWriterPtr(n_writer, writer, 0);
   44344         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   44345         xmlResetLastError();
   44346         if (mem_base != xmlMemBlocks()) {
   44347             printf("Leak of %d blocks found in xmlTextWriterWriteComment",
   44348 	           xmlMemBlocks() - mem_base);
   44349 	    test_ret++;
   44350             printf(" %d", n_writer);
   44351             printf(" %d", n_content);
   44352             printf("\n");
   44353         }
   44354     }
   44355     }
   44356     function_tests++;
   44357 #endif
   44358 
   44359     return(test_ret);
   44360 }
   44361 
   44362 
   44363 static int
   44364 test_xmlTextWriterWriteDTD(void) {
   44365     int test_ret = 0;
   44366 
   44367 #if defined(LIBXML_WRITER_ENABLED)
   44368     int mem_base;
   44369     int ret_val;
   44370     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44371     int n_writer;
   44372     xmlChar * name; /* the name of the DTD */
   44373     int n_name;
   44374     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
   44375     int n_pubid;
   44376     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
   44377     int n_sysid;
   44378     xmlChar * subset; /* string content of the DTD */
   44379     int n_subset;
   44380 
   44381     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44382     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44383     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
   44384     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
   44385     for (n_subset = 0;n_subset < gen_nb_const_xmlChar_ptr;n_subset++) {
   44386         mem_base = xmlMemBlocks();
   44387         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44388         name = gen_const_xmlChar_ptr(n_name, 1);
   44389         pubid = gen_const_xmlChar_ptr(n_pubid, 2);
   44390         sysid = gen_const_xmlChar_ptr(n_sysid, 3);
   44391         subset = gen_const_xmlChar_ptr(n_subset, 4);
   44392 
   44393         ret_val = xmlTextWriterWriteDTD(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)subset);
   44394         desret_int(ret_val);
   44395         call_tests++;
   44396         des_xmlTextWriterPtr(n_writer, writer, 0);
   44397         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   44398         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
   44399         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
   44400         des_const_xmlChar_ptr(n_subset, (const xmlChar *)subset, 4);
   44401         xmlResetLastError();
   44402         if (mem_base != xmlMemBlocks()) {
   44403             printf("Leak of %d blocks found in xmlTextWriterWriteDTD",
   44404 	           xmlMemBlocks() - mem_base);
   44405 	    test_ret++;
   44406             printf(" %d", n_writer);
   44407             printf(" %d", n_name);
   44408             printf(" %d", n_pubid);
   44409             printf(" %d", n_sysid);
   44410             printf(" %d", n_subset);
   44411             printf("\n");
   44412         }
   44413     }
   44414     }
   44415     }
   44416     }
   44417     }
   44418     function_tests++;
   44419 #endif
   44420 
   44421     return(test_ret);
   44422 }
   44423 
   44424 
   44425 static int
   44426 test_xmlTextWriterWriteDTDAttlist(void) {
   44427     int test_ret = 0;
   44428 
   44429 #if defined(LIBXML_WRITER_ENABLED)
   44430     int mem_base;
   44431     int ret_val;
   44432     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44433     int n_writer;
   44434     xmlChar * name; /* the name of the DTD ATTLIST */
   44435     int n_name;
   44436     xmlChar * content; /* content of the ATTLIST */
   44437     int n_content;
   44438 
   44439     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44440     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44441     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44442         mem_base = xmlMemBlocks();
   44443         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44444         name = gen_const_xmlChar_ptr(n_name, 1);
   44445         content = gen_const_xmlChar_ptr(n_content, 2);
   44446 
   44447         ret_val = xmlTextWriterWriteDTDAttlist(writer, (const xmlChar *)name, (const xmlChar *)content);
   44448         desret_int(ret_val);
   44449         call_tests++;
   44450         des_xmlTextWriterPtr(n_writer, writer, 0);
   44451         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   44452         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
   44453         xmlResetLastError();
   44454         if (mem_base != xmlMemBlocks()) {
   44455             printf("Leak of %d blocks found in xmlTextWriterWriteDTDAttlist",
   44456 	           xmlMemBlocks() - mem_base);
   44457 	    test_ret++;
   44458             printf(" %d", n_writer);
   44459             printf(" %d", n_name);
   44460             printf(" %d", n_content);
   44461             printf("\n");
   44462         }
   44463     }
   44464     }
   44465     }
   44466     function_tests++;
   44467 #endif
   44468 
   44469     return(test_ret);
   44470 }
   44471 
   44472 
   44473 static int
   44474 test_xmlTextWriterWriteDTDElement(void) {
   44475     int test_ret = 0;
   44476 
   44477 #if defined(LIBXML_WRITER_ENABLED)
   44478     int mem_base;
   44479     int ret_val;
   44480     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44481     int n_writer;
   44482     xmlChar * name; /* the name of the DTD element */
   44483     int n_name;
   44484     xmlChar * content; /* content of the element */
   44485     int n_content;
   44486 
   44487     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44488     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44489     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44490         mem_base = xmlMemBlocks();
   44491         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44492         name = gen_const_xmlChar_ptr(n_name, 1);
   44493         content = gen_const_xmlChar_ptr(n_content, 2);
   44494 
   44495         ret_val = xmlTextWriterWriteDTDElement(writer, (const xmlChar *)name, (const xmlChar *)content);
   44496         desret_int(ret_val);
   44497         call_tests++;
   44498         des_xmlTextWriterPtr(n_writer, writer, 0);
   44499         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   44500         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
   44501         xmlResetLastError();
   44502         if (mem_base != xmlMemBlocks()) {
   44503             printf("Leak of %d blocks found in xmlTextWriterWriteDTDElement",
   44504 	           xmlMemBlocks() - mem_base);
   44505 	    test_ret++;
   44506             printf(" %d", n_writer);
   44507             printf(" %d", n_name);
   44508             printf(" %d", n_content);
   44509             printf("\n");
   44510         }
   44511     }
   44512     }
   44513     }
   44514     function_tests++;
   44515 #endif
   44516 
   44517     return(test_ret);
   44518 }
   44519 
   44520 
   44521 static int
   44522 test_xmlTextWriterWriteDTDEntity(void) {
   44523     int test_ret = 0;
   44524 
   44525 #if defined(LIBXML_WRITER_ENABLED)
   44526     int mem_base;
   44527     int ret_val;
   44528     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44529     int n_writer;
   44530     int pe; /* TRUE if this is a parameter entity, FALSE if not */
   44531     int n_pe;
   44532     xmlChar * name; /* the name of the DTD entity */
   44533     int n_name;
   44534     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
   44535     int n_pubid;
   44536     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
   44537     int n_sysid;
   44538     xmlChar * ndataid; /* the xml notation name. */
   44539     int n_ndataid;
   44540     xmlChar * content; /* content of the entity */
   44541     int n_content;
   44542 
   44543     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44544     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
   44545     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44546     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
   44547     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
   44548     for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
   44549     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44550         mem_base = xmlMemBlocks();
   44551         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44552         pe = gen_int(n_pe, 1);
   44553         name = gen_const_xmlChar_ptr(n_name, 2);
   44554         pubid = gen_const_xmlChar_ptr(n_pubid, 3);
   44555         sysid = gen_const_xmlChar_ptr(n_sysid, 4);
   44556         ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
   44557         content = gen_const_xmlChar_ptr(n_content, 6);
   44558 
   44559         ret_val = xmlTextWriterWriteDTDEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid, (const xmlChar *)content);
   44560         desret_int(ret_val);
   44561         call_tests++;
   44562         des_xmlTextWriterPtr(n_writer, writer, 0);
   44563         des_int(n_pe, pe, 1);
   44564         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   44565         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
   44566         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
   44567         des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
   44568         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 6);
   44569         xmlResetLastError();
   44570         if (mem_base != xmlMemBlocks()) {
   44571             printf("Leak of %d blocks found in xmlTextWriterWriteDTDEntity",
   44572 	           xmlMemBlocks() - mem_base);
   44573 	    test_ret++;
   44574             printf(" %d", n_writer);
   44575             printf(" %d", n_pe);
   44576             printf(" %d", n_name);
   44577             printf(" %d", n_pubid);
   44578             printf(" %d", n_sysid);
   44579             printf(" %d", n_ndataid);
   44580             printf(" %d", n_content);
   44581             printf("\n");
   44582         }
   44583     }
   44584     }
   44585     }
   44586     }
   44587     }
   44588     }
   44589     }
   44590     function_tests++;
   44591 #endif
   44592 
   44593     return(test_ret);
   44594 }
   44595 
   44596 
   44597 static int
   44598 test_xmlTextWriterWriteDTDExternalEntity(void) {
   44599     int test_ret = 0;
   44600 
   44601 #if defined(LIBXML_WRITER_ENABLED)
   44602     int mem_base;
   44603     int ret_val;
   44604     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44605     int n_writer;
   44606     int pe; /* TRUE if this is a parameter entity, FALSE if not */
   44607     int n_pe;
   44608     xmlChar * name; /* the name of the DTD entity */
   44609     int n_name;
   44610     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
   44611     int n_pubid;
   44612     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
   44613     int n_sysid;
   44614     xmlChar * ndataid; /* the xml notation name. */
   44615     int n_ndataid;
   44616 
   44617     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44618     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
   44619     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44620     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
   44621     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
   44622     for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
   44623         mem_base = xmlMemBlocks();
   44624         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44625         pe = gen_int(n_pe, 1);
   44626         name = gen_const_xmlChar_ptr(n_name, 2);
   44627         pubid = gen_const_xmlChar_ptr(n_pubid, 3);
   44628         sysid = gen_const_xmlChar_ptr(n_sysid, 4);
   44629         ndataid = gen_const_xmlChar_ptr(n_ndataid, 5);
   44630 
   44631         ret_val = xmlTextWriterWriteDTDExternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
   44632         desret_int(ret_val);
   44633         call_tests++;
   44634         des_xmlTextWriterPtr(n_writer, writer, 0);
   44635         des_int(n_pe, pe, 1);
   44636         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   44637         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 3);
   44638         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 4);
   44639         des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 5);
   44640         xmlResetLastError();
   44641         if (mem_base != xmlMemBlocks()) {
   44642             printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntity",
   44643 	           xmlMemBlocks() - mem_base);
   44644 	    test_ret++;
   44645             printf(" %d", n_writer);
   44646             printf(" %d", n_pe);
   44647             printf(" %d", n_name);
   44648             printf(" %d", n_pubid);
   44649             printf(" %d", n_sysid);
   44650             printf(" %d", n_ndataid);
   44651             printf("\n");
   44652         }
   44653     }
   44654     }
   44655     }
   44656     }
   44657     }
   44658     }
   44659     function_tests++;
   44660 #endif
   44661 
   44662     return(test_ret);
   44663 }
   44664 
   44665 
   44666 static int
   44667 test_xmlTextWriterWriteDTDExternalEntityContents(void) {
   44668     int test_ret = 0;
   44669 
   44670 #if defined(LIBXML_WRITER_ENABLED)
   44671     int mem_base;
   44672     int ret_val;
   44673     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44674     int n_writer;
   44675     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
   44676     int n_pubid;
   44677     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
   44678     int n_sysid;
   44679     xmlChar * ndataid; /* the xml notation name. */
   44680     int n_ndataid;
   44681 
   44682     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44683     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
   44684     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
   44685     for (n_ndataid = 0;n_ndataid < gen_nb_const_xmlChar_ptr;n_ndataid++) {
   44686         mem_base = xmlMemBlocks();
   44687         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44688         pubid = gen_const_xmlChar_ptr(n_pubid, 1);
   44689         sysid = gen_const_xmlChar_ptr(n_sysid, 2);
   44690         ndataid = gen_const_xmlChar_ptr(n_ndataid, 3);
   44691 
   44692         ret_val = xmlTextWriterWriteDTDExternalEntityContents(writer, (const xmlChar *)pubid, (const xmlChar *)sysid, (const xmlChar *)ndataid);
   44693         desret_int(ret_val);
   44694         call_tests++;
   44695         des_xmlTextWriterPtr(n_writer, writer, 0);
   44696         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 1);
   44697         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 2);
   44698         des_const_xmlChar_ptr(n_ndataid, (const xmlChar *)ndataid, 3);
   44699         xmlResetLastError();
   44700         if (mem_base != xmlMemBlocks()) {
   44701             printf("Leak of %d blocks found in xmlTextWriterWriteDTDExternalEntityContents",
   44702 	           xmlMemBlocks() - mem_base);
   44703 	    test_ret++;
   44704             printf(" %d", n_writer);
   44705             printf(" %d", n_pubid);
   44706             printf(" %d", n_sysid);
   44707             printf(" %d", n_ndataid);
   44708             printf("\n");
   44709         }
   44710     }
   44711     }
   44712     }
   44713     }
   44714     function_tests++;
   44715 #endif
   44716 
   44717     return(test_ret);
   44718 }
   44719 
   44720 
   44721 static int
   44722 test_xmlTextWriterWriteDTDInternalEntity(void) {
   44723     int test_ret = 0;
   44724 
   44725 #if defined(LIBXML_WRITER_ENABLED)
   44726     int mem_base;
   44727     int ret_val;
   44728     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44729     int n_writer;
   44730     int pe; /* TRUE if this is a parameter entity, FALSE if not */
   44731     int n_pe;
   44732     xmlChar * name; /* the name of the DTD entity */
   44733     int n_name;
   44734     xmlChar * content; /* content of the entity */
   44735     int n_content;
   44736 
   44737     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44738     for (n_pe = 0;n_pe < gen_nb_int;n_pe++) {
   44739     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44740     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44741         mem_base = xmlMemBlocks();
   44742         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44743         pe = gen_int(n_pe, 1);
   44744         name = gen_const_xmlChar_ptr(n_name, 2);
   44745         content = gen_const_xmlChar_ptr(n_content, 3);
   44746 
   44747         ret_val = xmlTextWriterWriteDTDInternalEntity(writer, pe, (const xmlChar *)name, (const xmlChar *)content);
   44748         desret_int(ret_val);
   44749         call_tests++;
   44750         des_xmlTextWriterPtr(n_writer, writer, 0);
   44751         des_int(n_pe, pe, 1);
   44752         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   44753         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 3);
   44754         xmlResetLastError();
   44755         if (mem_base != xmlMemBlocks()) {
   44756             printf("Leak of %d blocks found in xmlTextWriterWriteDTDInternalEntity",
   44757 	           xmlMemBlocks() - mem_base);
   44758 	    test_ret++;
   44759             printf(" %d", n_writer);
   44760             printf(" %d", n_pe);
   44761             printf(" %d", n_name);
   44762             printf(" %d", n_content);
   44763             printf("\n");
   44764         }
   44765     }
   44766     }
   44767     }
   44768     }
   44769     function_tests++;
   44770 #endif
   44771 
   44772     return(test_ret);
   44773 }
   44774 
   44775 
   44776 static int
   44777 test_xmlTextWriterWriteDTDNotation(void) {
   44778     int test_ret = 0;
   44779 
   44780 #if defined(LIBXML_WRITER_ENABLED)
   44781     int mem_base;
   44782     int ret_val;
   44783     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44784     int n_writer;
   44785     xmlChar * name; /* the name of the xml notation */
   44786     int n_name;
   44787     xmlChar * pubid; /* the public identifier, which is an alternative to the system identifier */
   44788     int n_pubid;
   44789     xmlChar * sysid; /* the system identifier, which is the URI of the DTD */
   44790     int n_sysid;
   44791 
   44792     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44793     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44794     for (n_pubid = 0;n_pubid < gen_nb_const_xmlChar_ptr;n_pubid++) {
   44795     for (n_sysid = 0;n_sysid < gen_nb_const_xmlChar_ptr;n_sysid++) {
   44796         mem_base = xmlMemBlocks();
   44797         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44798         name = gen_const_xmlChar_ptr(n_name, 1);
   44799         pubid = gen_const_xmlChar_ptr(n_pubid, 2);
   44800         sysid = gen_const_xmlChar_ptr(n_sysid, 3);
   44801 
   44802         ret_val = xmlTextWriterWriteDTDNotation(writer, (const xmlChar *)name, (const xmlChar *)pubid, (const xmlChar *)sysid);
   44803         desret_int(ret_val);
   44804         call_tests++;
   44805         des_xmlTextWriterPtr(n_writer, writer, 0);
   44806         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   44807         des_const_xmlChar_ptr(n_pubid, (const xmlChar *)pubid, 2);
   44808         des_const_xmlChar_ptr(n_sysid, (const xmlChar *)sysid, 3);
   44809         xmlResetLastError();
   44810         if (mem_base != xmlMemBlocks()) {
   44811             printf("Leak of %d blocks found in xmlTextWriterWriteDTDNotation",
   44812 	           xmlMemBlocks() - mem_base);
   44813 	    test_ret++;
   44814             printf(" %d", n_writer);
   44815             printf(" %d", n_name);
   44816             printf(" %d", n_pubid);
   44817             printf(" %d", n_sysid);
   44818             printf("\n");
   44819         }
   44820     }
   44821     }
   44822     }
   44823     }
   44824     function_tests++;
   44825 #endif
   44826 
   44827     return(test_ret);
   44828 }
   44829 
   44830 
   44831 static int
   44832 test_xmlTextWriterWriteElement(void) {
   44833     int test_ret = 0;
   44834 
   44835 #if defined(LIBXML_WRITER_ENABLED)
   44836     int mem_base;
   44837     int ret_val;
   44838     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44839     int n_writer;
   44840     xmlChar * name; /* element name */
   44841     int n_name;
   44842     xmlChar * content; /* element content */
   44843     int n_content;
   44844 
   44845     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44846     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44847     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44848         mem_base = xmlMemBlocks();
   44849         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44850         name = gen_const_xmlChar_ptr(n_name, 1);
   44851         content = gen_const_xmlChar_ptr(n_content, 2);
   44852 
   44853         ret_val = xmlTextWriterWriteElement(writer, (const xmlChar *)name, (const xmlChar *)content);
   44854         desret_int(ret_val);
   44855         call_tests++;
   44856         des_xmlTextWriterPtr(n_writer, writer, 0);
   44857         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   44858         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
   44859         xmlResetLastError();
   44860         if (mem_base != xmlMemBlocks()) {
   44861             printf("Leak of %d blocks found in xmlTextWriterWriteElement",
   44862 	           xmlMemBlocks() - mem_base);
   44863 	    test_ret++;
   44864             printf(" %d", n_writer);
   44865             printf(" %d", n_name);
   44866             printf(" %d", n_content);
   44867             printf("\n");
   44868         }
   44869     }
   44870     }
   44871     }
   44872     function_tests++;
   44873 #endif
   44874 
   44875     return(test_ret);
   44876 }
   44877 
   44878 
   44879 static int
   44880 test_xmlTextWriterWriteElementNS(void) {
   44881     int test_ret = 0;
   44882 
   44883 #if defined(LIBXML_WRITER_ENABLED)
   44884     int mem_base;
   44885     int ret_val;
   44886     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   44887     int n_writer;
   44888     xmlChar * prefix; /* namespace prefix */
   44889     int n_prefix;
   44890     xmlChar * name; /* element local name */
   44891     int n_name;
   44892     xmlChar * namespaceURI; /* namespace URI */
   44893     int n_namespaceURI;
   44894     xmlChar * content; /* element content */
   44895     int n_content;
   44896 
   44897     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   44898     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   44899     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   44900     for (n_namespaceURI = 0;n_namespaceURI < gen_nb_const_xmlChar_ptr;n_namespaceURI++) {
   44901     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   44902         mem_base = xmlMemBlocks();
   44903         writer = gen_xmlTextWriterPtr(n_writer, 0);
   44904         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   44905         name = gen_const_xmlChar_ptr(n_name, 2);
   44906         namespaceURI = gen_const_xmlChar_ptr(n_namespaceURI, 3);
   44907         content = gen_const_xmlChar_ptr(n_content, 4);
   44908 
   44909         ret_val = xmlTextWriterWriteElementNS(writer, (const xmlChar *)prefix, (const xmlChar *)name, (const xmlChar *)namespaceURI, (const xmlChar *)content);
   44910         desret_int(ret_val);
   44911         call_tests++;
   44912         des_xmlTextWriterPtr(n_writer, writer, 0);
   44913         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   44914         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 2);
   44915         des_const_xmlChar_ptr(n_namespaceURI, (const xmlChar *)namespaceURI, 3);
   44916         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 4);
   44917         xmlResetLastError();
   44918         if (mem_base != xmlMemBlocks()) {
   44919             printf("Leak of %d blocks found in xmlTextWriterWriteElementNS",
   44920 	           xmlMemBlocks() - mem_base);
   44921 	    test_ret++;
   44922             printf(" %d", n_writer);
   44923             printf(" %d", n_prefix);
   44924             printf(" %d", n_name);
   44925             printf(" %d", n_namespaceURI);
   44926             printf(" %d", n_content);
   44927             printf("\n");
   44928         }
   44929     }
   44930     }
   44931     }
   44932     }
   44933     }
   44934     function_tests++;
   44935 #endif
   44936 
   44937     return(test_ret);
   44938 }
   44939 
   44940 
   44941 static int
   44942 test_xmlTextWriterWriteFormatAttribute(void) {
   44943     int test_ret = 0;
   44944 
   44945 
   44946     /* missing type support */
   44947     return(test_ret);
   44948 }
   44949 
   44950 
   44951 static int
   44952 test_xmlTextWriterWriteFormatAttributeNS(void) {
   44953     int test_ret = 0;
   44954 
   44955 
   44956     /* missing type support */
   44957     return(test_ret);
   44958 }
   44959 
   44960 
   44961 static int
   44962 test_xmlTextWriterWriteFormatCDATA(void) {
   44963     int test_ret = 0;
   44964 
   44965 
   44966     /* missing type support */
   44967     return(test_ret);
   44968 }
   44969 
   44970 
   44971 static int
   44972 test_xmlTextWriterWriteFormatComment(void) {
   44973     int test_ret = 0;
   44974 
   44975 
   44976     /* missing type support */
   44977     return(test_ret);
   44978 }
   44979 
   44980 
   44981 static int
   44982 test_xmlTextWriterWriteFormatDTD(void) {
   44983     int test_ret = 0;
   44984 
   44985 
   44986     /* missing type support */
   44987     return(test_ret);
   44988 }
   44989 
   44990 
   44991 static int
   44992 test_xmlTextWriterWriteFormatDTDAttlist(void) {
   44993     int test_ret = 0;
   44994 
   44995 
   44996     /* missing type support */
   44997     return(test_ret);
   44998 }
   44999 
   45000 
   45001 static int
   45002 test_xmlTextWriterWriteFormatDTDElement(void) {
   45003     int test_ret = 0;
   45004 
   45005 
   45006     /* missing type support */
   45007     return(test_ret);
   45008 }
   45009 
   45010 
   45011 static int
   45012 test_xmlTextWriterWriteFormatDTDInternalEntity(void) {
   45013     int test_ret = 0;
   45014 
   45015 
   45016     /* missing type support */
   45017     return(test_ret);
   45018 }
   45019 
   45020 
   45021 static int
   45022 test_xmlTextWriterWriteFormatElement(void) {
   45023     int test_ret = 0;
   45024 
   45025 
   45026     /* missing type support */
   45027     return(test_ret);
   45028 }
   45029 
   45030 
   45031 static int
   45032 test_xmlTextWriterWriteFormatElementNS(void) {
   45033     int test_ret = 0;
   45034 
   45035 
   45036     /* missing type support */
   45037     return(test_ret);
   45038 }
   45039 
   45040 
   45041 static int
   45042 test_xmlTextWriterWriteFormatPI(void) {
   45043     int test_ret = 0;
   45044 
   45045 
   45046     /* missing type support */
   45047     return(test_ret);
   45048 }
   45049 
   45050 
   45051 static int
   45052 test_xmlTextWriterWriteFormatRaw(void) {
   45053     int test_ret = 0;
   45054 
   45055 
   45056     /* missing type support */
   45057     return(test_ret);
   45058 }
   45059 
   45060 
   45061 static int
   45062 test_xmlTextWriterWriteFormatString(void) {
   45063     int test_ret = 0;
   45064 
   45065 
   45066     /* missing type support */
   45067     return(test_ret);
   45068 }
   45069 
   45070 
   45071 static int
   45072 test_xmlTextWriterWritePI(void) {
   45073     int test_ret = 0;
   45074 
   45075 #if defined(LIBXML_WRITER_ENABLED)
   45076     int mem_base;
   45077     int ret_val;
   45078     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   45079     int n_writer;
   45080     xmlChar * target; /* PI target */
   45081     int n_target;
   45082     xmlChar * content; /* PI content */
   45083     int n_content;
   45084 
   45085     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   45086     for (n_target = 0;n_target < gen_nb_const_xmlChar_ptr;n_target++) {
   45087     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   45088         mem_base = xmlMemBlocks();
   45089         writer = gen_xmlTextWriterPtr(n_writer, 0);
   45090         target = gen_const_xmlChar_ptr(n_target, 1);
   45091         content = gen_const_xmlChar_ptr(n_content, 2);
   45092 
   45093         ret_val = xmlTextWriterWritePI(writer, (const xmlChar *)target, (const xmlChar *)content);
   45094         desret_int(ret_val);
   45095         call_tests++;
   45096         des_xmlTextWriterPtr(n_writer, writer, 0);
   45097         des_const_xmlChar_ptr(n_target, (const xmlChar *)target, 1);
   45098         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 2);
   45099         xmlResetLastError();
   45100         if (mem_base != xmlMemBlocks()) {
   45101             printf("Leak of %d blocks found in xmlTextWriterWritePI",
   45102 	           xmlMemBlocks() - mem_base);
   45103 	    test_ret++;
   45104             printf(" %d", n_writer);
   45105             printf(" %d", n_target);
   45106             printf(" %d", n_content);
   45107             printf("\n");
   45108         }
   45109     }
   45110     }
   45111     }
   45112     function_tests++;
   45113 #endif
   45114 
   45115     return(test_ret);
   45116 }
   45117 
   45118 
   45119 static int
   45120 test_xmlTextWriterWriteRaw(void) {
   45121     int test_ret = 0;
   45122 
   45123 #if defined(LIBXML_WRITER_ENABLED)
   45124     int mem_base;
   45125     int ret_val;
   45126     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   45127     int n_writer;
   45128     xmlChar * content; /* text string */
   45129     int n_content;
   45130 
   45131     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   45132     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   45133         mem_base = xmlMemBlocks();
   45134         writer = gen_xmlTextWriterPtr(n_writer, 0);
   45135         content = gen_const_xmlChar_ptr(n_content, 1);
   45136 
   45137         ret_val = xmlTextWriterWriteRaw(writer, (const xmlChar *)content);
   45138         desret_int(ret_val);
   45139         call_tests++;
   45140         des_xmlTextWriterPtr(n_writer, writer, 0);
   45141         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   45142         xmlResetLastError();
   45143         if (mem_base != xmlMemBlocks()) {
   45144             printf("Leak of %d blocks found in xmlTextWriterWriteRaw",
   45145 	           xmlMemBlocks() - mem_base);
   45146 	    test_ret++;
   45147             printf(" %d", n_writer);
   45148             printf(" %d", n_content);
   45149             printf("\n");
   45150         }
   45151     }
   45152     }
   45153     function_tests++;
   45154 #endif
   45155 
   45156     return(test_ret);
   45157 }
   45158 
   45159 
   45160 static int
   45161 test_xmlTextWriterWriteRawLen(void) {
   45162     int test_ret = 0;
   45163 
   45164 #if defined(LIBXML_WRITER_ENABLED)
   45165     int mem_base;
   45166     int ret_val;
   45167     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   45168     int n_writer;
   45169     xmlChar * content; /* text string */
   45170     int n_content;
   45171     int len; /* length of the text string */
   45172     int n_len;
   45173 
   45174     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   45175     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   45176     for (n_len = 0;n_len < gen_nb_int;n_len++) {
   45177         mem_base = xmlMemBlocks();
   45178         writer = gen_xmlTextWriterPtr(n_writer, 0);
   45179         content = gen_const_xmlChar_ptr(n_content, 1);
   45180         len = gen_int(n_len, 2);
   45181 
   45182         ret_val = xmlTextWriterWriteRawLen(writer, (const xmlChar *)content, len);
   45183         desret_int(ret_val);
   45184         call_tests++;
   45185         des_xmlTextWriterPtr(n_writer, writer, 0);
   45186         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   45187         des_int(n_len, len, 2);
   45188         xmlResetLastError();
   45189         if (mem_base != xmlMemBlocks()) {
   45190             printf("Leak of %d blocks found in xmlTextWriterWriteRawLen",
   45191 	           xmlMemBlocks() - mem_base);
   45192 	    test_ret++;
   45193             printf(" %d", n_writer);
   45194             printf(" %d", n_content);
   45195             printf(" %d", n_len);
   45196             printf("\n");
   45197         }
   45198     }
   45199     }
   45200     }
   45201     function_tests++;
   45202 #endif
   45203 
   45204     return(test_ret);
   45205 }
   45206 
   45207 
   45208 static int
   45209 test_xmlTextWriterWriteString(void) {
   45210     int test_ret = 0;
   45211 
   45212 #if defined(LIBXML_WRITER_ENABLED)
   45213     int mem_base;
   45214     int ret_val;
   45215     xmlTextWriterPtr writer; /* the xmlTextWriterPtr */
   45216     int n_writer;
   45217     xmlChar * content; /* text string */
   45218     int n_content;
   45219 
   45220     for (n_writer = 0;n_writer < gen_nb_xmlTextWriterPtr;n_writer++) {
   45221     for (n_content = 0;n_content < gen_nb_const_xmlChar_ptr;n_content++) {
   45222         mem_base = xmlMemBlocks();
   45223         writer = gen_xmlTextWriterPtr(n_writer, 0);
   45224         content = gen_const_xmlChar_ptr(n_content, 1);
   45225 
   45226         ret_val = xmlTextWriterWriteString(writer, (const xmlChar *)content);
   45227         desret_int(ret_val);
   45228         call_tests++;
   45229         des_xmlTextWriterPtr(n_writer, writer, 0);
   45230         des_const_xmlChar_ptr(n_content, (const xmlChar *)content, 1);
   45231         xmlResetLastError();
   45232         if (mem_base != xmlMemBlocks()) {
   45233             printf("Leak of %d blocks found in xmlTextWriterWriteString",
   45234 	           xmlMemBlocks() - mem_base);
   45235 	    test_ret++;
   45236             printf(" %d", n_writer);
   45237             printf(" %d", n_content);
   45238             printf("\n");
   45239         }
   45240     }
   45241     }
   45242     function_tests++;
   45243 #endif
   45244 
   45245     return(test_ret);
   45246 }
   45247 
   45248 
   45249 static int
   45250 test_xmlTextWriterWriteVFormatAttribute(void) {
   45251     int test_ret = 0;
   45252 
   45253 
   45254     /* missing type support */
   45255     return(test_ret);
   45256 }
   45257 
   45258 
   45259 static int
   45260 test_xmlTextWriterWriteVFormatAttributeNS(void) {
   45261     int test_ret = 0;
   45262 
   45263 
   45264     /* missing type support */
   45265     return(test_ret);
   45266 }
   45267 
   45268 
   45269 static int
   45270 test_xmlTextWriterWriteVFormatCDATA(void) {
   45271     int test_ret = 0;
   45272 
   45273 
   45274     /* missing type support */
   45275     return(test_ret);
   45276 }
   45277 
   45278 
   45279 static int
   45280 test_xmlTextWriterWriteVFormatComment(void) {
   45281     int test_ret = 0;
   45282 
   45283 
   45284     /* missing type support */
   45285     return(test_ret);
   45286 }
   45287 
   45288 
   45289 static int
   45290 test_xmlTextWriterWriteVFormatDTD(void) {
   45291     int test_ret = 0;
   45292 
   45293 
   45294     /* missing type support */
   45295     return(test_ret);
   45296 }
   45297 
   45298 
   45299 static int
   45300 test_xmlTextWriterWriteVFormatDTDAttlist(void) {
   45301     int test_ret = 0;
   45302 
   45303 
   45304     /* missing type support */
   45305     return(test_ret);
   45306 }
   45307 
   45308 
   45309 static int
   45310 test_xmlTextWriterWriteVFormatDTDElement(void) {
   45311     int test_ret = 0;
   45312 
   45313 
   45314     /* missing type support */
   45315     return(test_ret);
   45316 }
   45317 
   45318 
   45319 static int
   45320 test_xmlTextWriterWriteVFormatDTDInternalEntity(void) {
   45321     int test_ret = 0;
   45322 
   45323 
   45324     /* missing type support */
   45325     return(test_ret);
   45326 }
   45327 
   45328 
   45329 static int
   45330 test_xmlTextWriterWriteVFormatElement(void) {
   45331     int test_ret = 0;
   45332 
   45333 
   45334     /* missing type support */
   45335     return(test_ret);
   45336 }
   45337 
   45338 
   45339 static int
   45340 test_xmlTextWriterWriteVFormatElementNS(void) {
   45341     int test_ret = 0;
   45342 
   45343 
   45344     /* missing type support */
   45345     return(test_ret);
   45346 }
   45347 
   45348 
   45349 static int
   45350 test_xmlTextWriterWriteVFormatPI(void) {
   45351     int test_ret = 0;
   45352 
   45353 
   45354     /* missing type support */
   45355     return(test_ret);
   45356 }
   45357 
   45358 
   45359 static int
   45360 test_xmlTextWriterWriteVFormatRaw(void) {
   45361     int test_ret = 0;
   45362 
   45363 
   45364     /* missing type support */
   45365     return(test_ret);
   45366 }
   45367 
   45368 
   45369 static int
   45370 test_xmlTextWriterWriteVFormatString(void) {
   45371     int test_ret = 0;
   45372 
   45373 
   45374     /* missing type support */
   45375     return(test_ret);
   45376 }
   45377 
   45378 static int
   45379 test_xmlwriter(void) {
   45380     int test_ret = 0;
   45381 
   45382     if (quiet == 0) printf("Testing xmlwriter : 51 of 79 functions ...\n");
   45383     test_ret += test_xmlNewTextWriter();
   45384     test_ret += test_xmlNewTextWriterFilename();
   45385     test_ret += test_xmlNewTextWriterMemory();
   45386     test_ret += test_xmlNewTextWriterPushParser();
   45387     test_ret += test_xmlNewTextWriterTree();
   45388     test_ret += test_xmlTextWriterEndAttribute();
   45389     test_ret += test_xmlTextWriterEndCDATA();
   45390     test_ret += test_xmlTextWriterEndComment();
   45391     test_ret += test_xmlTextWriterEndDTD();
   45392     test_ret += test_xmlTextWriterEndDTDAttlist();
   45393     test_ret += test_xmlTextWriterEndDTDElement();
   45394     test_ret += test_xmlTextWriterEndDTDEntity();
   45395     test_ret += test_xmlTextWriterEndDocument();
   45396     test_ret += test_xmlTextWriterEndElement();
   45397     test_ret += test_xmlTextWriterEndPI();
   45398     test_ret += test_xmlTextWriterFlush();
   45399     test_ret += test_xmlTextWriterFullEndElement();
   45400     test_ret += test_xmlTextWriterSetIndent();
   45401     test_ret += test_xmlTextWriterSetIndentString();
   45402     test_ret += test_xmlTextWriterStartAttribute();
   45403     test_ret += test_xmlTextWriterStartAttributeNS();
   45404     test_ret += test_xmlTextWriterStartCDATA();
   45405     test_ret += test_xmlTextWriterStartComment();
   45406     test_ret += test_xmlTextWriterStartDTD();
   45407     test_ret += test_xmlTextWriterStartDTDAttlist();
   45408     test_ret += test_xmlTextWriterStartDTDElement();
   45409     test_ret += test_xmlTextWriterStartDTDEntity();
   45410     test_ret += test_xmlTextWriterStartDocument();
   45411     test_ret += test_xmlTextWriterStartElement();
   45412     test_ret += test_xmlTextWriterStartElementNS();
   45413     test_ret += test_xmlTextWriterStartPI();
   45414     test_ret += test_xmlTextWriterWriteAttribute();
   45415     test_ret += test_xmlTextWriterWriteAttributeNS();
   45416     test_ret += test_xmlTextWriterWriteBase64();
   45417     test_ret += test_xmlTextWriterWriteBinHex();
   45418     test_ret += test_xmlTextWriterWriteCDATA();
   45419     test_ret += test_xmlTextWriterWriteComment();
   45420     test_ret += test_xmlTextWriterWriteDTD();
   45421     test_ret += test_xmlTextWriterWriteDTDAttlist();
   45422     test_ret += test_xmlTextWriterWriteDTDElement();
   45423     test_ret += test_xmlTextWriterWriteDTDEntity();
   45424     test_ret += test_xmlTextWriterWriteDTDExternalEntity();
   45425     test_ret += test_xmlTextWriterWriteDTDExternalEntityContents();
   45426     test_ret += test_xmlTextWriterWriteDTDInternalEntity();
   45427     test_ret += test_xmlTextWriterWriteDTDNotation();
   45428     test_ret += test_xmlTextWriterWriteElement();
   45429     test_ret += test_xmlTextWriterWriteElementNS();
   45430     test_ret += test_xmlTextWriterWriteFormatAttribute();
   45431     test_ret += test_xmlTextWriterWriteFormatAttributeNS();
   45432     test_ret += test_xmlTextWriterWriteFormatCDATA();
   45433     test_ret += test_xmlTextWriterWriteFormatComment();
   45434     test_ret += test_xmlTextWriterWriteFormatDTD();
   45435     test_ret += test_xmlTextWriterWriteFormatDTDAttlist();
   45436     test_ret += test_xmlTextWriterWriteFormatDTDElement();
   45437     test_ret += test_xmlTextWriterWriteFormatDTDInternalEntity();
   45438     test_ret += test_xmlTextWriterWriteFormatElement();
   45439     test_ret += test_xmlTextWriterWriteFormatElementNS();
   45440     test_ret += test_xmlTextWriterWriteFormatPI();
   45441     test_ret += test_xmlTextWriterWriteFormatRaw();
   45442     test_ret += test_xmlTextWriterWriteFormatString();
   45443     test_ret += test_xmlTextWriterWritePI();
   45444     test_ret += test_xmlTextWriterWriteRaw();
   45445     test_ret += test_xmlTextWriterWriteRawLen();
   45446     test_ret += test_xmlTextWriterWriteString();
   45447     test_ret += test_xmlTextWriterWriteVFormatAttribute();
   45448     test_ret += test_xmlTextWriterWriteVFormatAttributeNS();
   45449     test_ret += test_xmlTextWriterWriteVFormatCDATA();
   45450     test_ret += test_xmlTextWriterWriteVFormatComment();
   45451     test_ret += test_xmlTextWriterWriteVFormatDTD();
   45452     test_ret += test_xmlTextWriterWriteVFormatDTDAttlist();
   45453     test_ret += test_xmlTextWriterWriteVFormatDTDElement();
   45454     test_ret += test_xmlTextWriterWriteVFormatDTDInternalEntity();
   45455     test_ret += test_xmlTextWriterWriteVFormatElement();
   45456     test_ret += test_xmlTextWriterWriteVFormatElementNS();
   45457     test_ret += test_xmlTextWriterWriteVFormatPI();
   45458     test_ret += test_xmlTextWriterWriteVFormatRaw();
   45459     test_ret += test_xmlTextWriterWriteVFormatString();
   45460 
   45461     if (test_ret != 0)
   45462 	printf("Module xmlwriter: %d errors\n", test_ret);
   45463     return(test_ret);
   45464 }
   45465 
   45466 static int
   45467 test_xmlXPathCastBooleanToNumber(void) {
   45468     int test_ret = 0;
   45469 
   45470 #if defined(LIBXML_XPATH_ENABLED)
   45471     int mem_base;
   45472     double ret_val;
   45473     int val; /* a boolean */
   45474     int n_val;
   45475 
   45476     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   45477         mem_base = xmlMemBlocks();
   45478         val = gen_int(n_val, 0);
   45479 
   45480         ret_val = xmlXPathCastBooleanToNumber(val);
   45481         desret_double(ret_val);
   45482         call_tests++;
   45483         des_int(n_val, val, 0);
   45484         xmlResetLastError();
   45485         if (mem_base != xmlMemBlocks()) {
   45486             printf("Leak of %d blocks found in xmlXPathCastBooleanToNumber",
   45487 	           xmlMemBlocks() - mem_base);
   45488 	    test_ret++;
   45489             printf(" %d", n_val);
   45490             printf("\n");
   45491         }
   45492     }
   45493     function_tests++;
   45494 #endif
   45495 
   45496     return(test_ret);
   45497 }
   45498 
   45499 
   45500 static int
   45501 test_xmlXPathCastBooleanToString(void) {
   45502     int test_ret = 0;
   45503 
   45504 #if defined(LIBXML_XPATH_ENABLED)
   45505     int mem_base;
   45506     xmlChar * ret_val;
   45507     int val; /* a boolean */
   45508     int n_val;
   45509 
   45510     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   45511         mem_base = xmlMemBlocks();
   45512         val = gen_int(n_val, 0);
   45513 
   45514         ret_val = xmlXPathCastBooleanToString(val);
   45515         desret_xmlChar_ptr(ret_val);
   45516         call_tests++;
   45517         des_int(n_val, val, 0);
   45518         xmlResetLastError();
   45519         if (mem_base != xmlMemBlocks()) {
   45520             printf("Leak of %d blocks found in xmlXPathCastBooleanToString",
   45521 	           xmlMemBlocks() - mem_base);
   45522 	    test_ret++;
   45523             printf(" %d", n_val);
   45524             printf("\n");
   45525         }
   45526     }
   45527     function_tests++;
   45528 #endif
   45529 
   45530     return(test_ret);
   45531 }
   45532 
   45533 
   45534 static int
   45535 test_xmlXPathCastNodeSetToBoolean(void) {
   45536     int test_ret = 0;
   45537 
   45538 #if defined(LIBXML_XPATH_ENABLED)
   45539     int mem_base;
   45540     int ret_val;
   45541     xmlNodeSetPtr ns; /* a node-set */
   45542     int n_ns;
   45543 
   45544     for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
   45545         mem_base = xmlMemBlocks();
   45546         ns = gen_xmlNodeSetPtr(n_ns, 0);
   45547 
   45548         ret_val = xmlXPathCastNodeSetToBoolean(ns);
   45549         desret_int(ret_val);
   45550         call_tests++;
   45551         des_xmlNodeSetPtr(n_ns, ns, 0);
   45552         xmlResetLastError();
   45553         if (mem_base != xmlMemBlocks()) {
   45554             printf("Leak of %d blocks found in xmlXPathCastNodeSetToBoolean",
   45555 	           xmlMemBlocks() - mem_base);
   45556 	    test_ret++;
   45557             printf(" %d", n_ns);
   45558             printf("\n");
   45559         }
   45560     }
   45561     function_tests++;
   45562 #endif
   45563 
   45564     return(test_ret);
   45565 }
   45566 
   45567 
   45568 static int
   45569 test_xmlXPathCastNodeSetToNumber(void) {
   45570     int test_ret = 0;
   45571 
   45572 #if defined(LIBXML_XPATH_ENABLED)
   45573     int mem_base;
   45574     double ret_val;
   45575     xmlNodeSetPtr ns; /* a node-set */
   45576     int n_ns;
   45577 
   45578     for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
   45579         mem_base = xmlMemBlocks();
   45580         ns = gen_xmlNodeSetPtr(n_ns, 0);
   45581 
   45582         ret_val = xmlXPathCastNodeSetToNumber(ns);
   45583         desret_double(ret_val);
   45584         call_tests++;
   45585         des_xmlNodeSetPtr(n_ns, ns, 0);
   45586         xmlResetLastError();
   45587         if (mem_base != xmlMemBlocks()) {
   45588             printf("Leak of %d blocks found in xmlXPathCastNodeSetToNumber",
   45589 	           xmlMemBlocks() - mem_base);
   45590 	    test_ret++;
   45591             printf(" %d", n_ns);
   45592             printf("\n");
   45593         }
   45594     }
   45595     function_tests++;
   45596 #endif
   45597 
   45598     return(test_ret);
   45599 }
   45600 
   45601 
   45602 static int
   45603 test_xmlXPathCastNodeSetToString(void) {
   45604     int test_ret = 0;
   45605 
   45606 #if defined(LIBXML_XPATH_ENABLED)
   45607     int mem_base;
   45608     xmlChar * ret_val;
   45609     xmlNodeSetPtr ns; /* a node-set */
   45610     int n_ns;
   45611 
   45612     for (n_ns = 0;n_ns < gen_nb_xmlNodeSetPtr;n_ns++) {
   45613         mem_base = xmlMemBlocks();
   45614         ns = gen_xmlNodeSetPtr(n_ns, 0);
   45615 
   45616         ret_val = xmlXPathCastNodeSetToString(ns);
   45617         desret_xmlChar_ptr(ret_val);
   45618         call_tests++;
   45619         des_xmlNodeSetPtr(n_ns, ns, 0);
   45620         xmlResetLastError();
   45621         if (mem_base != xmlMemBlocks()) {
   45622             printf("Leak of %d blocks found in xmlXPathCastNodeSetToString",
   45623 	           xmlMemBlocks() - mem_base);
   45624 	    test_ret++;
   45625             printf(" %d", n_ns);
   45626             printf("\n");
   45627         }
   45628     }
   45629     function_tests++;
   45630 #endif
   45631 
   45632     return(test_ret);
   45633 }
   45634 
   45635 
   45636 static int
   45637 test_xmlXPathCastNodeToNumber(void) {
   45638     int test_ret = 0;
   45639 
   45640 #if defined(LIBXML_XPATH_ENABLED)
   45641     int mem_base;
   45642     double ret_val;
   45643     xmlNodePtr node; /* a node */
   45644     int n_node;
   45645 
   45646     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   45647         mem_base = xmlMemBlocks();
   45648         node = gen_xmlNodePtr(n_node, 0);
   45649 
   45650         ret_val = xmlXPathCastNodeToNumber(node);
   45651         desret_double(ret_val);
   45652         call_tests++;
   45653         des_xmlNodePtr(n_node, node, 0);
   45654         xmlResetLastError();
   45655         if (mem_base != xmlMemBlocks()) {
   45656             printf("Leak of %d blocks found in xmlXPathCastNodeToNumber",
   45657 	           xmlMemBlocks() - mem_base);
   45658 	    test_ret++;
   45659             printf(" %d", n_node);
   45660             printf("\n");
   45661         }
   45662     }
   45663     function_tests++;
   45664 #endif
   45665 
   45666     return(test_ret);
   45667 }
   45668 
   45669 
   45670 static int
   45671 test_xmlXPathCastNodeToString(void) {
   45672     int test_ret = 0;
   45673 
   45674 #if defined(LIBXML_XPATH_ENABLED)
   45675     int mem_base;
   45676     xmlChar * ret_val;
   45677     xmlNodePtr node; /* a node */
   45678     int n_node;
   45679 
   45680     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   45681         mem_base = xmlMemBlocks();
   45682         node = gen_xmlNodePtr(n_node, 0);
   45683 
   45684         ret_val = xmlXPathCastNodeToString(node);
   45685         desret_xmlChar_ptr(ret_val);
   45686         call_tests++;
   45687         des_xmlNodePtr(n_node, node, 0);
   45688         xmlResetLastError();
   45689         if (mem_base != xmlMemBlocks()) {
   45690             printf("Leak of %d blocks found in xmlXPathCastNodeToString",
   45691 	           xmlMemBlocks() - mem_base);
   45692 	    test_ret++;
   45693             printf(" %d", n_node);
   45694             printf("\n");
   45695         }
   45696     }
   45697     function_tests++;
   45698 #endif
   45699 
   45700     return(test_ret);
   45701 }
   45702 
   45703 
   45704 static int
   45705 test_xmlXPathCastNumberToBoolean(void) {
   45706     int test_ret = 0;
   45707 
   45708 #if defined(LIBXML_XPATH_ENABLED)
   45709     int mem_base;
   45710     int ret_val;
   45711     double val; /* a number */
   45712     int n_val;
   45713 
   45714     for (n_val = 0;n_val < gen_nb_double;n_val++) {
   45715         mem_base = xmlMemBlocks();
   45716         val = gen_double(n_val, 0);
   45717 
   45718         ret_val = xmlXPathCastNumberToBoolean(val);
   45719         desret_int(ret_val);
   45720         call_tests++;
   45721         des_double(n_val, val, 0);
   45722         xmlResetLastError();
   45723         if (mem_base != xmlMemBlocks()) {
   45724             printf("Leak of %d blocks found in xmlXPathCastNumberToBoolean",
   45725 	           xmlMemBlocks() - mem_base);
   45726 	    test_ret++;
   45727             printf(" %d", n_val);
   45728             printf("\n");
   45729         }
   45730     }
   45731     function_tests++;
   45732 #endif
   45733 
   45734     return(test_ret);
   45735 }
   45736 
   45737 
   45738 static int
   45739 test_xmlXPathCastNumberToString(void) {
   45740     int test_ret = 0;
   45741 
   45742 #if defined(LIBXML_XPATH_ENABLED)
   45743     int mem_base;
   45744     xmlChar * ret_val;
   45745     double val; /* a number */
   45746     int n_val;
   45747 
   45748     for (n_val = 0;n_val < gen_nb_double;n_val++) {
   45749         mem_base = xmlMemBlocks();
   45750         val = gen_double(n_val, 0);
   45751 
   45752         ret_val = xmlXPathCastNumberToString(val);
   45753         desret_xmlChar_ptr(ret_val);
   45754         call_tests++;
   45755         des_double(n_val, val, 0);
   45756         xmlResetLastError();
   45757         if (mem_base != xmlMemBlocks()) {
   45758             printf("Leak of %d blocks found in xmlXPathCastNumberToString",
   45759 	           xmlMemBlocks() - mem_base);
   45760 	    test_ret++;
   45761             printf(" %d", n_val);
   45762             printf("\n");
   45763         }
   45764     }
   45765     function_tests++;
   45766 #endif
   45767 
   45768     return(test_ret);
   45769 }
   45770 
   45771 
   45772 static int
   45773 test_xmlXPathCastStringToBoolean(void) {
   45774     int test_ret = 0;
   45775 
   45776 #if defined(LIBXML_XPATH_ENABLED)
   45777     int mem_base;
   45778     int ret_val;
   45779     xmlChar * val; /* a string */
   45780     int n_val;
   45781 
   45782     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
   45783         mem_base = xmlMemBlocks();
   45784         val = gen_const_xmlChar_ptr(n_val, 0);
   45785 
   45786         ret_val = xmlXPathCastStringToBoolean((const xmlChar *)val);
   45787         desret_int(ret_val);
   45788         call_tests++;
   45789         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
   45790         xmlResetLastError();
   45791         if (mem_base != xmlMemBlocks()) {
   45792             printf("Leak of %d blocks found in xmlXPathCastStringToBoolean",
   45793 	           xmlMemBlocks() - mem_base);
   45794 	    test_ret++;
   45795             printf(" %d", n_val);
   45796             printf("\n");
   45797         }
   45798     }
   45799     function_tests++;
   45800 #endif
   45801 
   45802     return(test_ret);
   45803 }
   45804 
   45805 
   45806 static int
   45807 test_xmlXPathCastStringToNumber(void) {
   45808     int test_ret = 0;
   45809 
   45810 #if defined(LIBXML_XPATH_ENABLED)
   45811     int mem_base;
   45812     double ret_val;
   45813     xmlChar * val; /* a string */
   45814     int n_val;
   45815 
   45816     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
   45817         mem_base = xmlMemBlocks();
   45818         val = gen_const_xmlChar_ptr(n_val, 0);
   45819 
   45820         ret_val = xmlXPathCastStringToNumber((const xmlChar *)val);
   45821         desret_double(ret_val);
   45822         call_tests++;
   45823         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
   45824         xmlResetLastError();
   45825         if (mem_base != xmlMemBlocks()) {
   45826             printf("Leak of %d blocks found in xmlXPathCastStringToNumber",
   45827 	           xmlMemBlocks() - mem_base);
   45828 	    test_ret++;
   45829             printf(" %d", n_val);
   45830             printf("\n");
   45831         }
   45832     }
   45833     function_tests++;
   45834 #endif
   45835 
   45836     return(test_ret);
   45837 }
   45838 
   45839 
   45840 static int
   45841 test_xmlXPathCastToBoolean(void) {
   45842     int test_ret = 0;
   45843 
   45844 #if defined(LIBXML_XPATH_ENABLED)
   45845     int mem_base;
   45846     int ret_val;
   45847     xmlXPathObjectPtr val; /* an XPath object */
   45848     int n_val;
   45849 
   45850     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   45851         mem_base = xmlMemBlocks();
   45852         val = gen_xmlXPathObjectPtr(n_val, 0);
   45853 
   45854         ret_val = xmlXPathCastToBoolean(val);
   45855         desret_int(ret_val);
   45856         call_tests++;
   45857         des_xmlXPathObjectPtr(n_val, val, 0);
   45858         xmlResetLastError();
   45859         if (mem_base != xmlMemBlocks()) {
   45860             printf("Leak of %d blocks found in xmlXPathCastToBoolean",
   45861 	           xmlMemBlocks() - mem_base);
   45862 	    test_ret++;
   45863             printf(" %d", n_val);
   45864             printf("\n");
   45865         }
   45866     }
   45867     function_tests++;
   45868 #endif
   45869 
   45870     return(test_ret);
   45871 }
   45872 
   45873 
   45874 static int
   45875 test_xmlXPathCastToNumber(void) {
   45876     int test_ret = 0;
   45877 
   45878 #if defined(LIBXML_XPATH_ENABLED)
   45879     int mem_base;
   45880     double ret_val;
   45881     xmlXPathObjectPtr val; /* an XPath object */
   45882     int n_val;
   45883 
   45884     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   45885         mem_base = xmlMemBlocks();
   45886         val = gen_xmlXPathObjectPtr(n_val, 0);
   45887 
   45888         ret_val = xmlXPathCastToNumber(val);
   45889         desret_double(ret_val);
   45890         call_tests++;
   45891         des_xmlXPathObjectPtr(n_val, val, 0);
   45892         xmlResetLastError();
   45893         if (mem_base != xmlMemBlocks()) {
   45894             printf("Leak of %d blocks found in xmlXPathCastToNumber",
   45895 	           xmlMemBlocks() - mem_base);
   45896 	    test_ret++;
   45897             printf(" %d", n_val);
   45898             printf("\n");
   45899         }
   45900     }
   45901     function_tests++;
   45902 #endif
   45903 
   45904     return(test_ret);
   45905 }
   45906 
   45907 
   45908 static int
   45909 test_xmlXPathCastToString(void) {
   45910     int test_ret = 0;
   45911 
   45912 #if defined(LIBXML_XPATH_ENABLED)
   45913     int mem_base;
   45914     xmlChar * ret_val;
   45915     xmlXPathObjectPtr val; /* an XPath object */
   45916     int n_val;
   45917 
   45918     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   45919         mem_base = xmlMemBlocks();
   45920         val = gen_xmlXPathObjectPtr(n_val, 0);
   45921 
   45922         ret_val = xmlXPathCastToString(val);
   45923         desret_xmlChar_ptr(ret_val);
   45924         call_tests++;
   45925         des_xmlXPathObjectPtr(n_val, val, 0);
   45926         xmlResetLastError();
   45927         if (mem_base != xmlMemBlocks()) {
   45928             printf("Leak of %d blocks found in xmlXPathCastToString",
   45929 	           xmlMemBlocks() - mem_base);
   45930 	    test_ret++;
   45931             printf(" %d", n_val);
   45932             printf("\n");
   45933         }
   45934     }
   45935     function_tests++;
   45936 #endif
   45937 
   45938     return(test_ret);
   45939 }
   45940 
   45941 
   45942 static int
   45943 test_xmlXPathCmpNodes(void) {
   45944     int test_ret = 0;
   45945 
   45946 #if defined(LIBXML_XPATH_ENABLED)
   45947     int mem_base;
   45948     int ret_val;
   45949     xmlNodePtr node1; /* the first node */
   45950     int n_node1;
   45951     xmlNodePtr node2; /* the second node */
   45952     int n_node2;
   45953 
   45954     for (n_node1 = 0;n_node1 < gen_nb_xmlNodePtr;n_node1++) {
   45955     for (n_node2 = 0;n_node2 < gen_nb_xmlNodePtr;n_node2++) {
   45956         mem_base = xmlMemBlocks();
   45957         node1 = gen_xmlNodePtr(n_node1, 0);
   45958         node2 = gen_xmlNodePtr(n_node2, 1);
   45959 
   45960         ret_val = xmlXPathCmpNodes(node1, node2);
   45961         desret_int(ret_val);
   45962         call_tests++;
   45963         des_xmlNodePtr(n_node1, node1, 0);
   45964         des_xmlNodePtr(n_node2, node2, 1);
   45965         xmlResetLastError();
   45966         if (mem_base != xmlMemBlocks()) {
   45967             printf("Leak of %d blocks found in xmlXPathCmpNodes",
   45968 	           xmlMemBlocks() - mem_base);
   45969 	    test_ret++;
   45970             printf(" %d", n_node1);
   45971             printf(" %d", n_node2);
   45972             printf("\n");
   45973         }
   45974     }
   45975     }
   45976     function_tests++;
   45977 #endif
   45978 
   45979     return(test_ret);
   45980 }
   45981 
   45982 
   45983 static int
   45984 test_xmlXPathCompile(void) {
   45985     int test_ret = 0;
   45986 
   45987 
   45988     /* missing type support */
   45989     return(test_ret);
   45990 }
   45991 
   45992 #ifdef LIBXML_XPATH_ENABLED
   45993 
   45994 #define gen_nb_xmlXPathCompExprPtr 1
   45995 static xmlXPathCompExprPtr gen_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   45996     return(NULL);
   45997 }
   45998 static void des_xmlXPathCompExprPtr(int no ATTRIBUTE_UNUSED, xmlXPathCompExprPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   45999 }
   46000 #endif
   46001 
   46002 #ifdef LIBXML_XPATH_ENABLED
   46003 
   46004 #define gen_nb_xmlXPathContextPtr 1
   46005 static xmlXPathContextPtr gen_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   46006     return(NULL);
   46007 }
   46008 static void des_xmlXPathContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   46009 }
   46010 #endif
   46011 
   46012 
   46013 static int
   46014 test_xmlXPathCompiledEval(void) {
   46015     int test_ret = 0;
   46016 
   46017 #if defined(LIBXML_XPATH_ENABLED)
   46018     int mem_base;
   46019     xmlXPathObjectPtr ret_val;
   46020     xmlXPathCompExprPtr comp; /* the compiled XPath expression */
   46021     int n_comp;
   46022     xmlXPathContextPtr ctx; /* the XPath context */
   46023     int n_ctx;
   46024 
   46025     for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
   46026     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
   46027         mem_base = xmlMemBlocks();
   46028         comp = gen_xmlXPathCompExprPtr(n_comp, 0);
   46029         ctx = gen_xmlXPathContextPtr(n_ctx, 1);
   46030 
   46031         ret_val = xmlXPathCompiledEval(comp, ctx);
   46032         desret_xmlXPathObjectPtr(ret_val);
   46033         call_tests++;
   46034         des_xmlXPathCompExprPtr(n_comp, comp, 0);
   46035         des_xmlXPathContextPtr(n_ctx, ctx, 1);
   46036         xmlResetLastError();
   46037         if (mem_base != xmlMemBlocks()) {
   46038             printf("Leak of %d blocks found in xmlXPathCompiledEval",
   46039 	           xmlMemBlocks() - mem_base);
   46040 	    test_ret++;
   46041             printf(" %d", n_comp);
   46042             printf(" %d", n_ctx);
   46043             printf("\n");
   46044         }
   46045     }
   46046     }
   46047     function_tests++;
   46048 #endif
   46049 
   46050     return(test_ret);
   46051 }
   46052 
   46053 
   46054 static int
   46055 test_xmlXPathCompiledEvalToBoolean(void) {
   46056     int test_ret = 0;
   46057 
   46058 #if defined(LIBXML_XPATH_ENABLED)
   46059     int mem_base;
   46060     int ret_val;
   46061     xmlXPathCompExprPtr comp; /* the compiled XPath expression */
   46062     int n_comp;
   46063     xmlXPathContextPtr ctxt; /* the XPath context */
   46064     int n_ctxt;
   46065 
   46066     for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
   46067     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   46068         mem_base = xmlMemBlocks();
   46069         comp = gen_xmlXPathCompExprPtr(n_comp, 0);
   46070         ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
   46071 
   46072         ret_val = xmlXPathCompiledEvalToBoolean(comp, ctxt);
   46073         desret_int(ret_val);
   46074         call_tests++;
   46075         des_xmlXPathCompExprPtr(n_comp, comp, 0);
   46076         des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
   46077         xmlResetLastError();
   46078         if (mem_base != xmlMemBlocks()) {
   46079             printf("Leak of %d blocks found in xmlXPathCompiledEvalToBoolean",
   46080 	           xmlMemBlocks() - mem_base);
   46081 	    test_ret++;
   46082             printf(" %d", n_comp);
   46083             printf(" %d", n_ctxt);
   46084             printf("\n");
   46085         }
   46086     }
   46087     }
   46088     function_tests++;
   46089 #endif
   46090 
   46091     return(test_ret);
   46092 }
   46093 
   46094 
   46095 static int
   46096 test_xmlXPathContextSetCache(void) {
   46097     int test_ret = 0;
   46098 
   46099 #if defined(LIBXML_XPATH_ENABLED)
   46100     int mem_base;
   46101     int ret_val;
   46102     xmlXPathContextPtr ctxt; /* the XPath context */
   46103     int n_ctxt;
   46104     int active; /* enables/disables (creates/frees) the cache */
   46105     int n_active;
   46106     int value; /* a value with semantics dependant on @options */
   46107     int n_value;
   46108     int options; /* options (currently only the value 0 is used) */
   46109     int n_options;
   46110 
   46111     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   46112     for (n_active = 0;n_active < gen_nb_int;n_active++) {
   46113     for (n_value = 0;n_value < gen_nb_int;n_value++) {
   46114     for (n_options = 0;n_options < gen_nb_int;n_options++) {
   46115         mem_base = xmlMemBlocks();
   46116         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   46117         active = gen_int(n_active, 1);
   46118         value = gen_int(n_value, 2);
   46119         options = gen_int(n_options, 3);
   46120 
   46121         ret_val = xmlXPathContextSetCache(ctxt, active, value, options);
   46122         desret_int(ret_val);
   46123         call_tests++;
   46124         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   46125         des_int(n_active, active, 1);
   46126         des_int(n_value, value, 2);
   46127         des_int(n_options, options, 3);
   46128         xmlResetLastError();
   46129         if (mem_base != xmlMemBlocks()) {
   46130             printf("Leak of %d blocks found in xmlXPathContextSetCache",
   46131 	           xmlMemBlocks() - mem_base);
   46132 	    test_ret++;
   46133             printf(" %d", n_ctxt);
   46134             printf(" %d", n_active);
   46135             printf(" %d", n_value);
   46136             printf(" %d", n_options);
   46137             printf("\n");
   46138         }
   46139     }
   46140     }
   46141     }
   46142     }
   46143     function_tests++;
   46144 #endif
   46145 
   46146     return(test_ret);
   46147 }
   46148 
   46149 
   46150 static int
   46151 test_xmlXPathConvertBoolean(void) {
   46152     int test_ret = 0;
   46153 
   46154 #if defined(LIBXML_XPATH_ENABLED)
   46155     int mem_base;
   46156     xmlXPathObjectPtr ret_val;
   46157     xmlXPathObjectPtr val; /* an XPath object */
   46158     int n_val;
   46159 
   46160     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   46161         mem_base = xmlMemBlocks();
   46162         val = gen_xmlXPathObjectPtr(n_val, 0);
   46163 
   46164         ret_val = xmlXPathConvertBoolean(val);
   46165         val = NULL;
   46166         desret_xmlXPathObjectPtr(ret_val);
   46167         call_tests++;
   46168         des_xmlXPathObjectPtr(n_val, val, 0);
   46169         xmlResetLastError();
   46170         if (mem_base != xmlMemBlocks()) {
   46171             printf("Leak of %d blocks found in xmlXPathConvertBoolean",
   46172 	           xmlMemBlocks() - mem_base);
   46173 	    test_ret++;
   46174             printf(" %d", n_val);
   46175             printf("\n");
   46176         }
   46177     }
   46178     function_tests++;
   46179 #endif
   46180 
   46181     return(test_ret);
   46182 }
   46183 
   46184 
   46185 static int
   46186 test_xmlXPathConvertNumber(void) {
   46187     int test_ret = 0;
   46188 
   46189 #if defined(LIBXML_XPATH_ENABLED)
   46190     int mem_base;
   46191     xmlXPathObjectPtr ret_val;
   46192     xmlXPathObjectPtr val; /* an XPath object */
   46193     int n_val;
   46194 
   46195     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   46196         mem_base = xmlMemBlocks();
   46197         val = gen_xmlXPathObjectPtr(n_val, 0);
   46198 
   46199         ret_val = xmlXPathConvertNumber(val);
   46200         val = NULL;
   46201         desret_xmlXPathObjectPtr(ret_val);
   46202         call_tests++;
   46203         des_xmlXPathObjectPtr(n_val, val, 0);
   46204         xmlResetLastError();
   46205         if (mem_base != xmlMemBlocks()) {
   46206             printf("Leak of %d blocks found in xmlXPathConvertNumber",
   46207 	           xmlMemBlocks() - mem_base);
   46208 	    test_ret++;
   46209             printf(" %d", n_val);
   46210             printf("\n");
   46211         }
   46212     }
   46213     function_tests++;
   46214 #endif
   46215 
   46216     return(test_ret);
   46217 }
   46218 
   46219 
   46220 static int
   46221 test_xmlXPathConvertString(void) {
   46222     int test_ret = 0;
   46223 
   46224 #if defined(LIBXML_XPATH_ENABLED)
   46225     int mem_base;
   46226     xmlXPathObjectPtr ret_val;
   46227     xmlXPathObjectPtr val; /* an XPath object */
   46228     int n_val;
   46229 
   46230     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   46231         mem_base = xmlMemBlocks();
   46232         val = gen_xmlXPathObjectPtr(n_val, 0);
   46233 
   46234         ret_val = xmlXPathConvertString(val);
   46235         val = NULL;
   46236         desret_xmlXPathObjectPtr(ret_val);
   46237         call_tests++;
   46238         des_xmlXPathObjectPtr(n_val, val, 0);
   46239         xmlResetLastError();
   46240         if (mem_base != xmlMemBlocks()) {
   46241             printf("Leak of %d blocks found in xmlXPathConvertString",
   46242 	           xmlMemBlocks() - mem_base);
   46243 	    test_ret++;
   46244             printf(" %d", n_val);
   46245             printf("\n");
   46246         }
   46247     }
   46248     function_tests++;
   46249 #endif
   46250 
   46251     return(test_ret);
   46252 }
   46253 
   46254 
   46255 static int
   46256 test_xmlXPathCtxtCompile(void) {
   46257     int test_ret = 0;
   46258 
   46259 
   46260     /* missing type support */
   46261     return(test_ret);
   46262 }
   46263 
   46264 
   46265 static int
   46266 test_xmlXPathEval(void) {
   46267     int test_ret = 0;
   46268 
   46269 #if defined(LIBXML_XPATH_ENABLED)
   46270     int mem_base;
   46271     xmlXPathObjectPtr ret_val;
   46272     xmlChar * str; /* the XPath expression */
   46273     int n_str;
   46274     xmlXPathContextPtr ctx; /* the XPath context */
   46275     int n_ctx;
   46276 
   46277     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   46278     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
   46279         mem_base = xmlMemBlocks();
   46280         str = gen_const_xmlChar_ptr(n_str, 0);
   46281         ctx = gen_xmlXPathContextPtr(n_ctx, 1);
   46282 
   46283         ret_val = xmlXPathEval((const xmlChar *)str, ctx);
   46284         desret_xmlXPathObjectPtr(ret_val);
   46285         call_tests++;
   46286         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   46287         des_xmlXPathContextPtr(n_ctx, ctx, 1);
   46288         xmlResetLastError();
   46289         if (mem_base != xmlMemBlocks()) {
   46290             printf("Leak of %d blocks found in xmlXPathEval",
   46291 	           xmlMemBlocks() - mem_base);
   46292 	    test_ret++;
   46293             printf(" %d", n_str);
   46294             printf(" %d", n_ctx);
   46295             printf("\n");
   46296         }
   46297     }
   46298     }
   46299     function_tests++;
   46300 #endif
   46301 
   46302     return(test_ret);
   46303 }
   46304 
   46305 
   46306 static int
   46307 test_xmlXPathEvalExpression(void) {
   46308     int test_ret = 0;
   46309 
   46310 #if defined(LIBXML_XPATH_ENABLED)
   46311     int mem_base;
   46312     xmlXPathObjectPtr ret_val;
   46313     xmlChar * str; /* the XPath expression */
   46314     int n_str;
   46315     xmlXPathContextPtr ctxt; /* the XPath context */
   46316     int n_ctxt;
   46317 
   46318     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   46319     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   46320         mem_base = xmlMemBlocks();
   46321         str = gen_const_xmlChar_ptr(n_str, 0);
   46322         ctxt = gen_xmlXPathContextPtr(n_ctxt, 1);
   46323 
   46324         ret_val = xmlXPathEvalExpression((const xmlChar *)str, ctxt);
   46325         desret_xmlXPathObjectPtr(ret_val);
   46326         call_tests++;
   46327         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   46328         des_xmlXPathContextPtr(n_ctxt, ctxt, 1);
   46329         xmlResetLastError();
   46330         if (mem_base != xmlMemBlocks()) {
   46331             printf("Leak of %d blocks found in xmlXPathEvalExpression",
   46332 	           xmlMemBlocks() - mem_base);
   46333 	    test_ret++;
   46334             printf(" %d", n_str);
   46335             printf(" %d", n_ctxt);
   46336             printf("\n");
   46337         }
   46338     }
   46339     }
   46340     function_tests++;
   46341 #endif
   46342 
   46343     return(test_ret);
   46344 }
   46345 
   46346 
   46347 static int
   46348 test_xmlXPathEvalPredicate(void) {
   46349     int test_ret = 0;
   46350 
   46351 #if defined(LIBXML_XPATH_ENABLED)
   46352     int mem_base;
   46353     int ret_val;
   46354     xmlXPathContextPtr ctxt; /* the XPath context */
   46355     int n_ctxt;
   46356     xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
   46357     int n_res;
   46358 
   46359     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   46360     for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
   46361         mem_base = xmlMemBlocks();
   46362         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   46363         res = gen_xmlXPathObjectPtr(n_res, 1);
   46364 
   46365         ret_val = xmlXPathEvalPredicate(ctxt, res);
   46366         desret_int(ret_val);
   46367         call_tests++;
   46368         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   46369         des_xmlXPathObjectPtr(n_res, res, 1);
   46370         xmlResetLastError();
   46371         if (mem_base != xmlMemBlocks()) {
   46372             printf("Leak of %d blocks found in xmlXPathEvalPredicate",
   46373 	           xmlMemBlocks() - mem_base);
   46374 	    test_ret++;
   46375             printf(" %d", n_ctxt);
   46376             printf(" %d", n_res);
   46377             printf("\n");
   46378         }
   46379     }
   46380     }
   46381     function_tests++;
   46382 #endif
   46383 
   46384     return(test_ret);
   46385 }
   46386 
   46387 
   46388 static int
   46389 test_xmlXPathInit(void) {
   46390     int test_ret = 0;
   46391 
   46392 #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   46393     int mem_base;
   46394 
   46395         mem_base = xmlMemBlocks();
   46396 
   46397         xmlXPathInit();
   46398         call_tests++;
   46399         xmlResetLastError();
   46400         if (mem_base != xmlMemBlocks()) {
   46401             printf("Leak of %d blocks found in xmlXPathInit",
   46402 	           xmlMemBlocks() - mem_base);
   46403 	    test_ret++;
   46404             printf("\n");
   46405         }
   46406     function_tests++;
   46407 #endif
   46408 
   46409     return(test_ret);
   46410 }
   46411 
   46412 
   46413 static int
   46414 test_xmlXPathIsInf(void) {
   46415     int test_ret = 0;
   46416 
   46417 #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   46418     int mem_base;
   46419     int ret_val;
   46420     double val; /* a double value */
   46421     int n_val;
   46422 
   46423     for (n_val = 0;n_val < gen_nb_double;n_val++) {
   46424         mem_base = xmlMemBlocks();
   46425         val = gen_double(n_val, 0);
   46426 
   46427         ret_val = xmlXPathIsInf(val);
   46428         desret_int(ret_val);
   46429         call_tests++;
   46430         des_double(n_val, val, 0);
   46431         xmlResetLastError();
   46432         if (mem_base != xmlMemBlocks()) {
   46433             printf("Leak of %d blocks found in xmlXPathIsInf",
   46434 	           xmlMemBlocks() - mem_base);
   46435 	    test_ret++;
   46436             printf(" %d", n_val);
   46437             printf("\n");
   46438         }
   46439     }
   46440     function_tests++;
   46441 #endif
   46442 
   46443     return(test_ret);
   46444 }
   46445 
   46446 
   46447 static int
   46448 test_xmlXPathIsNaN(void) {
   46449     int test_ret = 0;
   46450 
   46451 #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
   46452     int mem_base;
   46453     int ret_val;
   46454     double val; /* a double value */
   46455     int n_val;
   46456 
   46457     for (n_val = 0;n_val < gen_nb_double;n_val++) {
   46458         mem_base = xmlMemBlocks();
   46459         val = gen_double(n_val, 0);
   46460 
   46461         ret_val = xmlXPathIsNaN(val);
   46462         desret_int(ret_val);
   46463         call_tests++;
   46464         des_double(n_val, val, 0);
   46465         xmlResetLastError();
   46466         if (mem_base != xmlMemBlocks()) {
   46467             printf("Leak of %d blocks found in xmlXPathIsNaN",
   46468 	           xmlMemBlocks() - mem_base);
   46469 	    test_ret++;
   46470             printf(" %d", n_val);
   46471             printf("\n");
   46472         }
   46473     }
   46474     function_tests++;
   46475 #endif
   46476 
   46477     return(test_ret);
   46478 }
   46479 
   46480 
   46481 static int
   46482 test_xmlXPathNewContext(void) {
   46483     int test_ret = 0;
   46484 
   46485 
   46486     /* missing type support */
   46487     return(test_ret);
   46488 }
   46489 
   46490 
   46491 static int
   46492 test_xmlXPathNodeSetCreate(void) {
   46493     int test_ret = 0;
   46494 
   46495 #if defined(LIBXML_XPATH_ENABLED)
   46496     int mem_base;
   46497     xmlNodeSetPtr ret_val;
   46498     xmlNodePtr val; /* an initial xmlNodePtr, or NULL */
   46499     int n_val;
   46500 
   46501     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
   46502         mem_base = xmlMemBlocks();
   46503         val = gen_xmlNodePtr(n_val, 0);
   46504 
   46505         ret_val = xmlXPathNodeSetCreate(val);
   46506         desret_xmlNodeSetPtr(ret_val);
   46507         call_tests++;
   46508         des_xmlNodePtr(n_val, val, 0);
   46509         xmlResetLastError();
   46510         if (mem_base != xmlMemBlocks()) {
   46511             printf("Leak of %d blocks found in xmlXPathNodeSetCreate",
   46512 	           xmlMemBlocks() - mem_base);
   46513 	    test_ret++;
   46514             printf(" %d", n_val);
   46515             printf("\n");
   46516         }
   46517     }
   46518     function_tests++;
   46519 #endif
   46520 
   46521     return(test_ret);
   46522 }
   46523 
   46524 
   46525 static int
   46526 test_xmlXPathObjectCopy(void) {
   46527     int test_ret = 0;
   46528 
   46529 #if defined(LIBXML_XPATH_ENABLED)
   46530     int mem_base;
   46531     xmlXPathObjectPtr ret_val;
   46532     xmlXPathObjectPtr val; /* the original object */
   46533     int n_val;
   46534 
   46535     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   46536         mem_base = xmlMemBlocks();
   46537         val = gen_xmlXPathObjectPtr(n_val, 0);
   46538 
   46539         ret_val = xmlXPathObjectCopy(val);
   46540         desret_xmlXPathObjectPtr(ret_val);
   46541         call_tests++;
   46542         des_xmlXPathObjectPtr(n_val, val, 0);
   46543         xmlResetLastError();
   46544         if (mem_base != xmlMemBlocks()) {
   46545             printf("Leak of %d blocks found in xmlXPathObjectCopy",
   46546 	           xmlMemBlocks() - mem_base);
   46547 	    test_ret++;
   46548             printf(" %d", n_val);
   46549             printf("\n");
   46550         }
   46551     }
   46552     function_tests++;
   46553 #endif
   46554 
   46555     return(test_ret);
   46556 }
   46557 
   46558 
   46559 static int
   46560 test_xmlXPathOrderDocElems(void) {
   46561     int test_ret = 0;
   46562 
   46563 #if defined(LIBXML_XPATH_ENABLED)
   46564     int mem_base;
   46565     long ret_val;
   46566     xmlDocPtr doc; /* an input document */
   46567     int n_doc;
   46568 
   46569     for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
   46570         mem_base = xmlMemBlocks();
   46571         doc = gen_xmlDocPtr(n_doc, 0);
   46572 
   46573         ret_val = xmlXPathOrderDocElems(doc);
   46574         desret_long(ret_val);
   46575         call_tests++;
   46576         des_xmlDocPtr(n_doc, doc, 0);
   46577         xmlResetLastError();
   46578         if (mem_base != xmlMemBlocks()) {
   46579             printf("Leak of %d blocks found in xmlXPathOrderDocElems",
   46580 	           xmlMemBlocks() - mem_base);
   46581 	    test_ret++;
   46582             printf(" %d", n_doc);
   46583             printf("\n");
   46584         }
   46585     }
   46586     function_tests++;
   46587 #endif
   46588 
   46589     return(test_ret);
   46590 }
   46591 
   46592 static int
   46593 test_xpath(void) {
   46594     int test_ret = 0;
   46595 
   46596     if (quiet == 0) printf("Testing xpath : 30 of 38 functions ...\n");
   46597     test_ret += test_xmlXPathCastBooleanToNumber();
   46598     test_ret += test_xmlXPathCastBooleanToString();
   46599     test_ret += test_xmlXPathCastNodeSetToBoolean();
   46600     test_ret += test_xmlXPathCastNodeSetToNumber();
   46601     test_ret += test_xmlXPathCastNodeSetToString();
   46602     test_ret += test_xmlXPathCastNodeToNumber();
   46603     test_ret += test_xmlXPathCastNodeToString();
   46604     test_ret += test_xmlXPathCastNumberToBoolean();
   46605     test_ret += test_xmlXPathCastNumberToString();
   46606     test_ret += test_xmlXPathCastStringToBoolean();
   46607     test_ret += test_xmlXPathCastStringToNumber();
   46608     test_ret += test_xmlXPathCastToBoolean();
   46609     test_ret += test_xmlXPathCastToNumber();
   46610     test_ret += test_xmlXPathCastToString();
   46611     test_ret += test_xmlXPathCmpNodes();
   46612     test_ret += test_xmlXPathCompile();
   46613     test_ret += test_xmlXPathCompiledEval();
   46614     test_ret += test_xmlXPathCompiledEvalToBoolean();
   46615     test_ret += test_xmlXPathContextSetCache();
   46616     test_ret += test_xmlXPathConvertBoolean();
   46617     test_ret += test_xmlXPathConvertNumber();
   46618     test_ret += test_xmlXPathConvertString();
   46619     test_ret += test_xmlXPathCtxtCompile();
   46620     test_ret += test_xmlXPathEval();
   46621     test_ret += test_xmlXPathEvalExpression();
   46622     test_ret += test_xmlXPathEvalPredicate();
   46623     test_ret += test_xmlXPathInit();
   46624     test_ret += test_xmlXPathIsInf();
   46625     test_ret += test_xmlXPathIsNaN();
   46626     test_ret += test_xmlXPathNewContext();
   46627     test_ret += test_xmlXPathNodeSetCreate();
   46628     test_ret += test_xmlXPathObjectCopy();
   46629     test_ret += test_xmlXPathOrderDocElems();
   46630 
   46631     if (test_ret != 0)
   46632 	printf("Module xpath: %d errors\n", test_ret);
   46633     return(test_ret);
   46634 }
   46635 #ifdef LIBXML_XPATH_ENABLED
   46636 
   46637 #define gen_nb_xmlXPathParserContextPtr 1
   46638 static xmlXPathParserContextPtr gen_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   46639     return(NULL);
   46640 }
   46641 static void des_xmlXPathParserContextPtr(int no ATTRIBUTE_UNUSED, xmlXPathParserContextPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   46642 }
   46643 #endif
   46644 
   46645 
   46646 static int
   46647 test_valuePop(void) {
   46648     int test_ret = 0;
   46649 
   46650 #if defined(LIBXML_XPATH_ENABLED)
   46651     int mem_base;
   46652     xmlXPathObjectPtr ret_val;
   46653     xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
   46654     int n_ctxt;
   46655 
   46656     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46657         mem_base = xmlMemBlocks();
   46658         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46659 
   46660         ret_val = valuePop(ctxt);
   46661         desret_xmlXPathObjectPtr(ret_val);
   46662         call_tests++;
   46663         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46664         xmlResetLastError();
   46665         if (mem_base != xmlMemBlocks()) {
   46666             printf("Leak of %d blocks found in valuePop",
   46667 	           xmlMemBlocks() - mem_base);
   46668 	    test_ret++;
   46669             printf(" %d", n_ctxt);
   46670             printf("\n");
   46671         }
   46672     }
   46673     function_tests++;
   46674 #endif
   46675 
   46676     return(test_ret);
   46677 }
   46678 
   46679 
   46680 static int
   46681 test_valuePush(void) {
   46682     int test_ret = 0;
   46683 
   46684 #if defined(LIBXML_XPATH_ENABLED)
   46685     int mem_base;
   46686     int ret_val;
   46687     xmlXPathParserContextPtr ctxt; /* an XPath evaluation context */
   46688     int n_ctxt;
   46689     xmlXPathObjectPtr value; /* the XPath object */
   46690     int n_value;
   46691 
   46692     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46693     for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
   46694         mem_base = xmlMemBlocks();
   46695         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46696         value = gen_xmlXPathObjectPtr(n_value, 1);
   46697 
   46698         ret_val = valuePush(ctxt, value);
   46699         desret_int(ret_val);
   46700         call_tests++;
   46701         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46702         des_xmlXPathObjectPtr(n_value, value, 1);
   46703         xmlResetLastError();
   46704         if (mem_base != xmlMemBlocks()) {
   46705             printf("Leak of %d blocks found in valuePush",
   46706 	           xmlMemBlocks() - mem_base);
   46707 	    test_ret++;
   46708             printf(" %d", n_ctxt);
   46709             printf(" %d", n_value);
   46710             printf("\n");
   46711         }
   46712     }
   46713     }
   46714     function_tests++;
   46715 #endif
   46716 
   46717     return(test_ret);
   46718 }
   46719 
   46720 
   46721 static int
   46722 test_xmlXPathAddValues(void) {
   46723     int test_ret = 0;
   46724 
   46725 #if defined(LIBXML_XPATH_ENABLED)
   46726     int mem_base;
   46727     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   46728     int n_ctxt;
   46729 
   46730     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46731         mem_base = xmlMemBlocks();
   46732         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46733 
   46734         xmlXPathAddValues(ctxt);
   46735         call_tests++;
   46736         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46737         xmlResetLastError();
   46738         if (mem_base != xmlMemBlocks()) {
   46739             printf("Leak of %d blocks found in xmlXPathAddValues",
   46740 	           xmlMemBlocks() - mem_base);
   46741 	    test_ret++;
   46742             printf(" %d", n_ctxt);
   46743             printf("\n");
   46744         }
   46745     }
   46746     function_tests++;
   46747 #endif
   46748 
   46749     return(test_ret);
   46750 }
   46751 
   46752 
   46753 static int
   46754 test_xmlXPathBooleanFunction(void) {
   46755     int test_ret = 0;
   46756 
   46757 #if defined(LIBXML_XPATH_ENABLED)
   46758     int mem_base;
   46759     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   46760     int n_ctxt;
   46761     int nargs; /* the number of arguments */
   46762     int n_nargs;
   46763 
   46764     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46765     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   46766         mem_base = xmlMemBlocks();
   46767         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46768         nargs = gen_int(n_nargs, 1);
   46769 
   46770         xmlXPathBooleanFunction(ctxt, nargs);
   46771         call_tests++;
   46772         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46773         des_int(n_nargs, nargs, 1);
   46774         xmlResetLastError();
   46775         if (mem_base != xmlMemBlocks()) {
   46776             printf("Leak of %d blocks found in xmlXPathBooleanFunction",
   46777 	           xmlMemBlocks() - mem_base);
   46778 	    test_ret++;
   46779             printf(" %d", n_ctxt);
   46780             printf(" %d", n_nargs);
   46781             printf("\n");
   46782         }
   46783     }
   46784     }
   46785     function_tests++;
   46786 #endif
   46787 
   46788     return(test_ret);
   46789 }
   46790 
   46791 
   46792 static int
   46793 test_xmlXPathCeilingFunction(void) {
   46794     int test_ret = 0;
   46795 
   46796 #if defined(LIBXML_XPATH_ENABLED)
   46797     int mem_base;
   46798     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   46799     int n_ctxt;
   46800     int nargs; /* the number of arguments */
   46801     int n_nargs;
   46802 
   46803     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46804     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   46805         mem_base = xmlMemBlocks();
   46806         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46807         nargs = gen_int(n_nargs, 1);
   46808 
   46809         xmlXPathCeilingFunction(ctxt, nargs);
   46810         call_tests++;
   46811         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46812         des_int(n_nargs, nargs, 1);
   46813         xmlResetLastError();
   46814         if (mem_base != xmlMemBlocks()) {
   46815             printf("Leak of %d blocks found in xmlXPathCeilingFunction",
   46816 	           xmlMemBlocks() - mem_base);
   46817 	    test_ret++;
   46818             printf(" %d", n_ctxt);
   46819             printf(" %d", n_nargs);
   46820             printf("\n");
   46821         }
   46822     }
   46823     }
   46824     function_tests++;
   46825 #endif
   46826 
   46827     return(test_ret);
   46828 }
   46829 
   46830 
   46831 static int
   46832 test_xmlXPathCompareValues(void) {
   46833     int test_ret = 0;
   46834 
   46835 #if defined(LIBXML_XPATH_ENABLED)
   46836     int mem_base;
   46837     int ret_val;
   46838     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   46839     int n_ctxt;
   46840     int inf; /* less than (1) or greater than (0) */
   46841     int n_inf;
   46842     int strict; /* is the comparison strict */
   46843     int n_strict;
   46844 
   46845     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46846     for (n_inf = 0;n_inf < gen_nb_int;n_inf++) {
   46847     for (n_strict = 0;n_strict < gen_nb_int;n_strict++) {
   46848         mem_base = xmlMemBlocks();
   46849         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46850         inf = gen_int(n_inf, 1);
   46851         strict = gen_int(n_strict, 2);
   46852 
   46853         ret_val = xmlXPathCompareValues(ctxt, inf, strict);
   46854         desret_int(ret_val);
   46855         call_tests++;
   46856         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46857         des_int(n_inf, inf, 1);
   46858         des_int(n_strict, strict, 2);
   46859         xmlResetLastError();
   46860         if (mem_base != xmlMemBlocks()) {
   46861             printf("Leak of %d blocks found in xmlXPathCompareValues",
   46862 	           xmlMemBlocks() - mem_base);
   46863 	    test_ret++;
   46864             printf(" %d", n_ctxt);
   46865             printf(" %d", n_inf);
   46866             printf(" %d", n_strict);
   46867             printf("\n");
   46868         }
   46869     }
   46870     }
   46871     }
   46872     function_tests++;
   46873 #endif
   46874 
   46875     return(test_ret);
   46876 }
   46877 
   46878 
   46879 static int
   46880 test_xmlXPathConcatFunction(void) {
   46881     int test_ret = 0;
   46882 
   46883 #if defined(LIBXML_XPATH_ENABLED)
   46884     int mem_base;
   46885     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   46886     int n_ctxt;
   46887     int nargs; /* the number of arguments */
   46888     int n_nargs;
   46889 
   46890     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46891     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   46892         mem_base = xmlMemBlocks();
   46893         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46894         nargs = gen_int(n_nargs, 1);
   46895 
   46896         xmlXPathConcatFunction(ctxt, nargs);
   46897         call_tests++;
   46898         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46899         des_int(n_nargs, nargs, 1);
   46900         xmlResetLastError();
   46901         if (mem_base != xmlMemBlocks()) {
   46902             printf("Leak of %d blocks found in xmlXPathConcatFunction",
   46903 	           xmlMemBlocks() - mem_base);
   46904 	    test_ret++;
   46905             printf(" %d", n_ctxt);
   46906             printf(" %d", n_nargs);
   46907             printf("\n");
   46908         }
   46909     }
   46910     }
   46911     function_tests++;
   46912 #endif
   46913 
   46914     return(test_ret);
   46915 }
   46916 
   46917 
   46918 static int
   46919 test_xmlXPathContainsFunction(void) {
   46920     int test_ret = 0;
   46921 
   46922 #if defined(LIBXML_XPATH_ENABLED)
   46923     int mem_base;
   46924     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   46925     int n_ctxt;
   46926     int nargs; /* the number of arguments */
   46927     int n_nargs;
   46928 
   46929     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46930     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   46931         mem_base = xmlMemBlocks();
   46932         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46933         nargs = gen_int(n_nargs, 1);
   46934 
   46935         xmlXPathContainsFunction(ctxt, nargs);
   46936         call_tests++;
   46937         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46938         des_int(n_nargs, nargs, 1);
   46939         xmlResetLastError();
   46940         if (mem_base != xmlMemBlocks()) {
   46941             printf("Leak of %d blocks found in xmlXPathContainsFunction",
   46942 	           xmlMemBlocks() - mem_base);
   46943 	    test_ret++;
   46944             printf(" %d", n_ctxt);
   46945             printf(" %d", n_nargs);
   46946             printf("\n");
   46947         }
   46948     }
   46949     }
   46950     function_tests++;
   46951 #endif
   46952 
   46953     return(test_ret);
   46954 }
   46955 
   46956 
   46957 static int
   46958 test_xmlXPathCountFunction(void) {
   46959     int test_ret = 0;
   46960 
   46961 #if defined(LIBXML_XPATH_ENABLED)
   46962     int mem_base;
   46963     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   46964     int n_ctxt;
   46965     int nargs; /* the number of arguments */
   46966     int n_nargs;
   46967 
   46968     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   46969     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   46970         mem_base = xmlMemBlocks();
   46971         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   46972         nargs = gen_int(n_nargs, 1);
   46973 
   46974         xmlXPathCountFunction(ctxt, nargs);
   46975         call_tests++;
   46976         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   46977         des_int(n_nargs, nargs, 1);
   46978         xmlResetLastError();
   46979         if (mem_base != xmlMemBlocks()) {
   46980             printf("Leak of %d blocks found in xmlXPathCountFunction",
   46981 	           xmlMemBlocks() - mem_base);
   46982 	    test_ret++;
   46983             printf(" %d", n_ctxt);
   46984             printf(" %d", n_nargs);
   46985             printf("\n");
   46986         }
   46987     }
   46988     }
   46989     function_tests++;
   46990 #endif
   46991 
   46992     return(test_ret);
   46993 }
   46994 
   46995 
   46996 static int
   46997 test_xmlXPathDebugDumpCompExpr(void) {
   46998     int test_ret = 0;
   46999 
   47000 #if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
   47001     int mem_base;
   47002     FILE * output; /* the FILE * for the output */
   47003     int n_output;
   47004     xmlXPathCompExprPtr comp; /* the precompiled XPath expression */
   47005     int n_comp;
   47006     int depth; /* the indentation level. */
   47007     int n_depth;
   47008 
   47009     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
   47010     for (n_comp = 0;n_comp < gen_nb_xmlXPathCompExprPtr;n_comp++) {
   47011     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   47012         mem_base = xmlMemBlocks();
   47013         output = gen_FILE_ptr(n_output, 0);
   47014         comp = gen_xmlXPathCompExprPtr(n_comp, 1);
   47015         depth = gen_int(n_depth, 2);
   47016 
   47017         xmlXPathDebugDumpCompExpr(output, comp, depth);
   47018         call_tests++;
   47019         des_FILE_ptr(n_output, output, 0);
   47020         des_xmlXPathCompExprPtr(n_comp, comp, 1);
   47021         des_int(n_depth, depth, 2);
   47022         xmlResetLastError();
   47023         if (mem_base != xmlMemBlocks()) {
   47024             printf("Leak of %d blocks found in xmlXPathDebugDumpCompExpr",
   47025 	           xmlMemBlocks() - mem_base);
   47026 	    test_ret++;
   47027             printf(" %d", n_output);
   47028             printf(" %d", n_comp);
   47029             printf(" %d", n_depth);
   47030             printf("\n");
   47031         }
   47032     }
   47033     }
   47034     }
   47035     function_tests++;
   47036 #endif
   47037 
   47038     return(test_ret);
   47039 }
   47040 
   47041 
   47042 static int
   47043 test_xmlXPathDebugDumpObject(void) {
   47044     int test_ret = 0;
   47045 
   47046 #if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_DEBUG_ENABLED)
   47047     int mem_base;
   47048     FILE * output; /* the FILE * to dump the output */
   47049     int n_output;
   47050     xmlXPathObjectPtr cur; /* the object to inspect */
   47051     int n_cur;
   47052     int depth; /* indentation level */
   47053     int n_depth;
   47054 
   47055     for (n_output = 0;n_output < gen_nb_FILE_ptr;n_output++) {
   47056     for (n_cur = 0;n_cur < gen_nb_xmlXPathObjectPtr;n_cur++) {
   47057     for (n_depth = 0;n_depth < gen_nb_int;n_depth++) {
   47058         mem_base = xmlMemBlocks();
   47059         output = gen_FILE_ptr(n_output, 0);
   47060         cur = gen_xmlXPathObjectPtr(n_cur, 1);
   47061         depth = gen_int(n_depth, 2);
   47062 
   47063         xmlXPathDebugDumpObject(output, cur, depth);
   47064         call_tests++;
   47065         des_FILE_ptr(n_output, output, 0);
   47066         des_xmlXPathObjectPtr(n_cur, cur, 1);
   47067         des_int(n_depth, depth, 2);
   47068         xmlResetLastError();
   47069         if (mem_base != xmlMemBlocks()) {
   47070             printf("Leak of %d blocks found in xmlXPathDebugDumpObject",
   47071 	           xmlMemBlocks() - mem_base);
   47072 	    test_ret++;
   47073             printf(" %d", n_output);
   47074             printf(" %d", n_cur);
   47075             printf(" %d", n_depth);
   47076             printf("\n");
   47077         }
   47078     }
   47079     }
   47080     }
   47081     function_tests++;
   47082 #endif
   47083 
   47084     return(test_ret);
   47085 }
   47086 
   47087 
   47088 static int
   47089 test_xmlXPathDifference(void) {
   47090     int test_ret = 0;
   47091 
   47092 #if defined(LIBXML_XPATH_ENABLED)
   47093     int mem_base;
   47094     xmlNodeSetPtr ret_val;
   47095     xmlNodeSetPtr nodes1; /* a node-set */
   47096     int n_nodes1;
   47097     xmlNodeSetPtr nodes2; /* a node-set */
   47098     int n_nodes2;
   47099 
   47100     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
   47101     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
   47102         mem_base = xmlMemBlocks();
   47103         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
   47104         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
   47105 
   47106         ret_val = xmlXPathDifference(nodes1, nodes2);
   47107         desret_xmlNodeSetPtr(ret_val);
   47108         call_tests++;
   47109         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
   47110         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
   47111         xmlResetLastError();
   47112         if (mem_base != xmlMemBlocks()) {
   47113             printf("Leak of %d blocks found in xmlXPathDifference",
   47114 	           xmlMemBlocks() - mem_base);
   47115 	    test_ret++;
   47116             printf(" %d", n_nodes1);
   47117             printf(" %d", n_nodes2);
   47118             printf("\n");
   47119         }
   47120     }
   47121     }
   47122     function_tests++;
   47123 #endif
   47124 
   47125     return(test_ret);
   47126 }
   47127 
   47128 
   47129 static int
   47130 test_xmlXPathDistinct(void) {
   47131     int test_ret = 0;
   47132 
   47133 #if defined(LIBXML_XPATH_ENABLED)
   47134     int mem_base;
   47135     xmlNodeSetPtr ret_val;
   47136     xmlNodeSetPtr nodes; /* a node-set */
   47137     int n_nodes;
   47138 
   47139     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   47140         mem_base = xmlMemBlocks();
   47141         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
   47142 
   47143         ret_val = xmlXPathDistinct(nodes);
   47144         desret_xmlNodeSetPtr(ret_val);
   47145         call_tests++;
   47146         des_xmlNodeSetPtr(n_nodes, nodes, 0);
   47147         xmlResetLastError();
   47148         if (mem_base != xmlMemBlocks()) {
   47149             printf("Leak of %d blocks found in xmlXPathDistinct",
   47150 	           xmlMemBlocks() - mem_base);
   47151 	    test_ret++;
   47152             printf(" %d", n_nodes);
   47153             printf("\n");
   47154         }
   47155     }
   47156     function_tests++;
   47157 #endif
   47158 
   47159     return(test_ret);
   47160 }
   47161 
   47162 
   47163 static int
   47164 test_xmlXPathDistinctSorted(void) {
   47165     int test_ret = 0;
   47166 
   47167 #if defined(LIBXML_XPATH_ENABLED)
   47168     int mem_base;
   47169     xmlNodeSetPtr ret_val;
   47170     xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
   47171     int n_nodes;
   47172 
   47173     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   47174         mem_base = xmlMemBlocks();
   47175         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
   47176 
   47177         ret_val = xmlXPathDistinctSorted(nodes);
   47178         desret_xmlNodeSetPtr(ret_val);
   47179         call_tests++;
   47180         des_xmlNodeSetPtr(n_nodes, nodes, 0);
   47181         xmlResetLastError();
   47182         if (mem_base != xmlMemBlocks()) {
   47183             printf("Leak of %d blocks found in xmlXPathDistinctSorted",
   47184 	           xmlMemBlocks() - mem_base);
   47185 	    test_ret++;
   47186             printf(" %d", n_nodes);
   47187             printf("\n");
   47188         }
   47189     }
   47190     function_tests++;
   47191 #endif
   47192 
   47193     return(test_ret);
   47194 }
   47195 
   47196 
   47197 static int
   47198 test_xmlXPathDivValues(void) {
   47199     int test_ret = 0;
   47200 
   47201 #if defined(LIBXML_XPATH_ENABLED)
   47202     int mem_base;
   47203     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47204     int n_ctxt;
   47205 
   47206     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47207         mem_base = xmlMemBlocks();
   47208         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47209 
   47210         xmlXPathDivValues(ctxt);
   47211         call_tests++;
   47212         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47213         xmlResetLastError();
   47214         if (mem_base != xmlMemBlocks()) {
   47215             printf("Leak of %d blocks found in xmlXPathDivValues",
   47216 	           xmlMemBlocks() - mem_base);
   47217 	    test_ret++;
   47218             printf(" %d", n_ctxt);
   47219             printf("\n");
   47220         }
   47221     }
   47222     function_tests++;
   47223 #endif
   47224 
   47225     return(test_ret);
   47226 }
   47227 
   47228 
   47229 static int
   47230 test_xmlXPathEqualValues(void) {
   47231     int test_ret = 0;
   47232 
   47233 #if defined(LIBXML_XPATH_ENABLED)
   47234     int mem_base;
   47235     int ret_val;
   47236     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47237     int n_ctxt;
   47238 
   47239     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47240         mem_base = xmlMemBlocks();
   47241         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47242 
   47243         ret_val = xmlXPathEqualValues(ctxt);
   47244         desret_int(ret_val);
   47245         call_tests++;
   47246         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47247         xmlResetLastError();
   47248         if (mem_base != xmlMemBlocks()) {
   47249             printf("Leak of %d blocks found in xmlXPathEqualValues",
   47250 	           xmlMemBlocks() - mem_base);
   47251 	    test_ret++;
   47252             printf(" %d", n_ctxt);
   47253             printf("\n");
   47254         }
   47255     }
   47256     function_tests++;
   47257 #endif
   47258 
   47259     return(test_ret);
   47260 }
   47261 
   47262 
   47263 static int
   47264 test_xmlXPathErr(void) {
   47265     int test_ret = 0;
   47266 
   47267 #if defined(LIBXML_XPATH_ENABLED)
   47268     int mem_base;
   47269     xmlXPathParserContextPtr ctxt; /* a XPath parser context */
   47270     int n_ctxt;
   47271     int error; /* the error code */
   47272     int n_error;
   47273 
   47274     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47275     for (n_error = 0;n_error < gen_nb_int;n_error++) {
   47276         mem_base = xmlMemBlocks();
   47277         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47278         error = gen_int(n_error, 1);
   47279 
   47280         xmlXPathErr(ctxt, error);
   47281         call_tests++;
   47282         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47283         des_int(n_error, error, 1);
   47284         xmlResetLastError();
   47285         if (mem_base != xmlMemBlocks()) {
   47286             printf("Leak of %d blocks found in xmlXPathErr",
   47287 	           xmlMemBlocks() - mem_base);
   47288 	    test_ret++;
   47289             printf(" %d", n_ctxt);
   47290             printf(" %d", n_error);
   47291             printf("\n");
   47292         }
   47293     }
   47294     }
   47295     function_tests++;
   47296 #endif
   47297 
   47298     return(test_ret);
   47299 }
   47300 
   47301 
   47302 static int
   47303 test_xmlXPathEvalExpr(void) {
   47304     int test_ret = 0;
   47305 
   47306 #if defined(LIBXML_XPATH_ENABLED)
   47307     int mem_base;
   47308     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47309     int n_ctxt;
   47310 
   47311     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47312         mem_base = xmlMemBlocks();
   47313         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47314 
   47315         xmlXPathEvalExpr(ctxt);
   47316         call_tests++;
   47317         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47318         xmlResetLastError();
   47319         if (mem_base != xmlMemBlocks()) {
   47320             printf("Leak of %d blocks found in xmlXPathEvalExpr",
   47321 	           xmlMemBlocks() - mem_base);
   47322 	    test_ret++;
   47323             printf(" %d", n_ctxt);
   47324             printf("\n");
   47325         }
   47326     }
   47327     function_tests++;
   47328 #endif
   47329 
   47330     return(test_ret);
   47331 }
   47332 
   47333 
   47334 static int
   47335 test_xmlXPathEvaluatePredicateResult(void) {
   47336     int test_ret = 0;
   47337 
   47338 #if defined(LIBXML_XPATH_ENABLED)
   47339     int mem_base;
   47340     int ret_val;
   47341     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47342     int n_ctxt;
   47343     xmlXPathObjectPtr res; /* the Predicate Expression evaluation result */
   47344     int n_res;
   47345 
   47346     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47347     for (n_res = 0;n_res < gen_nb_xmlXPathObjectPtr;n_res++) {
   47348         mem_base = xmlMemBlocks();
   47349         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47350         res = gen_xmlXPathObjectPtr(n_res, 1);
   47351 
   47352         ret_val = xmlXPathEvaluatePredicateResult(ctxt, res);
   47353         desret_int(ret_val);
   47354         call_tests++;
   47355         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47356         des_xmlXPathObjectPtr(n_res, res, 1);
   47357         xmlResetLastError();
   47358         if (mem_base != xmlMemBlocks()) {
   47359             printf("Leak of %d blocks found in xmlXPathEvaluatePredicateResult",
   47360 	           xmlMemBlocks() - mem_base);
   47361 	    test_ret++;
   47362             printf(" %d", n_ctxt);
   47363             printf(" %d", n_res);
   47364             printf("\n");
   47365         }
   47366     }
   47367     }
   47368     function_tests++;
   47369 #endif
   47370 
   47371     return(test_ret);
   47372 }
   47373 
   47374 
   47375 static int
   47376 test_xmlXPathFalseFunction(void) {
   47377     int test_ret = 0;
   47378 
   47379 #if defined(LIBXML_XPATH_ENABLED)
   47380     int mem_base;
   47381     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47382     int n_ctxt;
   47383     int nargs; /* the number of arguments */
   47384     int n_nargs;
   47385 
   47386     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47387     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   47388         mem_base = xmlMemBlocks();
   47389         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47390         nargs = gen_int(n_nargs, 1);
   47391 
   47392         xmlXPathFalseFunction(ctxt, nargs);
   47393         call_tests++;
   47394         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47395         des_int(n_nargs, nargs, 1);
   47396         xmlResetLastError();
   47397         if (mem_base != xmlMemBlocks()) {
   47398             printf("Leak of %d blocks found in xmlXPathFalseFunction",
   47399 	           xmlMemBlocks() - mem_base);
   47400 	    test_ret++;
   47401             printf(" %d", n_ctxt);
   47402             printf(" %d", n_nargs);
   47403             printf("\n");
   47404         }
   47405     }
   47406     }
   47407     function_tests++;
   47408 #endif
   47409 
   47410     return(test_ret);
   47411 }
   47412 
   47413 
   47414 static int
   47415 test_xmlXPathFloorFunction(void) {
   47416     int test_ret = 0;
   47417 
   47418 #if defined(LIBXML_XPATH_ENABLED)
   47419     int mem_base;
   47420     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47421     int n_ctxt;
   47422     int nargs; /* the number of arguments */
   47423     int n_nargs;
   47424 
   47425     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47426     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   47427         mem_base = xmlMemBlocks();
   47428         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47429         nargs = gen_int(n_nargs, 1);
   47430 
   47431         xmlXPathFloorFunction(ctxt, nargs);
   47432         call_tests++;
   47433         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47434         des_int(n_nargs, nargs, 1);
   47435         xmlResetLastError();
   47436         if (mem_base != xmlMemBlocks()) {
   47437             printf("Leak of %d blocks found in xmlXPathFloorFunction",
   47438 	           xmlMemBlocks() - mem_base);
   47439 	    test_ret++;
   47440             printf(" %d", n_ctxt);
   47441             printf(" %d", n_nargs);
   47442             printf("\n");
   47443         }
   47444     }
   47445     }
   47446     function_tests++;
   47447 #endif
   47448 
   47449     return(test_ret);
   47450 }
   47451 
   47452 
   47453 static int
   47454 test_xmlXPathFunctionLookup(void) {
   47455     int test_ret = 0;
   47456 
   47457 
   47458     /* missing type support */
   47459     return(test_ret);
   47460 }
   47461 
   47462 
   47463 static int
   47464 test_xmlXPathFunctionLookupNS(void) {
   47465     int test_ret = 0;
   47466 
   47467 
   47468     /* missing type support */
   47469     return(test_ret);
   47470 }
   47471 
   47472 
   47473 static int
   47474 test_xmlXPathHasSameNodes(void) {
   47475     int test_ret = 0;
   47476 
   47477 #if defined(LIBXML_XPATH_ENABLED)
   47478     int mem_base;
   47479     int ret_val;
   47480     xmlNodeSetPtr nodes1; /* a node-set */
   47481     int n_nodes1;
   47482     xmlNodeSetPtr nodes2; /* a node-set */
   47483     int n_nodes2;
   47484 
   47485     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
   47486     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
   47487         mem_base = xmlMemBlocks();
   47488         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
   47489         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
   47490 
   47491         ret_val = xmlXPathHasSameNodes(nodes1, nodes2);
   47492         desret_int(ret_val);
   47493         call_tests++;
   47494         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
   47495         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
   47496         xmlResetLastError();
   47497         if (mem_base != xmlMemBlocks()) {
   47498             printf("Leak of %d blocks found in xmlXPathHasSameNodes",
   47499 	           xmlMemBlocks() - mem_base);
   47500 	    test_ret++;
   47501             printf(" %d", n_nodes1);
   47502             printf(" %d", n_nodes2);
   47503             printf("\n");
   47504         }
   47505     }
   47506     }
   47507     function_tests++;
   47508 #endif
   47509 
   47510     return(test_ret);
   47511 }
   47512 
   47513 
   47514 static int
   47515 test_xmlXPathIdFunction(void) {
   47516     int test_ret = 0;
   47517 
   47518 #if defined(LIBXML_XPATH_ENABLED)
   47519     int mem_base;
   47520     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47521     int n_ctxt;
   47522     int nargs; /* the number of arguments */
   47523     int n_nargs;
   47524 
   47525     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47526     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   47527         mem_base = xmlMemBlocks();
   47528         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47529         nargs = gen_int(n_nargs, 1);
   47530 
   47531         xmlXPathIdFunction(ctxt, nargs);
   47532         call_tests++;
   47533         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47534         des_int(n_nargs, nargs, 1);
   47535         xmlResetLastError();
   47536         if (mem_base != xmlMemBlocks()) {
   47537             printf("Leak of %d blocks found in xmlXPathIdFunction",
   47538 	           xmlMemBlocks() - mem_base);
   47539 	    test_ret++;
   47540             printf(" %d", n_ctxt);
   47541             printf(" %d", n_nargs);
   47542             printf("\n");
   47543         }
   47544     }
   47545     }
   47546     function_tests++;
   47547 #endif
   47548 
   47549     return(test_ret);
   47550 }
   47551 
   47552 
   47553 static int
   47554 test_xmlXPathIntersection(void) {
   47555     int test_ret = 0;
   47556 
   47557 #if defined(LIBXML_XPATH_ENABLED)
   47558     int mem_base;
   47559     xmlNodeSetPtr ret_val;
   47560     xmlNodeSetPtr nodes1; /* a node-set */
   47561     int n_nodes1;
   47562     xmlNodeSetPtr nodes2; /* a node-set */
   47563     int n_nodes2;
   47564 
   47565     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
   47566     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
   47567         mem_base = xmlMemBlocks();
   47568         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
   47569         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
   47570 
   47571         ret_val = xmlXPathIntersection(nodes1, nodes2);
   47572         desret_xmlNodeSetPtr(ret_val);
   47573         call_tests++;
   47574         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
   47575         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
   47576         xmlResetLastError();
   47577         if (mem_base != xmlMemBlocks()) {
   47578             printf("Leak of %d blocks found in xmlXPathIntersection",
   47579 	           xmlMemBlocks() - mem_base);
   47580 	    test_ret++;
   47581             printf(" %d", n_nodes1);
   47582             printf(" %d", n_nodes2);
   47583             printf("\n");
   47584         }
   47585     }
   47586     }
   47587     function_tests++;
   47588 #endif
   47589 
   47590     return(test_ret);
   47591 }
   47592 
   47593 
   47594 static int
   47595 test_xmlXPathIsNodeType(void) {
   47596     int test_ret = 0;
   47597 
   47598 #if defined(LIBXML_XPATH_ENABLED)
   47599     int mem_base;
   47600     int ret_val;
   47601     xmlChar * name; /* a name string */
   47602     int n_name;
   47603 
   47604     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   47605         mem_base = xmlMemBlocks();
   47606         name = gen_const_xmlChar_ptr(n_name, 0);
   47607 
   47608         ret_val = xmlXPathIsNodeType((const xmlChar *)name);
   47609         desret_int(ret_val);
   47610         call_tests++;
   47611         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 0);
   47612         xmlResetLastError();
   47613         if (mem_base != xmlMemBlocks()) {
   47614             printf("Leak of %d blocks found in xmlXPathIsNodeType",
   47615 	           xmlMemBlocks() - mem_base);
   47616 	    test_ret++;
   47617             printf(" %d", n_name);
   47618             printf("\n");
   47619         }
   47620     }
   47621     function_tests++;
   47622 #endif
   47623 
   47624     return(test_ret);
   47625 }
   47626 
   47627 
   47628 static int
   47629 test_xmlXPathLangFunction(void) {
   47630     int test_ret = 0;
   47631 
   47632 #if defined(LIBXML_XPATH_ENABLED)
   47633     int mem_base;
   47634     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47635     int n_ctxt;
   47636     int nargs; /* the number of arguments */
   47637     int n_nargs;
   47638 
   47639     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47640     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   47641         mem_base = xmlMemBlocks();
   47642         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47643         nargs = gen_int(n_nargs, 1);
   47644 
   47645         xmlXPathLangFunction(ctxt, nargs);
   47646         call_tests++;
   47647         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47648         des_int(n_nargs, nargs, 1);
   47649         xmlResetLastError();
   47650         if (mem_base != xmlMemBlocks()) {
   47651             printf("Leak of %d blocks found in xmlXPathLangFunction",
   47652 	           xmlMemBlocks() - mem_base);
   47653 	    test_ret++;
   47654             printf(" %d", n_ctxt);
   47655             printf(" %d", n_nargs);
   47656             printf("\n");
   47657         }
   47658     }
   47659     }
   47660     function_tests++;
   47661 #endif
   47662 
   47663     return(test_ret);
   47664 }
   47665 
   47666 
   47667 static int
   47668 test_xmlXPathLastFunction(void) {
   47669     int test_ret = 0;
   47670 
   47671 #if defined(LIBXML_XPATH_ENABLED)
   47672     int mem_base;
   47673     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47674     int n_ctxt;
   47675     int nargs; /* the number of arguments */
   47676     int n_nargs;
   47677 
   47678     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47679     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   47680         mem_base = xmlMemBlocks();
   47681         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47682         nargs = gen_int(n_nargs, 1);
   47683 
   47684         xmlXPathLastFunction(ctxt, nargs);
   47685         call_tests++;
   47686         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47687         des_int(n_nargs, nargs, 1);
   47688         xmlResetLastError();
   47689         if (mem_base != xmlMemBlocks()) {
   47690             printf("Leak of %d blocks found in xmlXPathLastFunction",
   47691 	           xmlMemBlocks() - mem_base);
   47692 	    test_ret++;
   47693             printf(" %d", n_ctxt);
   47694             printf(" %d", n_nargs);
   47695             printf("\n");
   47696         }
   47697     }
   47698     }
   47699     function_tests++;
   47700 #endif
   47701 
   47702     return(test_ret);
   47703 }
   47704 
   47705 
   47706 static int
   47707 test_xmlXPathLeading(void) {
   47708     int test_ret = 0;
   47709 
   47710 #if defined(LIBXML_XPATH_ENABLED)
   47711     int mem_base;
   47712     xmlNodeSetPtr ret_val;
   47713     xmlNodeSetPtr nodes1; /* a node-set */
   47714     int n_nodes1;
   47715     xmlNodeSetPtr nodes2; /* a node-set */
   47716     int n_nodes2;
   47717 
   47718     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
   47719     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
   47720         mem_base = xmlMemBlocks();
   47721         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
   47722         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
   47723 
   47724         ret_val = xmlXPathLeading(nodes1, nodes2);
   47725         desret_xmlNodeSetPtr(ret_val);
   47726         call_tests++;
   47727         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
   47728         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
   47729         xmlResetLastError();
   47730         if (mem_base != xmlMemBlocks()) {
   47731             printf("Leak of %d blocks found in xmlXPathLeading",
   47732 	           xmlMemBlocks() - mem_base);
   47733 	    test_ret++;
   47734             printf(" %d", n_nodes1);
   47735             printf(" %d", n_nodes2);
   47736             printf("\n");
   47737         }
   47738     }
   47739     }
   47740     function_tests++;
   47741 #endif
   47742 
   47743     return(test_ret);
   47744 }
   47745 
   47746 
   47747 static int
   47748 test_xmlXPathLeadingSorted(void) {
   47749     int test_ret = 0;
   47750 
   47751 #if defined(LIBXML_XPATH_ENABLED)
   47752     int mem_base;
   47753     xmlNodeSetPtr ret_val;
   47754     xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
   47755     int n_nodes1;
   47756     xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
   47757     int n_nodes2;
   47758 
   47759     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
   47760     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
   47761         mem_base = xmlMemBlocks();
   47762         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
   47763         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
   47764 
   47765         ret_val = xmlXPathLeadingSorted(nodes1, nodes2);
   47766         desret_xmlNodeSetPtr(ret_val);
   47767         call_tests++;
   47768         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
   47769         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
   47770         xmlResetLastError();
   47771         if (mem_base != xmlMemBlocks()) {
   47772             printf("Leak of %d blocks found in xmlXPathLeadingSorted",
   47773 	           xmlMemBlocks() - mem_base);
   47774 	    test_ret++;
   47775             printf(" %d", n_nodes1);
   47776             printf(" %d", n_nodes2);
   47777             printf("\n");
   47778         }
   47779     }
   47780     }
   47781     function_tests++;
   47782 #endif
   47783 
   47784     return(test_ret);
   47785 }
   47786 
   47787 
   47788 static int
   47789 test_xmlXPathLocalNameFunction(void) {
   47790     int test_ret = 0;
   47791 
   47792 #if defined(LIBXML_XPATH_ENABLED)
   47793     int mem_base;
   47794     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47795     int n_ctxt;
   47796     int nargs; /* the number of arguments */
   47797     int n_nargs;
   47798 
   47799     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47800     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   47801         mem_base = xmlMemBlocks();
   47802         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47803         nargs = gen_int(n_nargs, 1);
   47804 
   47805         xmlXPathLocalNameFunction(ctxt, nargs);
   47806         call_tests++;
   47807         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47808         des_int(n_nargs, nargs, 1);
   47809         xmlResetLastError();
   47810         if (mem_base != xmlMemBlocks()) {
   47811             printf("Leak of %d blocks found in xmlXPathLocalNameFunction",
   47812 	           xmlMemBlocks() - mem_base);
   47813 	    test_ret++;
   47814             printf(" %d", n_ctxt);
   47815             printf(" %d", n_nargs);
   47816             printf("\n");
   47817         }
   47818     }
   47819     }
   47820     function_tests++;
   47821 #endif
   47822 
   47823     return(test_ret);
   47824 }
   47825 
   47826 
   47827 static int
   47828 test_xmlXPathModValues(void) {
   47829     int test_ret = 0;
   47830 
   47831 #if defined(LIBXML_XPATH_ENABLED)
   47832     int mem_base;
   47833     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47834     int n_ctxt;
   47835 
   47836     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47837         mem_base = xmlMemBlocks();
   47838         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47839 
   47840         xmlXPathModValues(ctxt);
   47841         call_tests++;
   47842         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47843         xmlResetLastError();
   47844         if (mem_base != xmlMemBlocks()) {
   47845             printf("Leak of %d blocks found in xmlXPathModValues",
   47846 	           xmlMemBlocks() - mem_base);
   47847 	    test_ret++;
   47848             printf(" %d", n_ctxt);
   47849             printf("\n");
   47850         }
   47851     }
   47852     function_tests++;
   47853 #endif
   47854 
   47855     return(test_ret);
   47856 }
   47857 
   47858 
   47859 static int
   47860 test_xmlXPathMultValues(void) {
   47861     int test_ret = 0;
   47862 
   47863 #if defined(LIBXML_XPATH_ENABLED)
   47864     int mem_base;
   47865     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47866     int n_ctxt;
   47867 
   47868     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47869         mem_base = xmlMemBlocks();
   47870         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47871 
   47872         xmlXPathMultValues(ctxt);
   47873         call_tests++;
   47874         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47875         xmlResetLastError();
   47876         if (mem_base != xmlMemBlocks()) {
   47877             printf("Leak of %d blocks found in xmlXPathMultValues",
   47878 	           xmlMemBlocks() - mem_base);
   47879 	    test_ret++;
   47880             printf(" %d", n_ctxt);
   47881             printf("\n");
   47882         }
   47883     }
   47884     function_tests++;
   47885 #endif
   47886 
   47887     return(test_ret);
   47888 }
   47889 
   47890 
   47891 static int
   47892 test_xmlXPathNamespaceURIFunction(void) {
   47893     int test_ret = 0;
   47894 
   47895 #if defined(LIBXML_XPATH_ENABLED)
   47896     int mem_base;
   47897     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   47898     int n_ctxt;
   47899     int nargs; /* the number of arguments */
   47900     int n_nargs;
   47901 
   47902     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   47903     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   47904         mem_base = xmlMemBlocks();
   47905         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   47906         nargs = gen_int(n_nargs, 1);
   47907 
   47908         xmlXPathNamespaceURIFunction(ctxt, nargs);
   47909         call_tests++;
   47910         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   47911         des_int(n_nargs, nargs, 1);
   47912         xmlResetLastError();
   47913         if (mem_base != xmlMemBlocks()) {
   47914             printf("Leak of %d blocks found in xmlXPathNamespaceURIFunction",
   47915 	           xmlMemBlocks() - mem_base);
   47916 	    test_ret++;
   47917             printf(" %d", n_ctxt);
   47918             printf(" %d", n_nargs);
   47919             printf("\n");
   47920         }
   47921     }
   47922     }
   47923     function_tests++;
   47924 #endif
   47925 
   47926     return(test_ret);
   47927 }
   47928 
   47929 
   47930 static int
   47931 test_xmlXPathNewBoolean(void) {
   47932     int test_ret = 0;
   47933 
   47934 #if defined(LIBXML_XPATH_ENABLED)
   47935     int mem_base;
   47936     xmlXPathObjectPtr ret_val;
   47937     int val; /* the boolean value */
   47938     int n_val;
   47939 
   47940     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   47941         mem_base = xmlMemBlocks();
   47942         val = gen_int(n_val, 0);
   47943 
   47944         ret_val = xmlXPathNewBoolean(val);
   47945         desret_xmlXPathObjectPtr(ret_val);
   47946         call_tests++;
   47947         des_int(n_val, val, 0);
   47948         xmlResetLastError();
   47949         if (mem_base != xmlMemBlocks()) {
   47950             printf("Leak of %d blocks found in xmlXPathNewBoolean",
   47951 	           xmlMemBlocks() - mem_base);
   47952 	    test_ret++;
   47953             printf(" %d", n_val);
   47954             printf("\n");
   47955         }
   47956     }
   47957     function_tests++;
   47958 #endif
   47959 
   47960     return(test_ret);
   47961 }
   47962 
   47963 
   47964 static int
   47965 test_xmlXPathNewCString(void) {
   47966     int test_ret = 0;
   47967 
   47968 #if defined(LIBXML_XPATH_ENABLED)
   47969     int mem_base;
   47970     xmlXPathObjectPtr ret_val;
   47971     char * val; /* the char * value */
   47972     int n_val;
   47973 
   47974     for (n_val = 0;n_val < gen_nb_const_char_ptr;n_val++) {
   47975         mem_base = xmlMemBlocks();
   47976         val = gen_const_char_ptr(n_val, 0);
   47977 
   47978         ret_val = xmlXPathNewCString((const char *)val);
   47979         desret_xmlXPathObjectPtr(ret_val);
   47980         call_tests++;
   47981         des_const_char_ptr(n_val, (const char *)val, 0);
   47982         xmlResetLastError();
   47983         if (mem_base != xmlMemBlocks()) {
   47984             printf("Leak of %d blocks found in xmlXPathNewCString",
   47985 	           xmlMemBlocks() - mem_base);
   47986 	    test_ret++;
   47987             printf(" %d", n_val);
   47988             printf("\n");
   47989         }
   47990     }
   47991     function_tests++;
   47992 #endif
   47993 
   47994     return(test_ret);
   47995 }
   47996 
   47997 
   47998 static int
   47999 test_xmlXPathNewFloat(void) {
   48000     int test_ret = 0;
   48001 
   48002 #if defined(LIBXML_XPATH_ENABLED)
   48003     int mem_base;
   48004     xmlXPathObjectPtr ret_val;
   48005     double val; /* the double value */
   48006     int n_val;
   48007 
   48008     for (n_val = 0;n_val < gen_nb_double;n_val++) {
   48009         mem_base = xmlMemBlocks();
   48010         val = gen_double(n_val, 0);
   48011 
   48012         ret_val = xmlXPathNewFloat(val);
   48013         desret_xmlXPathObjectPtr(ret_val);
   48014         call_tests++;
   48015         des_double(n_val, val, 0);
   48016         xmlResetLastError();
   48017         if (mem_base != xmlMemBlocks()) {
   48018             printf("Leak of %d blocks found in xmlXPathNewFloat",
   48019 	           xmlMemBlocks() - mem_base);
   48020 	    test_ret++;
   48021             printf(" %d", n_val);
   48022             printf("\n");
   48023         }
   48024     }
   48025     function_tests++;
   48026 #endif
   48027 
   48028     return(test_ret);
   48029 }
   48030 
   48031 
   48032 static int
   48033 test_xmlXPathNewNodeSet(void) {
   48034     int test_ret = 0;
   48035 
   48036 #if defined(LIBXML_XPATH_ENABLED)
   48037     int mem_base;
   48038     xmlXPathObjectPtr ret_val;
   48039     xmlNodePtr val; /* the NodePtr value */
   48040     int n_val;
   48041 
   48042     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
   48043         mem_base = xmlMemBlocks();
   48044         val = gen_xmlNodePtr(n_val, 0);
   48045 
   48046         ret_val = xmlXPathNewNodeSet(val);
   48047         desret_xmlXPathObjectPtr(ret_val);
   48048         call_tests++;
   48049         des_xmlNodePtr(n_val, val, 0);
   48050         xmlResetLastError();
   48051         if (mem_base != xmlMemBlocks()) {
   48052             printf("Leak of %d blocks found in xmlXPathNewNodeSet",
   48053 	           xmlMemBlocks() - mem_base);
   48054 	    test_ret++;
   48055             printf(" %d", n_val);
   48056             printf("\n");
   48057         }
   48058     }
   48059     function_tests++;
   48060 #endif
   48061 
   48062     return(test_ret);
   48063 }
   48064 
   48065 
   48066 static int
   48067 test_xmlXPathNewNodeSetList(void) {
   48068     int test_ret = 0;
   48069 
   48070 #if defined(LIBXML_XPATH_ENABLED)
   48071     int mem_base;
   48072     xmlXPathObjectPtr ret_val;
   48073     xmlNodeSetPtr val; /* an existing NodeSet */
   48074     int n_val;
   48075 
   48076     for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
   48077         mem_base = xmlMemBlocks();
   48078         val = gen_xmlNodeSetPtr(n_val, 0);
   48079 
   48080         ret_val = xmlXPathNewNodeSetList(val);
   48081         desret_xmlXPathObjectPtr(ret_val);
   48082         call_tests++;
   48083         des_xmlNodeSetPtr(n_val, val, 0);
   48084         xmlResetLastError();
   48085         if (mem_base != xmlMemBlocks()) {
   48086             printf("Leak of %d blocks found in xmlXPathNewNodeSetList",
   48087 	           xmlMemBlocks() - mem_base);
   48088 	    test_ret++;
   48089             printf(" %d", n_val);
   48090             printf("\n");
   48091         }
   48092     }
   48093     function_tests++;
   48094 #endif
   48095 
   48096     return(test_ret);
   48097 }
   48098 
   48099 
   48100 static int
   48101 test_xmlXPathNewParserContext(void) {
   48102     int test_ret = 0;
   48103 
   48104 
   48105     /* missing type support */
   48106     return(test_ret);
   48107 }
   48108 
   48109 
   48110 static int
   48111 test_xmlXPathNewString(void) {
   48112     int test_ret = 0;
   48113 
   48114 #if defined(LIBXML_XPATH_ENABLED)
   48115     int mem_base;
   48116     xmlXPathObjectPtr ret_val;
   48117     xmlChar * val; /* the xmlChar * value */
   48118     int n_val;
   48119 
   48120     for (n_val = 0;n_val < gen_nb_const_xmlChar_ptr;n_val++) {
   48121         mem_base = xmlMemBlocks();
   48122         val = gen_const_xmlChar_ptr(n_val, 0);
   48123 
   48124         ret_val = xmlXPathNewString((const xmlChar *)val);
   48125         desret_xmlXPathObjectPtr(ret_val);
   48126         call_tests++;
   48127         des_const_xmlChar_ptr(n_val, (const xmlChar *)val, 0);
   48128         xmlResetLastError();
   48129         if (mem_base != xmlMemBlocks()) {
   48130             printf("Leak of %d blocks found in xmlXPathNewString",
   48131 	           xmlMemBlocks() - mem_base);
   48132 	    test_ret++;
   48133             printf(" %d", n_val);
   48134             printf("\n");
   48135         }
   48136     }
   48137     function_tests++;
   48138 #endif
   48139 
   48140     return(test_ret);
   48141 }
   48142 
   48143 
   48144 static int
   48145 test_xmlXPathNextAncestor(void) {
   48146     int test_ret = 0;
   48147 
   48148 #if defined(LIBXML_XPATH_ENABLED)
   48149     int mem_base;
   48150     xmlNodePtr ret_val;
   48151     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48152     int n_ctxt;
   48153     xmlNodePtr cur; /* the current node in the traversal */
   48154     int n_cur;
   48155 
   48156     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48157     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48158         mem_base = xmlMemBlocks();
   48159         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48160         cur = gen_xmlNodePtr(n_cur, 1);
   48161 
   48162         ret_val = xmlXPathNextAncestor(ctxt, cur);
   48163         desret_xmlNodePtr(ret_val);
   48164         call_tests++;
   48165         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48166         des_xmlNodePtr(n_cur, cur, 1);
   48167         xmlResetLastError();
   48168         if (mem_base != xmlMemBlocks()) {
   48169             printf("Leak of %d blocks found in xmlXPathNextAncestor",
   48170 	           xmlMemBlocks() - mem_base);
   48171 	    test_ret++;
   48172             printf(" %d", n_ctxt);
   48173             printf(" %d", n_cur);
   48174             printf("\n");
   48175         }
   48176     }
   48177     }
   48178     function_tests++;
   48179 #endif
   48180 
   48181     return(test_ret);
   48182 }
   48183 
   48184 
   48185 static int
   48186 test_xmlXPathNextAncestorOrSelf(void) {
   48187     int test_ret = 0;
   48188 
   48189 #if defined(LIBXML_XPATH_ENABLED)
   48190     int mem_base;
   48191     xmlNodePtr ret_val;
   48192     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48193     int n_ctxt;
   48194     xmlNodePtr cur; /* the current node in the traversal */
   48195     int n_cur;
   48196 
   48197     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48198     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48199         mem_base = xmlMemBlocks();
   48200         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48201         cur = gen_xmlNodePtr(n_cur, 1);
   48202 
   48203         ret_val = xmlXPathNextAncestorOrSelf(ctxt, cur);
   48204         desret_xmlNodePtr(ret_val);
   48205         call_tests++;
   48206         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48207         des_xmlNodePtr(n_cur, cur, 1);
   48208         xmlResetLastError();
   48209         if (mem_base != xmlMemBlocks()) {
   48210             printf("Leak of %d blocks found in xmlXPathNextAncestorOrSelf",
   48211 	           xmlMemBlocks() - mem_base);
   48212 	    test_ret++;
   48213             printf(" %d", n_ctxt);
   48214             printf(" %d", n_cur);
   48215             printf("\n");
   48216         }
   48217     }
   48218     }
   48219     function_tests++;
   48220 #endif
   48221 
   48222     return(test_ret);
   48223 }
   48224 
   48225 
   48226 static int
   48227 test_xmlXPathNextAttribute(void) {
   48228     int test_ret = 0;
   48229 
   48230 #if defined(LIBXML_XPATH_ENABLED)
   48231     int mem_base;
   48232     xmlNodePtr ret_val;
   48233     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48234     int n_ctxt;
   48235     xmlNodePtr cur; /* the current attribute in the traversal */
   48236     int n_cur;
   48237 
   48238     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48239     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48240         mem_base = xmlMemBlocks();
   48241         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48242         cur = gen_xmlNodePtr(n_cur, 1);
   48243 
   48244         ret_val = xmlXPathNextAttribute(ctxt, cur);
   48245         desret_xmlNodePtr(ret_val);
   48246         call_tests++;
   48247         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48248         des_xmlNodePtr(n_cur, cur, 1);
   48249         xmlResetLastError();
   48250         if (mem_base != xmlMemBlocks()) {
   48251             printf("Leak of %d blocks found in xmlXPathNextAttribute",
   48252 	           xmlMemBlocks() - mem_base);
   48253 	    test_ret++;
   48254             printf(" %d", n_ctxt);
   48255             printf(" %d", n_cur);
   48256             printf("\n");
   48257         }
   48258     }
   48259     }
   48260     function_tests++;
   48261 #endif
   48262 
   48263     return(test_ret);
   48264 }
   48265 
   48266 
   48267 static int
   48268 test_xmlXPathNextChild(void) {
   48269     int test_ret = 0;
   48270 
   48271 #if defined(LIBXML_XPATH_ENABLED)
   48272     int mem_base;
   48273     xmlNodePtr ret_val;
   48274     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48275     int n_ctxt;
   48276     xmlNodePtr cur; /* the current node in the traversal */
   48277     int n_cur;
   48278 
   48279     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48280     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48281         mem_base = xmlMemBlocks();
   48282         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48283         cur = gen_xmlNodePtr(n_cur, 1);
   48284 
   48285         ret_val = xmlXPathNextChild(ctxt, cur);
   48286         desret_xmlNodePtr(ret_val);
   48287         call_tests++;
   48288         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48289         des_xmlNodePtr(n_cur, cur, 1);
   48290         xmlResetLastError();
   48291         if (mem_base != xmlMemBlocks()) {
   48292             printf("Leak of %d blocks found in xmlXPathNextChild",
   48293 	           xmlMemBlocks() - mem_base);
   48294 	    test_ret++;
   48295             printf(" %d", n_ctxt);
   48296             printf(" %d", n_cur);
   48297             printf("\n");
   48298         }
   48299     }
   48300     }
   48301     function_tests++;
   48302 #endif
   48303 
   48304     return(test_ret);
   48305 }
   48306 
   48307 
   48308 static int
   48309 test_xmlXPathNextDescendant(void) {
   48310     int test_ret = 0;
   48311 
   48312 #if defined(LIBXML_XPATH_ENABLED)
   48313     int mem_base;
   48314     xmlNodePtr ret_val;
   48315     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48316     int n_ctxt;
   48317     xmlNodePtr cur; /* the current node in the traversal */
   48318     int n_cur;
   48319 
   48320     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48321     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48322         mem_base = xmlMemBlocks();
   48323         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48324         cur = gen_xmlNodePtr(n_cur, 1);
   48325 
   48326         ret_val = xmlXPathNextDescendant(ctxt, cur);
   48327         desret_xmlNodePtr(ret_val);
   48328         call_tests++;
   48329         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48330         des_xmlNodePtr(n_cur, cur, 1);
   48331         xmlResetLastError();
   48332         if (mem_base != xmlMemBlocks()) {
   48333             printf("Leak of %d blocks found in xmlXPathNextDescendant",
   48334 	           xmlMemBlocks() - mem_base);
   48335 	    test_ret++;
   48336             printf(" %d", n_ctxt);
   48337             printf(" %d", n_cur);
   48338             printf("\n");
   48339         }
   48340     }
   48341     }
   48342     function_tests++;
   48343 #endif
   48344 
   48345     return(test_ret);
   48346 }
   48347 
   48348 
   48349 static int
   48350 test_xmlXPathNextDescendantOrSelf(void) {
   48351     int test_ret = 0;
   48352 
   48353 #if defined(LIBXML_XPATH_ENABLED)
   48354     int mem_base;
   48355     xmlNodePtr ret_val;
   48356     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48357     int n_ctxt;
   48358     xmlNodePtr cur; /* the current node in the traversal */
   48359     int n_cur;
   48360 
   48361     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48362     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48363         mem_base = xmlMemBlocks();
   48364         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48365         cur = gen_xmlNodePtr(n_cur, 1);
   48366 
   48367         ret_val = xmlXPathNextDescendantOrSelf(ctxt, cur);
   48368         desret_xmlNodePtr(ret_val);
   48369         call_tests++;
   48370         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48371         des_xmlNodePtr(n_cur, cur, 1);
   48372         xmlResetLastError();
   48373         if (mem_base != xmlMemBlocks()) {
   48374             printf("Leak of %d blocks found in xmlXPathNextDescendantOrSelf",
   48375 	           xmlMemBlocks() - mem_base);
   48376 	    test_ret++;
   48377             printf(" %d", n_ctxt);
   48378             printf(" %d", n_cur);
   48379             printf("\n");
   48380         }
   48381     }
   48382     }
   48383     function_tests++;
   48384 #endif
   48385 
   48386     return(test_ret);
   48387 }
   48388 
   48389 
   48390 static int
   48391 test_xmlXPathNextFollowing(void) {
   48392     int test_ret = 0;
   48393 
   48394 #if defined(LIBXML_XPATH_ENABLED)
   48395     int mem_base;
   48396     xmlNodePtr ret_val;
   48397     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48398     int n_ctxt;
   48399     xmlNodePtr cur; /* the current node in the traversal */
   48400     int n_cur;
   48401 
   48402     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48403     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48404         mem_base = xmlMemBlocks();
   48405         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48406         cur = gen_xmlNodePtr(n_cur, 1);
   48407 
   48408         ret_val = xmlXPathNextFollowing(ctxt, cur);
   48409         desret_xmlNodePtr(ret_val);
   48410         call_tests++;
   48411         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48412         des_xmlNodePtr(n_cur, cur, 1);
   48413         xmlResetLastError();
   48414         if (mem_base != xmlMemBlocks()) {
   48415             printf("Leak of %d blocks found in xmlXPathNextFollowing",
   48416 	           xmlMemBlocks() - mem_base);
   48417 	    test_ret++;
   48418             printf(" %d", n_ctxt);
   48419             printf(" %d", n_cur);
   48420             printf("\n");
   48421         }
   48422     }
   48423     }
   48424     function_tests++;
   48425 #endif
   48426 
   48427     return(test_ret);
   48428 }
   48429 
   48430 
   48431 static int
   48432 test_xmlXPathNextFollowingSibling(void) {
   48433     int test_ret = 0;
   48434 
   48435 #if defined(LIBXML_XPATH_ENABLED)
   48436     int mem_base;
   48437     xmlNodePtr ret_val;
   48438     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48439     int n_ctxt;
   48440     xmlNodePtr cur; /* the current node in the traversal */
   48441     int n_cur;
   48442 
   48443     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48444     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48445         mem_base = xmlMemBlocks();
   48446         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48447         cur = gen_xmlNodePtr(n_cur, 1);
   48448 
   48449         ret_val = xmlXPathNextFollowingSibling(ctxt, cur);
   48450         desret_xmlNodePtr(ret_val);
   48451         call_tests++;
   48452         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48453         des_xmlNodePtr(n_cur, cur, 1);
   48454         xmlResetLastError();
   48455         if (mem_base != xmlMemBlocks()) {
   48456             printf("Leak of %d blocks found in xmlXPathNextFollowingSibling",
   48457 	           xmlMemBlocks() - mem_base);
   48458 	    test_ret++;
   48459             printf(" %d", n_ctxt);
   48460             printf(" %d", n_cur);
   48461             printf("\n");
   48462         }
   48463     }
   48464     }
   48465     function_tests++;
   48466 #endif
   48467 
   48468     return(test_ret);
   48469 }
   48470 
   48471 
   48472 static int
   48473 test_xmlXPathNextNamespace(void) {
   48474     int test_ret = 0;
   48475 
   48476 #if defined(LIBXML_XPATH_ENABLED)
   48477     int mem_base;
   48478     xmlNodePtr ret_val;
   48479     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48480     int n_ctxt;
   48481     xmlNodePtr cur; /* the current attribute in the traversal */
   48482     int n_cur;
   48483 
   48484     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48485     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48486         mem_base = xmlMemBlocks();
   48487         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48488         cur = gen_xmlNodePtr(n_cur, 1);
   48489 
   48490         ret_val = xmlXPathNextNamespace(ctxt, cur);
   48491         desret_xmlNodePtr(ret_val);
   48492         call_tests++;
   48493         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48494         des_xmlNodePtr(n_cur, cur, 1);
   48495         xmlResetLastError();
   48496         if (mem_base != xmlMemBlocks()) {
   48497             printf("Leak of %d blocks found in xmlXPathNextNamespace",
   48498 	           xmlMemBlocks() - mem_base);
   48499 	    test_ret++;
   48500             printf(" %d", n_ctxt);
   48501             printf(" %d", n_cur);
   48502             printf("\n");
   48503         }
   48504     }
   48505     }
   48506     function_tests++;
   48507 #endif
   48508 
   48509     return(test_ret);
   48510 }
   48511 
   48512 
   48513 static int
   48514 test_xmlXPathNextParent(void) {
   48515     int test_ret = 0;
   48516 
   48517 #if defined(LIBXML_XPATH_ENABLED)
   48518     int mem_base;
   48519     xmlNodePtr ret_val;
   48520     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48521     int n_ctxt;
   48522     xmlNodePtr cur; /* the current node in the traversal */
   48523     int n_cur;
   48524 
   48525     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48526     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48527         mem_base = xmlMemBlocks();
   48528         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48529         cur = gen_xmlNodePtr(n_cur, 1);
   48530 
   48531         ret_val = xmlXPathNextParent(ctxt, cur);
   48532         desret_xmlNodePtr(ret_val);
   48533         call_tests++;
   48534         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48535         des_xmlNodePtr(n_cur, cur, 1);
   48536         xmlResetLastError();
   48537         if (mem_base != xmlMemBlocks()) {
   48538             printf("Leak of %d blocks found in xmlXPathNextParent",
   48539 	           xmlMemBlocks() - mem_base);
   48540 	    test_ret++;
   48541             printf(" %d", n_ctxt);
   48542             printf(" %d", n_cur);
   48543             printf("\n");
   48544         }
   48545     }
   48546     }
   48547     function_tests++;
   48548 #endif
   48549 
   48550     return(test_ret);
   48551 }
   48552 
   48553 
   48554 static int
   48555 test_xmlXPathNextPreceding(void) {
   48556     int test_ret = 0;
   48557 
   48558 #if defined(LIBXML_XPATH_ENABLED)
   48559     int mem_base;
   48560     xmlNodePtr ret_val;
   48561     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48562     int n_ctxt;
   48563     xmlNodePtr cur; /* the current node in the traversal */
   48564     int n_cur;
   48565 
   48566     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48567     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48568         mem_base = xmlMemBlocks();
   48569         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48570         cur = gen_xmlNodePtr(n_cur, 1);
   48571 
   48572         ret_val = xmlXPathNextPreceding(ctxt, cur);
   48573         desret_xmlNodePtr(ret_val);
   48574         call_tests++;
   48575         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48576         des_xmlNodePtr(n_cur, cur, 1);
   48577         xmlResetLastError();
   48578         if (mem_base != xmlMemBlocks()) {
   48579             printf("Leak of %d blocks found in xmlXPathNextPreceding",
   48580 	           xmlMemBlocks() - mem_base);
   48581 	    test_ret++;
   48582             printf(" %d", n_ctxt);
   48583             printf(" %d", n_cur);
   48584             printf("\n");
   48585         }
   48586     }
   48587     }
   48588     function_tests++;
   48589 #endif
   48590 
   48591     return(test_ret);
   48592 }
   48593 
   48594 
   48595 static int
   48596 test_xmlXPathNextPrecedingSibling(void) {
   48597     int test_ret = 0;
   48598 
   48599 #if defined(LIBXML_XPATH_ENABLED)
   48600     int mem_base;
   48601     xmlNodePtr ret_val;
   48602     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48603     int n_ctxt;
   48604     xmlNodePtr cur; /* the current node in the traversal */
   48605     int n_cur;
   48606 
   48607     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48608     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48609         mem_base = xmlMemBlocks();
   48610         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48611         cur = gen_xmlNodePtr(n_cur, 1);
   48612 
   48613         ret_val = xmlXPathNextPrecedingSibling(ctxt, cur);
   48614         desret_xmlNodePtr(ret_val);
   48615         call_tests++;
   48616         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48617         des_xmlNodePtr(n_cur, cur, 1);
   48618         xmlResetLastError();
   48619         if (mem_base != xmlMemBlocks()) {
   48620             printf("Leak of %d blocks found in xmlXPathNextPrecedingSibling",
   48621 	           xmlMemBlocks() - mem_base);
   48622 	    test_ret++;
   48623             printf(" %d", n_ctxt);
   48624             printf(" %d", n_cur);
   48625             printf("\n");
   48626         }
   48627     }
   48628     }
   48629     function_tests++;
   48630 #endif
   48631 
   48632     return(test_ret);
   48633 }
   48634 
   48635 
   48636 static int
   48637 test_xmlXPathNextSelf(void) {
   48638     int test_ret = 0;
   48639 
   48640 #if defined(LIBXML_XPATH_ENABLED)
   48641     int mem_base;
   48642     xmlNodePtr ret_val;
   48643     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   48644     int n_ctxt;
   48645     xmlNodePtr cur; /* the current node in the traversal */
   48646     int n_cur;
   48647 
   48648     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   48649     for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
   48650         mem_base = xmlMemBlocks();
   48651         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   48652         cur = gen_xmlNodePtr(n_cur, 1);
   48653 
   48654         ret_val = xmlXPathNextSelf(ctxt, cur);
   48655         desret_xmlNodePtr(ret_val);
   48656         call_tests++;
   48657         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   48658         des_xmlNodePtr(n_cur, cur, 1);
   48659         xmlResetLastError();
   48660         if (mem_base != xmlMemBlocks()) {
   48661             printf("Leak of %d blocks found in xmlXPathNextSelf",
   48662 	           xmlMemBlocks() - mem_base);
   48663 	    test_ret++;
   48664             printf(" %d", n_ctxt);
   48665             printf(" %d", n_cur);
   48666             printf("\n");
   48667         }
   48668     }
   48669     }
   48670     function_tests++;
   48671 #endif
   48672 
   48673     return(test_ret);
   48674 }
   48675 
   48676 
   48677 static int
   48678 test_xmlXPathNodeLeading(void) {
   48679     int test_ret = 0;
   48680 
   48681 #if defined(LIBXML_XPATH_ENABLED)
   48682     int mem_base;
   48683     xmlNodeSetPtr ret_val;
   48684     xmlNodeSetPtr nodes; /* a node-set */
   48685     int n_nodes;
   48686     xmlNodePtr node; /* a node */
   48687     int n_node;
   48688 
   48689     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   48690     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   48691         mem_base = xmlMemBlocks();
   48692         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
   48693         node = gen_xmlNodePtr(n_node, 1);
   48694 
   48695         ret_val = xmlXPathNodeLeading(nodes, node);
   48696         desret_xmlNodeSetPtr(ret_val);
   48697         call_tests++;
   48698         des_xmlNodeSetPtr(n_nodes, nodes, 0);
   48699         des_xmlNodePtr(n_node, node, 1);
   48700         xmlResetLastError();
   48701         if (mem_base != xmlMemBlocks()) {
   48702             printf("Leak of %d blocks found in xmlXPathNodeLeading",
   48703 	           xmlMemBlocks() - mem_base);
   48704 	    test_ret++;
   48705             printf(" %d", n_nodes);
   48706             printf(" %d", n_node);
   48707             printf("\n");
   48708         }
   48709     }
   48710     }
   48711     function_tests++;
   48712 #endif
   48713 
   48714     return(test_ret);
   48715 }
   48716 
   48717 
   48718 static int
   48719 test_xmlXPathNodeLeadingSorted(void) {
   48720     int test_ret = 0;
   48721 
   48722 #if defined(LIBXML_XPATH_ENABLED)
   48723     int mem_base;
   48724     xmlNodeSetPtr ret_val;
   48725     xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
   48726     int n_nodes;
   48727     xmlNodePtr node; /* a node */
   48728     int n_node;
   48729 
   48730     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   48731     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   48732         mem_base = xmlMemBlocks();
   48733         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
   48734         node = gen_xmlNodePtr(n_node, 1);
   48735 
   48736         ret_val = xmlXPathNodeLeadingSorted(nodes, node);
   48737         desret_xmlNodeSetPtr(ret_val);
   48738         call_tests++;
   48739         des_xmlNodeSetPtr(n_nodes, nodes, 0);
   48740         des_xmlNodePtr(n_node, node, 1);
   48741         xmlResetLastError();
   48742         if (mem_base != xmlMemBlocks()) {
   48743             printf("Leak of %d blocks found in xmlXPathNodeLeadingSorted",
   48744 	           xmlMemBlocks() - mem_base);
   48745 	    test_ret++;
   48746             printf(" %d", n_nodes);
   48747             printf(" %d", n_node);
   48748             printf("\n");
   48749         }
   48750     }
   48751     }
   48752     function_tests++;
   48753 #endif
   48754 
   48755     return(test_ret);
   48756 }
   48757 
   48758 
   48759 static int
   48760 test_xmlXPathNodeSetAdd(void) {
   48761     int test_ret = 0;
   48762 
   48763 #if defined(LIBXML_XPATH_ENABLED)
   48764     int mem_base;
   48765     xmlNodeSetPtr cur; /* the initial node set */
   48766     int n_cur;
   48767     xmlNodePtr val; /* a new xmlNodePtr */
   48768     int n_val;
   48769 
   48770     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
   48771     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
   48772         mem_base = xmlMemBlocks();
   48773         cur = gen_xmlNodeSetPtr(n_cur, 0);
   48774         val = gen_xmlNodePtr(n_val, 1);
   48775 
   48776         xmlXPathNodeSetAdd(cur, val);
   48777         call_tests++;
   48778         des_xmlNodeSetPtr(n_cur, cur, 0);
   48779         des_xmlNodePtr(n_val, val, 1);
   48780         xmlResetLastError();
   48781         if (mem_base != xmlMemBlocks()) {
   48782             printf("Leak of %d blocks found in xmlXPathNodeSetAdd",
   48783 	           xmlMemBlocks() - mem_base);
   48784 	    test_ret++;
   48785             printf(" %d", n_cur);
   48786             printf(" %d", n_val);
   48787             printf("\n");
   48788         }
   48789     }
   48790     }
   48791     function_tests++;
   48792 #endif
   48793 
   48794     return(test_ret);
   48795 }
   48796 
   48797 
   48798 static int
   48799 test_xmlXPathNodeSetAddNs(void) {
   48800     int test_ret = 0;
   48801 
   48802 #if defined(LIBXML_XPATH_ENABLED)
   48803     int mem_base;
   48804     xmlNodeSetPtr cur; /* the initial node set */
   48805     int n_cur;
   48806     xmlNodePtr node; /* the hosting node */
   48807     int n_node;
   48808     xmlNsPtr ns; /* a the namespace node */
   48809     int n_ns;
   48810 
   48811     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
   48812     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   48813     for (n_ns = 0;n_ns < gen_nb_xmlNsPtr;n_ns++) {
   48814         mem_base = xmlMemBlocks();
   48815         cur = gen_xmlNodeSetPtr(n_cur, 0);
   48816         node = gen_xmlNodePtr(n_node, 1);
   48817         ns = gen_xmlNsPtr(n_ns, 2);
   48818 
   48819         xmlXPathNodeSetAddNs(cur, node, ns);
   48820         call_tests++;
   48821         des_xmlNodeSetPtr(n_cur, cur, 0);
   48822         des_xmlNodePtr(n_node, node, 1);
   48823         des_xmlNsPtr(n_ns, ns, 2);
   48824         xmlResetLastError();
   48825         if (mem_base != xmlMemBlocks()) {
   48826             printf("Leak of %d blocks found in xmlXPathNodeSetAddNs",
   48827 	           xmlMemBlocks() - mem_base);
   48828 	    test_ret++;
   48829             printf(" %d", n_cur);
   48830             printf(" %d", n_node);
   48831             printf(" %d", n_ns);
   48832             printf("\n");
   48833         }
   48834     }
   48835     }
   48836     }
   48837     function_tests++;
   48838 #endif
   48839 
   48840     return(test_ret);
   48841 }
   48842 
   48843 
   48844 static int
   48845 test_xmlXPathNodeSetAddUnique(void) {
   48846     int test_ret = 0;
   48847 
   48848 #if defined(LIBXML_XPATH_ENABLED)
   48849     int mem_base;
   48850     xmlNodeSetPtr cur; /* the initial node set */
   48851     int n_cur;
   48852     xmlNodePtr val; /* a new xmlNodePtr */
   48853     int n_val;
   48854 
   48855     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
   48856     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
   48857         mem_base = xmlMemBlocks();
   48858         cur = gen_xmlNodeSetPtr(n_cur, 0);
   48859         val = gen_xmlNodePtr(n_val, 1);
   48860 
   48861         xmlXPathNodeSetAddUnique(cur, val);
   48862         call_tests++;
   48863         des_xmlNodeSetPtr(n_cur, cur, 0);
   48864         des_xmlNodePtr(n_val, val, 1);
   48865         xmlResetLastError();
   48866         if (mem_base != xmlMemBlocks()) {
   48867             printf("Leak of %d blocks found in xmlXPathNodeSetAddUnique",
   48868 	           xmlMemBlocks() - mem_base);
   48869 	    test_ret++;
   48870             printf(" %d", n_cur);
   48871             printf(" %d", n_val);
   48872             printf("\n");
   48873         }
   48874     }
   48875     }
   48876     function_tests++;
   48877 #endif
   48878 
   48879     return(test_ret);
   48880 }
   48881 
   48882 
   48883 static int
   48884 test_xmlXPathNodeSetContains(void) {
   48885     int test_ret = 0;
   48886 
   48887 #if defined(LIBXML_XPATH_ENABLED)
   48888     int mem_base;
   48889     int ret_val;
   48890     xmlNodeSetPtr cur; /* the node-set */
   48891     int n_cur;
   48892     xmlNodePtr val; /* the node */
   48893     int n_val;
   48894 
   48895     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
   48896     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
   48897         mem_base = xmlMemBlocks();
   48898         cur = gen_xmlNodeSetPtr(n_cur, 0);
   48899         val = gen_xmlNodePtr(n_val, 1);
   48900 
   48901         ret_val = xmlXPathNodeSetContains(cur, val);
   48902         desret_int(ret_val);
   48903         call_tests++;
   48904         des_xmlNodeSetPtr(n_cur, cur, 0);
   48905         des_xmlNodePtr(n_val, val, 1);
   48906         xmlResetLastError();
   48907         if (mem_base != xmlMemBlocks()) {
   48908             printf("Leak of %d blocks found in xmlXPathNodeSetContains",
   48909 	           xmlMemBlocks() - mem_base);
   48910 	    test_ret++;
   48911             printf(" %d", n_cur);
   48912             printf(" %d", n_val);
   48913             printf("\n");
   48914         }
   48915     }
   48916     }
   48917     function_tests++;
   48918 #endif
   48919 
   48920     return(test_ret);
   48921 }
   48922 
   48923 
   48924 static int
   48925 test_xmlXPathNodeSetDel(void) {
   48926     int test_ret = 0;
   48927 
   48928 #if defined(LIBXML_XPATH_ENABLED)
   48929     int mem_base;
   48930     xmlNodeSetPtr cur; /* the initial node set */
   48931     int n_cur;
   48932     xmlNodePtr val; /* an xmlNodePtr */
   48933     int n_val;
   48934 
   48935     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
   48936     for (n_val = 0;n_val < gen_nb_xmlNodePtr;n_val++) {
   48937         mem_base = xmlMemBlocks();
   48938         cur = gen_xmlNodeSetPtr(n_cur, 0);
   48939         val = gen_xmlNodePtr(n_val, 1);
   48940 
   48941         xmlXPathNodeSetDel(cur, val);
   48942         call_tests++;
   48943         des_xmlNodeSetPtr(n_cur, cur, 0);
   48944         des_xmlNodePtr(n_val, val, 1);
   48945         xmlResetLastError();
   48946         if (mem_base != xmlMemBlocks()) {
   48947             printf("Leak of %d blocks found in xmlXPathNodeSetDel",
   48948 	           xmlMemBlocks() - mem_base);
   48949 	    test_ret++;
   48950             printf(" %d", n_cur);
   48951             printf(" %d", n_val);
   48952             printf("\n");
   48953         }
   48954     }
   48955     }
   48956     function_tests++;
   48957 #endif
   48958 
   48959     return(test_ret);
   48960 }
   48961 
   48962 
   48963 static int
   48964 test_xmlXPathNodeSetMerge(void) {
   48965     int test_ret = 0;
   48966 
   48967 #if defined(LIBXML_XPATH_ENABLED)
   48968     int mem_base;
   48969     xmlNodeSetPtr ret_val;
   48970     xmlNodeSetPtr val1; /* the first NodeSet or NULL */
   48971     int n_val1;
   48972     xmlNodeSetPtr val2; /* the second NodeSet */
   48973     int n_val2;
   48974 
   48975     for (n_val1 = 0;n_val1 < gen_nb_xmlNodeSetPtr;n_val1++) {
   48976     for (n_val2 = 0;n_val2 < gen_nb_xmlNodeSetPtr;n_val2++) {
   48977         mem_base = xmlMemBlocks();
   48978         val1 = gen_xmlNodeSetPtr(n_val1, 0);
   48979         val2 = gen_xmlNodeSetPtr(n_val2, 1);
   48980 
   48981         ret_val = xmlXPathNodeSetMerge(val1, val2);
   48982         desret_xmlNodeSetPtr(ret_val);
   48983         call_tests++;
   48984         des_xmlNodeSetPtr(n_val1, val1, 0);
   48985         des_xmlNodeSetPtr(n_val2, val2, 1);
   48986         xmlResetLastError();
   48987         if (mem_base != xmlMemBlocks()) {
   48988             printf("Leak of %d blocks found in xmlXPathNodeSetMerge",
   48989 	           xmlMemBlocks() - mem_base);
   48990 	    test_ret++;
   48991             printf(" %d", n_val1);
   48992             printf(" %d", n_val2);
   48993             printf("\n");
   48994         }
   48995     }
   48996     }
   48997     function_tests++;
   48998 #endif
   48999 
   49000     return(test_ret);
   49001 }
   49002 
   49003 
   49004 static int
   49005 test_xmlXPathNodeSetRemove(void) {
   49006     int test_ret = 0;
   49007 
   49008 #if defined(LIBXML_XPATH_ENABLED)
   49009     int mem_base;
   49010     xmlNodeSetPtr cur; /* the initial node set */
   49011     int n_cur;
   49012     int val; /* the index to remove */
   49013     int n_val;
   49014 
   49015     for (n_cur = 0;n_cur < gen_nb_xmlNodeSetPtr;n_cur++) {
   49016     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   49017         mem_base = xmlMemBlocks();
   49018         cur = gen_xmlNodeSetPtr(n_cur, 0);
   49019         val = gen_int(n_val, 1);
   49020 
   49021         xmlXPathNodeSetRemove(cur, val);
   49022         call_tests++;
   49023         des_xmlNodeSetPtr(n_cur, cur, 0);
   49024         des_int(n_val, val, 1);
   49025         xmlResetLastError();
   49026         if (mem_base != xmlMemBlocks()) {
   49027             printf("Leak of %d blocks found in xmlXPathNodeSetRemove",
   49028 	           xmlMemBlocks() - mem_base);
   49029 	    test_ret++;
   49030             printf(" %d", n_cur);
   49031             printf(" %d", n_val);
   49032             printf("\n");
   49033         }
   49034     }
   49035     }
   49036     function_tests++;
   49037 #endif
   49038 
   49039     return(test_ret);
   49040 }
   49041 
   49042 
   49043 static int
   49044 test_xmlXPathNodeSetSort(void) {
   49045     int test_ret = 0;
   49046 
   49047 #if defined(LIBXML_XPATH_ENABLED)
   49048     int mem_base;
   49049     xmlNodeSetPtr set; /* the node set */
   49050     int n_set;
   49051 
   49052     for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
   49053         mem_base = xmlMemBlocks();
   49054         set = gen_xmlNodeSetPtr(n_set, 0);
   49055 
   49056         xmlXPathNodeSetSort(set);
   49057         call_tests++;
   49058         des_xmlNodeSetPtr(n_set, set, 0);
   49059         xmlResetLastError();
   49060         if (mem_base != xmlMemBlocks()) {
   49061             printf("Leak of %d blocks found in xmlXPathNodeSetSort",
   49062 	           xmlMemBlocks() - mem_base);
   49063 	    test_ret++;
   49064             printf(" %d", n_set);
   49065             printf("\n");
   49066         }
   49067     }
   49068     function_tests++;
   49069 #endif
   49070 
   49071     return(test_ret);
   49072 }
   49073 
   49074 
   49075 static int
   49076 test_xmlXPathNodeTrailing(void) {
   49077     int test_ret = 0;
   49078 
   49079 #if defined(LIBXML_XPATH_ENABLED)
   49080     int mem_base;
   49081     xmlNodeSetPtr ret_val;
   49082     xmlNodeSetPtr nodes; /* a node-set */
   49083     int n_nodes;
   49084     xmlNodePtr node; /* a node */
   49085     int n_node;
   49086 
   49087     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   49088     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   49089         mem_base = xmlMemBlocks();
   49090         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
   49091         node = gen_xmlNodePtr(n_node, 1);
   49092 
   49093         ret_val = xmlXPathNodeTrailing(nodes, node);
   49094         desret_xmlNodeSetPtr(ret_val);
   49095         call_tests++;
   49096         des_xmlNodeSetPtr(n_nodes, nodes, 0);
   49097         des_xmlNodePtr(n_node, node, 1);
   49098         xmlResetLastError();
   49099         if (mem_base != xmlMemBlocks()) {
   49100             printf("Leak of %d blocks found in xmlXPathNodeTrailing",
   49101 	           xmlMemBlocks() - mem_base);
   49102 	    test_ret++;
   49103             printf(" %d", n_nodes);
   49104             printf(" %d", n_node);
   49105             printf("\n");
   49106         }
   49107     }
   49108     }
   49109     function_tests++;
   49110 #endif
   49111 
   49112     return(test_ret);
   49113 }
   49114 
   49115 
   49116 static int
   49117 test_xmlXPathNodeTrailingSorted(void) {
   49118     int test_ret = 0;
   49119 
   49120 #if defined(LIBXML_XPATH_ENABLED)
   49121     int mem_base;
   49122     xmlNodeSetPtr ret_val;
   49123     xmlNodeSetPtr nodes; /* a node-set, sorted by document order */
   49124     int n_nodes;
   49125     xmlNodePtr node; /* a node */
   49126     int n_node;
   49127 
   49128     for (n_nodes = 0;n_nodes < gen_nb_xmlNodeSetPtr;n_nodes++) {
   49129     for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
   49130         mem_base = xmlMemBlocks();
   49131         nodes = gen_xmlNodeSetPtr(n_nodes, 0);
   49132         node = gen_xmlNodePtr(n_node, 1);
   49133 
   49134         ret_val = xmlXPathNodeTrailingSorted(nodes, node);
   49135         desret_xmlNodeSetPtr(ret_val);
   49136         call_tests++;
   49137         des_xmlNodeSetPtr(n_nodes, nodes, 0);
   49138         des_xmlNodePtr(n_node, node, 1);
   49139         xmlResetLastError();
   49140         if (mem_base != xmlMemBlocks()) {
   49141             printf("Leak of %d blocks found in xmlXPathNodeTrailingSorted",
   49142 	           xmlMemBlocks() - mem_base);
   49143 	    test_ret++;
   49144             printf(" %d", n_nodes);
   49145             printf(" %d", n_node);
   49146             printf("\n");
   49147         }
   49148     }
   49149     }
   49150     function_tests++;
   49151 #endif
   49152 
   49153     return(test_ret);
   49154 }
   49155 
   49156 
   49157 static int
   49158 test_xmlXPathNormalizeFunction(void) {
   49159     int test_ret = 0;
   49160 
   49161 #if defined(LIBXML_XPATH_ENABLED)
   49162     int mem_base;
   49163     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49164     int n_ctxt;
   49165     int nargs; /* the number of arguments */
   49166     int n_nargs;
   49167 
   49168     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49169     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   49170         mem_base = xmlMemBlocks();
   49171         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49172         nargs = gen_int(n_nargs, 1);
   49173 
   49174         xmlXPathNormalizeFunction(ctxt, nargs);
   49175         call_tests++;
   49176         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49177         des_int(n_nargs, nargs, 1);
   49178         xmlResetLastError();
   49179         if (mem_base != xmlMemBlocks()) {
   49180             printf("Leak of %d blocks found in xmlXPathNormalizeFunction",
   49181 	           xmlMemBlocks() - mem_base);
   49182 	    test_ret++;
   49183             printf(" %d", n_ctxt);
   49184             printf(" %d", n_nargs);
   49185             printf("\n");
   49186         }
   49187     }
   49188     }
   49189     function_tests++;
   49190 #endif
   49191 
   49192     return(test_ret);
   49193 }
   49194 
   49195 
   49196 static int
   49197 test_xmlXPathNotEqualValues(void) {
   49198     int test_ret = 0;
   49199 
   49200 #if defined(LIBXML_XPATH_ENABLED)
   49201     int mem_base;
   49202     int ret_val;
   49203     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49204     int n_ctxt;
   49205 
   49206     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49207         mem_base = xmlMemBlocks();
   49208         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49209 
   49210         ret_val = xmlXPathNotEqualValues(ctxt);
   49211         desret_int(ret_val);
   49212         call_tests++;
   49213         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49214         xmlResetLastError();
   49215         if (mem_base != xmlMemBlocks()) {
   49216             printf("Leak of %d blocks found in xmlXPathNotEqualValues",
   49217 	           xmlMemBlocks() - mem_base);
   49218 	    test_ret++;
   49219             printf(" %d", n_ctxt);
   49220             printf("\n");
   49221         }
   49222     }
   49223     function_tests++;
   49224 #endif
   49225 
   49226     return(test_ret);
   49227 }
   49228 
   49229 
   49230 static int
   49231 test_xmlXPathNotFunction(void) {
   49232     int test_ret = 0;
   49233 
   49234 #if defined(LIBXML_XPATH_ENABLED)
   49235     int mem_base;
   49236     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49237     int n_ctxt;
   49238     int nargs; /* the number of arguments */
   49239     int n_nargs;
   49240 
   49241     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49242     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   49243         mem_base = xmlMemBlocks();
   49244         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49245         nargs = gen_int(n_nargs, 1);
   49246 
   49247         xmlXPathNotFunction(ctxt, nargs);
   49248         call_tests++;
   49249         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49250         des_int(n_nargs, nargs, 1);
   49251         xmlResetLastError();
   49252         if (mem_base != xmlMemBlocks()) {
   49253             printf("Leak of %d blocks found in xmlXPathNotFunction",
   49254 	           xmlMemBlocks() - mem_base);
   49255 	    test_ret++;
   49256             printf(" %d", n_ctxt);
   49257             printf(" %d", n_nargs);
   49258             printf("\n");
   49259         }
   49260     }
   49261     }
   49262     function_tests++;
   49263 #endif
   49264 
   49265     return(test_ret);
   49266 }
   49267 
   49268 
   49269 static int
   49270 test_xmlXPathNsLookup(void) {
   49271     int test_ret = 0;
   49272 
   49273 #if defined(LIBXML_XPATH_ENABLED)
   49274     int mem_base;
   49275     const xmlChar * ret_val;
   49276     xmlXPathContextPtr ctxt; /* the XPath context */
   49277     int n_ctxt;
   49278     xmlChar * prefix; /* the namespace prefix value */
   49279     int n_prefix;
   49280 
   49281     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49282     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   49283         mem_base = xmlMemBlocks();
   49284         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49285         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   49286 
   49287         ret_val = xmlXPathNsLookup(ctxt, (const xmlChar *)prefix);
   49288         desret_const_xmlChar_ptr(ret_val);
   49289         call_tests++;
   49290         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49291         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   49292         xmlResetLastError();
   49293         if (mem_base != xmlMemBlocks()) {
   49294             printf("Leak of %d blocks found in xmlXPathNsLookup",
   49295 	           xmlMemBlocks() - mem_base);
   49296 	    test_ret++;
   49297             printf(" %d", n_ctxt);
   49298             printf(" %d", n_prefix);
   49299             printf("\n");
   49300         }
   49301     }
   49302     }
   49303     function_tests++;
   49304 #endif
   49305 
   49306     return(test_ret);
   49307 }
   49308 
   49309 
   49310 static int
   49311 test_xmlXPathNumberFunction(void) {
   49312     int test_ret = 0;
   49313 
   49314 #if defined(LIBXML_XPATH_ENABLED)
   49315     int mem_base;
   49316     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49317     int n_ctxt;
   49318     int nargs; /* the number of arguments */
   49319     int n_nargs;
   49320 
   49321     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49322     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   49323         mem_base = xmlMemBlocks();
   49324         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49325         nargs = gen_int(n_nargs, 1);
   49326 
   49327         xmlXPathNumberFunction(ctxt, nargs);
   49328         call_tests++;
   49329         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49330         des_int(n_nargs, nargs, 1);
   49331         xmlResetLastError();
   49332         if (mem_base != xmlMemBlocks()) {
   49333             printf("Leak of %d blocks found in xmlXPathNumberFunction",
   49334 	           xmlMemBlocks() - mem_base);
   49335 	    test_ret++;
   49336             printf(" %d", n_ctxt);
   49337             printf(" %d", n_nargs);
   49338             printf("\n");
   49339         }
   49340     }
   49341     }
   49342     function_tests++;
   49343 #endif
   49344 
   49345     return(test_ret);
   49346 }
   49347 
   49348 
   49349 static int
   49350 test_xmlXPathParseNCName(void) {
   49351     int test_ret = 0;
   49352 
   49353 #if defined(LIBXML_XPATH_ENABLED)
   49354     int mem_base;
   49355     xmlChar * ret_val;
   49356     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49357     int n_ctxt;
   49358 
   49359     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49360         mem_base = xmlMemBlocks();
   49361         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49362 
   49363         ret_val = xmlXPathParseNCName(ctxt);
   49364         desret_xmlChar_ptr(ret_val);
   49365         call_tests++;
   49366         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49367         xmlResetLastError();
   49368         if (mem_base != xmlMemBlocks()) {
   49369             printf("Leak of %d blocks found in xmlXPathParseNCName",
   49370 	           xmlMemBlocks() - mem_base);
   49371 	    test_ret++;
   49372             printf(" %d", n_ctxt);
   49373             printf("\n");
   49374         }
   49375     }
   49376     function_tests++;
   49377 #endif
   49378 
   49379     return(test_ret);
   49380 }
   49381 
   49382 
   49383 static int
   49384 test_xmlXPathParseName(void) {
   49385     int test_ret = 0;
   49386 
   49387 #if defined(LIBXML_XPATH_ENABLED)
   49388     int mem_base;
   49389     xmlChar * ret_val;
   49390     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49391     int n_ctxt;
   49392 
   49393     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49394         mem_base = xmlMemBlocks();
   49395         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49396 
   49397         ret_val = xmlXPathParseName(ctxt);
   49398         desret_xmlChar_ptr(ret_val);
   49399         call_tests++;
   49400         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49401         xmlResetLastError();
   49402         if (mem_base != xmlMemBlocks()) {
   49403             printf("Leak of %d blocks found in xmlXPathParseName",
   49404 	           xmlMemBlocks() - mem_base);
   49405 	    test_ret++;
   49406             printf(" %d", n_ctxt);
   49407             printf("\n");
   49408         }
   49409     }
   49410     function_tests++;
   49411 #endif
   49412 
   49413     return(test_ret);
   49414 }
   49415 
   49416 
   49417 static int
   49418 test_xmlXPathPopBoolean(void) {
   49419     int test_ret = 0;
   49420 
   49421 #if defined(LIBXML_XPATH_ENABLED)
   49422     int mem_base;
   49423     int ret_val;
   49424     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
   49425     int n_ctxt;
   49426 
   49427     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49428         mem_base = xmlMemBlocks();
   49429         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49430 
   49431         ret_val = xmlXPathPopBoolean(ctxt);
   49432         desret_int(ret_val);
   49433         call_tests++;
   49434         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49435         xmlResetLastError();
   49436         if (mem_base != xmlMemBlocks()) {
   49437             printf("Leak of %d blocks found in xmlXPathPopBoolean",
   49438 	           xmlMemBlocks() - mem_base);
   49439 	    test_ret++;
   49440             printf(" %d", n_ctxt);
   49441             printf("\n");
   49442         }
   49443     }
   49444     function_tests++;
   49445 #endif
   49446 
   49447     return(test_ret);
   49448 }
   49449 
   49450 
   49451 static int
   49452 test_xmlXPathPopExternal(void) {
   49453     int test_ret = 0;
   49454 
   49455 #if defined(LIBXML_XPATH_ENABLED)
   49456     int mem_base;
   49457     void * ret_val;
   49458     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
   49459     int n_ctxt;
   49460 
   49461     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49462         mem_base = xmlMemBlocks();
   49463         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49464 
   49465         ret_val = xmlXPathPopExternal(ctxt);
   49466         desret_void_ptr(ret_val);
   49467         call_tests++;
   49468         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49469         xmlResetLastError();
   49470         if (mem_base != xmlMemBlocks()) {
   49471             printf("Leak of %d blocks found in xmlXPathPopExternal",
   49472 	           xmlMemBlocks() - mem_base);
   49473 	    test_ret++;
   49474             printf(" %d", n_ctxt);
   49475             printf("\n");
   49476         }
   49477     }
   49478     function_tests++;
   49479 #endif
   49480 
   49481     return(test_ret);
   49482 }
   49483 
   49484 
   49485 static int
   49486 test_xmlXPathPopNodeSet(void) {
   49487     int test_ret = 0;
   49488 
   49489 #if defined(LIBXML_XPATH_ENABLED)
   49490     int mem_base;
   49491     xmlNodeSetPtr ret_val;
   49492     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
   49493     int n_ctxt;
   49494 
   49495     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49496         mem_base = xmlMemBlocks();
   49497         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49498 
   49499         ret_val = xmlXPathPopNodeSet(ctxt);
   49500         desret_xmlNodeSetPtr(ret_val);
   49501         call_tests++;
   49502         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49503         xmlResetLastError();
   49504         if (mem_base != xmlMemBlocks()) {
   49505             printf("Leak of %d blocks found in xmlXPathPopNodeSet",
   49506 	           xmlMemBlocks() - mem_base);
   49507 	    test_ret++;
   49508             printf(" %d", n_ctxt);
   49509             printf("\n");
   49510         }
   49511     }
   49512     function_tests++;
   49513 #endif
   49514 
   49515     return(test_ret);
   49516 }
   49517 
   49518 
   49519 static int
   49520 test_xmlXPathPopNumber(void) {
   49521     int test_ret = 0;
   49522 
   49523 #if defined(LIBXML_XPATH_ENABLED)
   49524     int mem_base;
   49525     double ret_val;
   49526     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
   49527     int n_ctxt;
   49528 
   49529     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49530         mem_base = xmlMemBlocks();
   49531         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49532 
   49533         ret_val = xmlXPathPopNumber(ctxt);
   49534         desret_double(ret_val);
   49535         call_tests++;
   49536         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49537         xmlResetLastError();
   49538         if (mem_base != xmlMemBlocks()) {
   49539             printf("Leak of %d blocks found in xmlXPathPopNumber",
   49540 	           xmlMemBlocks() - mem_base);
   49541 	    test_ret++;
   49542             printf(" %d", n_ctxt);
   49543             printf("\n");
   49544         }
   49545     }
   49546     function_tests++;
   49547 #endif
   49548 
   49549     return(test_ret);
   49550 }
   49551 
   49552 
   49553 static int
   49554 test_xmlXPathPopString(void) {
   49555     int test_ret = 0;
   49556 
   49557 #if defined(LIBXML_XPATH_ENABLED)
   49558     int mem_base;
   49559     xmlChar * ret_val;
   49560     xmlXPathParserContextPtr ctxt; /* an XPath parser context */
   49561     int n_ctxt;
   49562 
   49563     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49564         mem_base = xmlMemBlocks();
   49565         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49566 
   49567         ret_val = xmlXPathPopString(ctxt);
   49568         desret_xmlChar_ptr(ret_val);
   49569         call_tests++;
   49570         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49571         xmlResetLastError();
   49572         if (mem_base != xmlMemBlocks()) {
   49573             printf("Leak of %d blocks found in xmlXPathPopString",
   49574 	           xmlMemBlocks() - mem_base);
   49575 	    test_ret++;
   49576             printf(" %d", n_ctxt);
   49577             printf("\n");
   49578         }
   49579     }
   49580     function_tests++;
   49581 #endif
   49582 
   49583     return(test_ret);
   49584 }
   49585 
   49586 
   49587 static int
   49588 test_xmlXPathPositionFunction(void) {
   49589     int test_ret = 0;
   49590 
   49591 #if defined(LIBXML_XPATH_ENABLED)
   49592     int mem_base;
   49593     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49594     int n_ctxt;
   49595     int nargs; /* the number of arguments */
   49596     int n_nargs;
   49597 
   49598     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49599     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   49600         mem_base = xmlMemBlocks();
   49601         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49602         nargs = gen_int(n_nargs, 1);
   49603 
   49604         xmlXPathPositionFunction(ctxt, nargs);
   49605         call_tests++;
   49606         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49607         des_int(n_nargs, nargs, 1);
   49608         xmlResetLastError();
   49609         if (mem_base != xmlMemBlocks()) {
   49610             printf("Leak of %d blocks found in xmlXPathPositionFunction",
   49611 	           xmlMemBlocks() - mem_base);
   49612 	    test_ret++;
   49613             printf(" %d", n_ctxt);
   49614             printf(" %d", n_nargs);
   49615             printf("\n");
   49616         }
   49617     }
   49618     }
   49619     function_tests++;
   49620 #endif
   49621 
   49622     return(test_ret);
   49623 }
   49624 
   49625 
   49626 static int
   49627 test_xmlXPathRegisterAllFunctions(void) {
   49628     int test_ret = 0;
   49629 
   49630 #if defined(LIBXML_XPATH_ENABLED)
   49631     int mem_base;
   49632     xmlXPathContextPtr ctxt; /* the XPath context */
   49633     int n_ctxt;
   49634 
   49635     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49636         mem_base = xmlMemBlocks();
   49637         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49638 
   49639         xmlXPathRegisterAllFunctions(ctxt);
   49640         call_tests++;
   49641         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49642         xmlResetLastError();
   49643         if (mem_base != xmlMemBlocks()) {
   49644             printf("Leak of %d blocks found in xmlXPathRegisterAllFunctions",
   49645 	           xmlMemBlocks() - mem_base);
   49646 	    test_ret++;
   49647             printf(" %d", n_ctxt);
   49648             printf("\n");
   49649         }
   49650     }
   49651     function_tests++;
   49652 #endif
   49653 
   49654     return(test_ret);
   49655 }
   49656 
   49657 
   49658 static int
   49659 test_xmlXPathRegisterFunc(void) {
   49660     int test_ret = 0;
   49661 
   49662 
   49663     /* missing type support */
   49664     return(test_ret);
   49665 }
   49666 
   49667 
   49668 static int
   49669 test_xmlXPathRegisterFuncLookup(void) {
   49670     int test_ret = 0;
   49671 
   49672 
   49673     /* missing type support */
   49674     return(test_ret);
   49675 }
   49676 
   49677 
   49678 static int
   49679 test_xmlXPathRegisterFuncNS(void) {
   49680     int test_ret = 0;
   49681 
   49682 
   49683     /* missing type support */
   49684     return(test_ret);
   49685 }
   49686 
   49687 
   49688 static int
   49689 test_xmlXPathRegisterNs(void) {
   49690     int test_ret = 0;
   49691 
   49692 #if defined(LIBXML_XPATH_ENABLED)
   49693     int mem_base;
   49694     int ret_val;
   49695     xmlXPathContextPtr ctxt; /* the XPath context */
   49696     int n_ctxt;
   49697     xmlChar * prefix; /* the namespace prefix cannot be NULL or empty string */
   49698     int n_prefix;
   49699     xmlChar * ns_uri; /* the namespace name */
   49700     int n_ns_uri;
   49701 
   49702     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49703     for (n_prefix = 0;n_prefix < gen_nb_const_xmlChar_ptr;n_prefix++) {
   49704     for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
   49705         mem_base = xmlMemBlocks();
   49706         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49707         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
   49708         ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
   49709 
   49710         ret_val = xmlXPathRegisterNs(ctxt, (const xmlChar *)prefix, (const xmlChar *)ns_uri);
   49711         desret_int(ret_val);
   49712         call_tests++;
   49713         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49714         des_const_xmlChar_ptr(n_prefix, (const xmlChar *)prefix, 1);
   49715         des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
   49716         xmlResetLastError();
   49717         if (mem_base != xmlMemBlocks()) {
   49718             printf("Leak of %d blocks found in xmlXPathRegisterNs",
   49719 	           xmlMemBlocks() - mem_base);
   49720 	    test_ret++;
   49721             printf(" %d", n_ctxt);
   49722             printf(" %d", n_prefix);
   49723             printf(" %d", n_ns_uri);
   49724             printf("\n");
   49725         }
   49726     }
   49727     }
   49728     }
   49729     function_tests++;
   49730 #endif
   49731 
   49732     return(test_ret);
   49733 }
   49734 
   49735 
   49736 static int
   49737 test_xmlXPathRegisterVariable(void) {
   49738     int test_ret = 0;
   49739 
   49740 #if defined(LIBXML_XPATH_ENABLED)
   49741     int mem_base;
   49742     int ret_val;
   49743     xmlXPathContextPtr ctxt; /* the XPath context */
   49744     int n_ctxt;
   49745     xmlChar * name; /* the variable name */
   49746     int n_name;
   49747     xmlXPathObjectPtr value; /* the variable value or NULL */
   49748     int n_value;
   49749 
   49750     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49751     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   49752     for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
   49753         mem_base = xmlMemBlocks();
   49754         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49755         name = gen_const_xmlChar_ptr(n_name, 1);
   49756         value = gen_xmlXPathObjectPtr(n_value, 2);
   49757 
   49758         ret_val = xmlXPathRegisterVariable(ctxt, (const xmlChar *)name, value);
   49759         desret_int(ret_val);
   49760         call_tests++;
   49761         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49762         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   49763         des_xmlXPathObjectPtr(n_value, value, 2);
   49764         xmlResetLastError();
   49765         if (mem_base != xmlMemBlocks()) {
   49766             printf("Leak of %d blocks found in xmlXPathRegisterVariable",
   49767 	           xmlMemBlocks() - mem_base);
   49768 	    test_ret++;
   49769             printf(" %d", n_ctxt);
   49770             printf(" %d", n_name);
   49771             printf(" %d", n_value);
   49772             printf("\n");
   49773         }
   49774     }
   49775     }
   49776     }
   49777     function_tests++;
   49778 #endif
   49779 
   49780     return(test_ret);
   49781 }
   49782 
   49783 
   49784 static int
   49785 test_xmlXPathRegisterVariableLookup(void) {
   49786     int test_ret = 0;
   49787 
   49788 
   49789     /* missing type support */
   49790     return(test_ret);
   49791 }
   49792 
   49793 
   49794 static int
   49795 test_xmlXPathRegisterVariableNS(void) {
   49796     int test_ret = 0;
   49797 
   49798 #if defined(LIBXML_XPATH_ENABLED)
   49799     int mem_base;
   49800     int ret_val;
   49801     xmlXPathContextPtr ctxt; /* the XPath context */
   49802     int n_ctxt;
   49803     xmlChar * name; /* the variable name */
   49804     int n_name;
   49805     xmlChar * ns_uri; /* the variable namespace URI */
   49806     int n_ns_uri;
   49807     xmlXPathObjectPtr value; /* the variable value or NULL */
   49808     int n_value;
   49809 
   49810     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49811     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   49812     for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
   49813     for (n_value = 0;n_value < gen_nb_xmlXPathObjectPtr;n_value++) {
   49814         mem_base = xmlMemBlocks();
   49815         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49816         name = gen_const_xmlChar_ptr(n_name, 1);
   49817         ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
   49818         value = gen_xmlXPathObjectPtr(n_value, 3);
   49819 
   49820         ret_val = xmlXPathRegisterVariableNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri, value);
   49821         desret_int(ret_val);
   49822         call_tests++;
   49823         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49824         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   49825         des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
   49826         des_xmlXPathObjectPtr(n_value, value, 3);
   49827         xmlResetLastError();
   49828         if (mem_base != xmlMemBlocks()) {
   49829             printf("Leak of %d blocks found in xmlXPathRegisterVariableNS",
   49830 	           xmlMemBlocks() - mem_base);
   49831 	    test_ret++;
   49832             printf(" %d", n_ctxt);
   49833             printf(" %d", n_name);
   49834             printf(" %d", n_ns_uri);
   49835             printf(" %d", n_value);
   49836             printf("\n");
   49837         }
   49838     }
   49839     }
   49840     }
   49841     }
   49842     function_tests++;
   49843 #endif
   49844 
   49845     return(test_ret);
   49846 }
   49847 
   49848 
   49849 static int
   49850 test_xmlXPathRegisteredFuncsCleanup(void) {
   49851     int test_ret = 0;
   49852 
   49853 #if defined(LIBXML_XPATH_ENABLED)
   49854     int mem_base;
   49855     xmlXPathContextPtr ctxt; /* the XPath context */
   49856     int n_ctxt;
   49857 
   49858     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49859         mem_base = xmlMemBlocks();
   49860         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49861 
   49862         xmlXPathRegisteredFuncsCleanup(ctxt);
   49863         call_tests++;
   49864         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49865         xmlResetLastError();
   49866         if (mem_base != xmlMemBlocks()) {
   49867             printf("Leak of %d blocks found in xmlXPathRegisteredFuncsCleanup",
   49868 	           xmlMemBlocks() - mem_base);
   49869 	    test_ret++;
   49870             printf(" %d", n_ctxt);
   49871             printf("\n");
   49872         }
   49873     }
   49874     function_tests++;
   49875 #endif
   49876 
   49877     return(test_ret);
   49878 }
   49879 
   49880 
   49881 static int
   49882 test_xmlXPathRegisteredNsCleanup(void) {
   49883     int test_ret = 0;
   49884 
   49885 #if defined(LIBXML_XPATH_ENABLED)
   49886     int mem_base;
   49887     xmlXPathContextPtr ctxt; /* the XPath context */
   49888     int n_ctxt;
   49889 
   49890     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49891         mem_base = xmlMemBlocks();
   49892         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49893 
   49894         xmlXPathRegisteredNsCleanup(ctxt);
   49895         call_tests++;
   49896         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49897         xmlResetLastError();
   49898         if (mem_base != xmlMemBlocks()) {
   49899             printf("Leak of %d blocks found in xmlXPathRegisteredNsCleanup",
   49900 	           xmlMemBlocks() - mem_base);
   49901 	    test_ret++;
   49902             printf(" %d", n_ctxt);
   49903             printf("\n");
   49904         }
   49905     }
   49906     function_tests++;
   49907 #endif
   49908 
   49909     return(test_ret);
   49910 }
   49911 
   49912 
   49913 static int
   49914 test_xmlXPathRegisteredVariablesCleanup(void) {
   49915     int test_ret = 0;
   49916 
   49917 #if defined(LIBXML_XPATH_ENABLED)
   49918     int mem_base;
   49919     xmlXPathContextPtr ctxt; /* the XPath context */
   49920     int n_ctxt;
   49921 
   49922     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   49923         mem_base = xmlMemBlocks();
   49924         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   49925 
   49926         xmlXPathRegisteredVariablesCleanup(ctxt);
   49927         call_tests++;
   49928         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   49929         xmlResetLastError();
   49930         if (mem_base != xmlMemBlocks()) {
   49931             printf("Leak of %d blocks found in xmlXPathRegisteredVariablesCleanup",
   49932 	           xmlMemBlocks() - mem_base);
   49933 	    test_ret++;
   49934             printf(" %d", n_ctxt);
   49935             printf("\n");
   49936         }
   49937     }
   49938     function_tests++;
   49939 #endif
   49940 
   49941     return(test_ret);
   49942 }
   49943 
   49944 
   49945 static int
   49946 test_xmlXPathRoot(void) {
   49947     int test_ret = 0;
   49948 
   49949 #if defined(LIBXML_XPATH_ENABLED)
   49950     int mem_base;
   49951     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49952     int n_ctxt;
   49953 
   49954     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49955         mem_base = xmlMemBlocks();
   49956         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49957 
   49958         xmlXPathRoot(ctxt);
   49959         call_tests++;
   49960         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49961         xmlResetLastError();
   49962         if (mem_base != xmlMemBlocks()) {
   49963             printf("Leak of %d blocks found in xmlXPathRoot",
   49964 	           xmlMemBlocks() - mem_base);
   49965 	    test_ret++;
   49966             printf(" %d", n_ctxt);
   49967             printf("\n");
   49968         }
   49969     }
   49970     function_tests++;
   49971 #endif
   49972 
   49973     return(test_ret);
   49974 }
   49975 
   49976 
   49977 static int
   49978 test_xmlXPathRoundFunction(void) {
   49979     int test_ret = 0;
   49980 
   49981 #if defined(LIBXML_XPATH_ENABLED)
   49982     int mem_base;
   49983     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   49984     int n_ctxt;
   49985     int nargs; /* the number of arguments */
   49986     int n_nargs;
   49987 
   49988     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   49989     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   49990         mem_base = xmlMemBlocks();
   49991         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   49992         nargs = gen_int(n_nargs, 1);
   49993 
   49994         xmlXPathRoundFunction(ctxt, nargs);
   49995         call_tests++;
   49996         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   49997         des_int(n_nargs, nargs, 1);
   49998         xmlResetLastError();
   49999         if (mem_base != xmlMemBlocks()) {
   50000             printf("Leak of %d blocks found in xmlXPathRoundFunction",
   50001 	           xmlMemBlocks() - mem_base);
   50002 	    test_ret++;
   50003             printf(" %d", n_ctxt);
   50004             printf(" %d", n_nargs);
   50005             printf("\n");
   50006         }
   50007     }
   50008     }
   50009     function_tests++;
   50010 #endif
   50011 
   50012     return(test_ret);
   50013 }
   50014 
   50015 
   50016 static int
   50017 test_xmlXPathStartsWithFunction(void) {
   50018     int test_ret = 0;
   50019 
   50020 #if defined(LIBXML_XPATH_ENABLED)
   50021     int mem_base;
   50022     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50023     int n_ctxt;
   50024     int nargs; /* the number of arguments */
   50025     int n_nargs;
   50026 
   50027     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50028     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50029         mem_base = xmlMemBlocks();
   50030         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50031         nargs = gen_int(n_nargs, 1);
   50032 
   50033         xmlXPathStartsWithFunction(ctxt, nargs);
   50034         call_tests++;
   50035         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50036         des_int(n_nargs, nargs, 1);
   50037         xmlResetLastError();
   50038         if (mem_base != xmlMemBlocks()) {
   50039             printf("Leak of %d blocks found in xmlXPathStartsWithFunction",
   50040 	           xmlMemBlocks() - mem_base);
   50041 	    test_ret++;
   50042             printf(" %d", n_ctxt);
   50043             printf(" %d", n_nargs);
   50044             printf("\n");
   50045         }
   50046     }
   50047     }
   50048     function_tests++;
   50049 #endif
   50050 
   50051     return(test_ret);
   50052 }
   50053 
   50054 
   50055 static int
   50056 test_xmlXPathStringEvalNumber(void) {
   50057     int test_ret = 0;
   50058 
   50059 #if defined(LIBXML_XPATH_ENABLED)
   50060     int mem_base;
   50061     double ret_val;
   50062     xmlChar * str; /* A string to scan */
   50063     int n_str;
   50064 
   50065     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   50066         mem_base = xmlMemBlocks();
   50067         str = gen_const_xmlChar_ptr(n_str, 0);
   50068 
   50069         ret_val = xmlXPathStringEvalNumber((const xmlChar *)str);
   50070         desret_double(ret_val);
   50071         call_tests++;
   50072         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   50073         xmlResetLastError();
   50074         if (mem_base != xmlMemBlocks()) {
   50075             printf("Leak of %d blocks found in xmlXPathStringEvalNumber",
   50076 	           xmlMemBlocks() - mem_base);
   50077 	    test_ret++;
   50078             printf(" %d", n_str);
   50079             printf("\n");
   50080         }
   50081     }
   50082     function_tests++;
   50083 #endif
   50084 
   50085     return(test_ret);
   50086 }
   50087 
   50088 
   50089 static int
   50090 test_xmlXPathStringFunction(void) {
   50091     int test_ret = 0;
   50092 
   50093 #if defined(LIBXML_XPATH_ENABLED)
   50094     int mem_base;
   50095     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50096     int n_ctxt;
   50097     int nargs; /* the number of arguments */
   50098     int n_nargs;
   50099 
   50100     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50101     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50102         mem_base = xmlMemBlocks();
   50103         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50104         nargs = gen_int(n_nargs, 1);
   50105 
   50106         xmlXPathStringFunction(ctxt, nargs);
   50107         call_tests++;
   50108         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50109         des_int(n_nargs, nargs, 1);
   50110         xmlResetLastError();
   50111         if (mem_base != xmlMemBlocks()) {
   50112             printf("Leak of %d blocks found in xmlXPathStringFunction",
   50113 	           xmlMemBlocks() - mem_base);
   50114 	    test_ret++;
   50115             printf(" %d", n_ctxt);
   50116             printf(" %d", n_nargs);
   50117             printf("\n");
   50118         }
   50119     }
   50120     }
   50121     function_tests++;
   50122 #endif
   50123 
   50124     return(test_ret);
   50125 }
   50126 
   50127 
   50128 static int
   50129 test_xmlXPathStringLengthFunction(void) {
   50130     int test_ret = 0;
   50131 
   50132 #if defined(LIBXML_XPATH_ENABLED)
   50133     int mem_base;
   50134     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50135     int n_ctxt;
   50136     int nargs; /* the number of arguments */
   50137     int n_nargs;
   50138 
   50139     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50140     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50141         mem_base = xmlMemBlocks();
   50142         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50143         nargs = gen_int(n_nargs, 1);
   50144 
   50145         xmlXPathStringLengthFunction(ctxt, nargs);
   50146         call_tests++;
   50147         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50148         des_int(n_nargs, nargs, 1);
   50149         xmlResetLastError();
   50150         if (mem_base != xmlMemBlocks()) {
   50151             printf("Leak of %d blocks found in xmlXPathStringLengthFunction",
   50152 	           xmlMemBlocks() - mem_base);
   50153 	    test_ret++;
   50154             printf(" %d", n_ctxt);
   50155             printf(" %d", n_nargs);
   50156             printf("\n");
   50157         }
   50158     }
   50159     }
   50160     function_tests++;
   50161 #endif
   50162 
   50163     return(test_ret);
   50164 }
   50165 
   50166 
   50167 static int
   50168 test_xmlXPathSubValues(void) {
   50169     int test_ret = 0;
   50170 
   50171 #if defined(LIBXML_XPATH_ENABLED)
   50172     int mem_base;
   50173     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50174     int n_ctxt;
   50175 
   50176     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50177         mem_base = xmlMemBlocks();
   50178         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50179 
   50180         xmlXPathSubValues(ctxt);
   50181         call_tests++;
   50182         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50183         xmlResetLastError();
   50184         if (mem_base != xmlMemBlocks()) {
   50185             printf("Leak of %d blocks found in xmlXPathSubValues",
   50186 	           xmlMemBlocks() - mem_base);
   50187 	    test_ret++;
   50188             printf(" %d", n_ctxt);
   50189             printf("\n");
   50190         }
   50191     }
   50192     function_tests++;
   50193 #endif
   50194 
   50195     return(test_ret);
   50196 }
   50197 
   50198 
   50199 static int
   50200 test_xmlXPathSubstringAfterFunction(void) {
   50201     int test_ret = 0;
   50202 
   50203 #if defined(LIBXML_XPATH_ENABLED)
   50204     int mem_base;
   50205     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50206     int n_ctxt;
   50207     int nargs; /* the number of arguments */
   50208     int n_nargs;
   50209 
   50210     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50211     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50212         mem_base = xmlMemBlocks();
   50213         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50214         nargs = gen_int(n_nargs, 1);
   50215 
   50216         xmlXPathSubstringAfterFunction(ctxt, nargs);
   50217         call_tests++;
   50218         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50219         des_int(n_nargs, nargs, 1);
   50220         xmlResetLastError();
   50221         if (mem_base != xmlMemBlocks()) {
   50222             printf("Leak of %d blocks found in xmlXPathSubstringAfterFunction",
   50223 	           xmlMemBlocks() - mem_base);
   50224 	    test_ret++;
   50225             printf(" %d", n_ctxt);
   50226             printf(" %d", n_nargs);
   50227             printf("\n");
   50228         }
   50229     }
   50230     }
   50231     function_tests++;
   50232 #endif
   50233 
   50234     return(test_ret);
   50235 }
   50236 
   50237 
   50238 static int
   50239 test_xmlXPathSubstringBeforeFunction(void) {
   50240     int test_ret = 0;
   50241 
   50242 #if defined(LIBXML_XPATH_ENABLED)
   50243     int mem_base;
   50244     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50245     int n_ctxt;
   50246     int nargs; /* the number of arguments */
   50247     int n_nargs;
   50248 
   50249     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50250     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50251         mem_base = xmlMemBlocks();
   50252         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50253         nargs = gen_int(n_nargs, 1);
   50254 
   50255         xmlXPathSubstringBeforeFunction(ctxt, nargs);
   50256         call_tests++;
   50257         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50258         des_int(n_nargs, nargs, 1);
   50259         xmlResetLastError();
   50260         if (mem_base != xmlMemBlocks()) {
   50261             printf("Leak of %d blocks found in xmlXPathSubstringBeforeFunction",
   50262 	           xmlMemBlocks() - mem_base);
   50263 	    test_ret++;
   50264             printf(" %d", n_ctxt);
   50265             printf(" %d", n_nargs);
   50266             printf("\n");
   50267         }
   50268     }
   50269     }
   50270     function_tests++;
   50271 #endif
   50272 
   50273     return(test_ret);
   50274 }
   50275 
   50276 
   50277 static int
   50278 test_xmlXPathSubstringFunction(void) {
   50279     int test_ret = 0;
   50280 
   50281 #if defined(LIBXML_XPATH_ENABLED)
   50282     int mem_base;
   50283     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50284     int n_ctxt;
   50285     int nargs; /* the number of arguments */
   50286     int n_nargs;
   50287 
   50288     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50289     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50290         mem_base = xmlMemBlocks();
   50291         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50292         nargs = gen_int(n_nargs, 1);
   50293 
   50294         xmlXPathSubstringFunction(ctxt, nargs);
   50295         call_tests++;
   50296         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50297         des_int(n_nargs, nargs, 1);
   50298         xmlResetLastError();
   50299         if (mem_base != xmlMemBlocks()) {
   50300             printf("Leak of %d blocks found in xmlXPathSubstringFunction",
   50301 	           xmlMemBlocks() - mem_base);
   50302 	    test_ret++;
   50303             printf(" %d", n_ctxt);
   50304             printf(" %d", n_nargs);
   50305             printf("\n");
   50306         }
   50307     }
   50308     }
   50309     function_tests++;
   50310 #endif
   50311 
   50312     return(test_ret);
   50313 }
   50314 
   50315 
   50316 static int
   50317 test_xmlXPathSumFunction(void) {
   50318     int test_ret = 0;
   50319 
   50320 #if defined(LIBXML_XPATH_ENABLED)
   50321     int mem_base;
   50322     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50323     int n_ctxt;
   50324     int nargs; /* the number of arguments */
   50325     int n_nargs;
   50326 
   50327     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50328     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50329         mem_base = xmlMemBlocks();
   50330         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50331         nargs = gen_int(n_nargs, 1);
   50332 
   50333         xmlXPathSumFunction(ctxt, nargs);
   50334         call_tests++;
   50335         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50336         des_int(n_nargs, nargs, 1);
   50337         xmlResetLastError();
   50338         if (mem_base != xmlMemBlocks()) {
   50339             printf("Leak of %d blocks found in xmlXPathSumFunction",
   50340 	           xmlMemBlocks() - mem_base);
   50341 	    test_ret++;
   50342             printf(" %d", n_ctxt);
   50343             printf(" %d", n_nargs);
   50344             printf("\n");
   50345         }
   50346     }
   50347     }
   50348     function_tests++;
   50349 #endif
   50350 
   50351     return(test_ret);
   50352 }
   50353 
   50354 
   50355 static int
   50356 test_xmlXPathTrailing(void) {
   50357     int test_ret = 0;
   50358 
   50359 #if defined(LIBXML_XPATH_ENABLED)
   50360     int mem_base;
   50361     xmlNodeSetPtr ret_val;
   50362     xmlNodeSetPtr nodes1; /* a node-set */
   50363     int n_nodes1;
   50364     xmlNodeSetPtr nodes2; /* a node-set */
   50365     int n_nodes2;
   50366 
   50367     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
   50368     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
   50369         mem_base = xmlMemBlocks();
   50370         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
   50371         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
   50372 
   50373         ret_val = xmlXPathTrailing(nodes1, nodes2);
   50374         desret_xmlNodeSetPtr(ret_val);
   50375         call_tests++;
   50376         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
   50377         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
   50378         xmlResetLastError();
   50379         if (mem_base != xmlMemBlocks()) {
   50380             printf("Leak of %d blocks found in xmlXPathTrailing",
   50381 	           xmlMemBlocks() - mem_base);
   50382 	    test_ret++;
   50383             printf(" %d", n_nodes1);
   50384             printf(" %d", n_nodes2);
   50385             printf("\n");
   50386         }
   50387     }
   50388     }
   50389     function_tests++;
   50390 #endif
   50391 
   50392     return(test_ret);
   50393 }
   50394 
   50395 
   50396 static int
   50397 test_xmlXPathTrailingSorted(void) {
   50398     int test_ret = 0;
   50399 
   50400 #if defined(LIBXML_XPATH_ENABLED)
   50401     int mem_base;
   50402     xmlNodeSetPtr ret_val;
   50403     xmlNodeSetPtr nodes1; /* a node-set, sorted by document order */
   50404     int n_nodes1;
   50405     xmlNodeSetPtr nodes2; /* a node-set, sorted by document order */
   50406     int n_nodes2;
   50407 
   50408     for (n_nodes1 = 0;n_nodes1 < gen_nb_xmlNodeSetPtr;n_nodes1++) {
   50409     for (n_nodes2 = 0;n_nodes2 < gen_nb_xmlNodeSetPtr;n_nodes2++) {
   50410         mem_base = xmlMemBlocks();
   50411         nodes1 = gen_xmlNodeSetPtr(n_nodes1, 0);
   50412         nodes2 = gen_xmlNodeSetPtr(n_nodes2, 1);
   50413 
   50414         ret_val = xmlXPathTrailingSorted(nodes1, nodes2);
   50415         desret_xmlNodeSetPtr(ret_val);
   50416         call_tests++;
   50417         des_xmlNodeSetPtr(n_nodes1, nodes1, 0);
   50418         des_xmlNodeSetPtr(n_nodes2, nodes2, 1);
   50419         xmlResetLastError();
   50420         if (mem_base != xmlMemBlocks()) {
   50421             printf("Leak of %d blocks found in xmlXPathTrailingSorted",
   50422 	           xmlMemBlocks() - mem_base);
   50423 	    test_ret++;
   50424             printf(" %d", n_nodes1);
   50425             printf(" %d", n_nodes2);
   50426             printf("\n");
   50427         }
   50428     }
   50429     }
   50430     function_tests++;
   50431 #endif
   50432 
   50433     return(test_ret);
   50434 }
   50435 
   50436 
   50437 static int
   50438 test_xmlXPathTranslateFunction(void) {
   50439     int test_ret = 0;
   50440 
   50441 #if defined(LIBXML_XPATH_ENABLED)
   50442     int mem_base;
   50443     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50444     int n_ctxt;
   50445     int nargs; /* the number of arguments */
   50446     int n_nargs;
   50447 
   50448     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50449     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50450         mem_base = xmlMemBlocks();
   50451         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50452         nargs = gen_int(n_nargs, 1);
   50453 
   50454         xmlXPathTranslateFunction(ctxt, nargs);
   50455         call_tests++;
   50456         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50457         des_int(n_nargs, nargs, 1);
   50458         xmlResetLastError();
   50459         if (mem_base != xmlMemBlocks()) {
   50460             printf("Leak of %d blocks found in xmlXPathTranslateFunction",
   50461 	           xmlMemBlocks() - mem_base);
   50462 	    test_ret++;
   50463             printf(" %d", n_ctxt);
   50464             printf(" %d", n_nargs);
   50465             printf("\n");
   50466         }
   50467     }
   50468     }
   50469     function_tests++;
   50470 #endif
   50471 
   50472     return(test_ret);
   50473 }
   50474 
   50475 
   50476 static int
   50477 test_xmlXPathTrueFunction(void) {
   50478     int test_ret = 0;
   50479 
   50480 #if defined(LIBXML_XPATH_ENABLED)
   50481     int mem_base;
   50482     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50483     int n_ctxt;
   50484     int nargs; /* the number of arguments */
   50485     int n_nargs;
   50486 
   50487     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50488     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   50489         mem_base = xmlMemBlocks();
   50490         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50491         nargs = gen_int(n_nargs, 1);
   50492 
   50493         xmlXPathTrueFunction(ctxt, nargs);
   50494         call_tests++;
   50495         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50496         des_int(n_nargs, nargs, 1);
   50497         xmlResetLastError();
   50498         if (mem_base != xmlMemBlocks()) {
   50499             printf("Leak of %d blocks found in xmlXPathTrueFunction",
   50500 	           xmlMemBlocks() - mem_base);
   50501 	    test_ret++;
   50502             printf(" %d", n_ctxt);
   50503             printf(" %d", n_nargs);
   50504             printf("\n");
   50505         }
   50506     }
   50507     }
   50508     function_tests++;
   50509 #endif
   50510 
   50511     return(test_ret);
   50512 }
   50513 
   50514 
   50515 static int
   50516 test_xmlXPathValueFlipSign(void) {
   50517     int test_ret = 0;
   50518 
   50519 #if defined(LIBXML_XPATH_ENABLED)
   50520     int mem_base;
   50521     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50522     int n_ctxt;
   50523 
   50524     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50525         mem_base = xmlMemBlocks();
   50526         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50527 
   50528         xmlXPathValueFlipSign(ctxt);
   50529         call_tests++;
   50530         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50531         xmlResetLastError();
   50532         if (mem_base != xmlMemBlocks()) {
   50533             printf("Leak of %d blocks found in xmlXPathValueFlipSign",
   50534 	           xmlMemBlocks() - mem_base);
   50535 	    test_ret++;
   50536             printf(" %d", n_ctxt);
   50537             printf("\n");
   50538         }
   50539     }
   50540     function_tests++;
   50541 #endif
   50542 
   50543     return(test_ret);
   50544 }
   50545 
   50546 
   50547 static int
   50548 test_xmlXPathVariableLookup(void) {
   50549     int test_ret = 0;
   50550 
   50551 #if defined(LIBXML_XPATH_ENABLED)
   50552     int mem_base;
   50553     xmlXPathObjectPtr ret_val;
   50554     xmlXPathContextPtr ctxt; /* the XPath context */
   50555     int n_ctxt;
   50556     xmlChar * name; /* the variable name */
   50557     int n_name;
   50558 
   50559     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   50560     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   50561         mem_base = xmlMemBlocks();
   50562         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   50563         name = gen_const_xmlChar_ptr(n_name, 1);
   50564 
   50565         ret_val = xmlXPathVariableLookup(ctxt, (const xmlChar *)name);
   50566         desret_xmlXPathObjectPtr(ret_val);
   50567         call_tests++;
   50568         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   50569         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   50570         xmlResetLastError();
   50571         if (mem_base != xmlMemBlocks()) {
   50572             printf("Leak of %d blocks found in xmlXPathVariableLookup",
   50573 	           xmlMemBlocks() - mem_base);
   50574 	    test_ret++;
   50575             printf(" %d", n_ctxt);
   50576             printf(" %d", n_name);
   50577             printf("\n");
   50578         }
   50579     }
   50580     }
   50581     function_tests++;
   50582 #endif
   50583 
   50584     return(test_ret);
   50585 }
   50586 
   50587 
   50588 static int
   50589 test_xmlXPathVariableLookupNS(void) {
   50590     int test_ret = 0;
   50591 
   50592 #if defined(LIBXML_XPATH_ENABLED)
   50593     int mem_base;
   50594     xmlXPathObjectPtr ret_val;
   50595     xmlXPathContextPtr ctxt; /* the XPath context */
   50596     int n_ctxt;
   50597     xmlChar * name; /* the variable name */
   50598     int n_name;
   50599     xmlChar * ns_uri; /* the variable namespace URI */
   50600     int n_ns_uri;
   50601 
   50602     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathContextPtr;n_ctxt++) {
   50603     for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
   50604     for (n_ns_uri = 0;n_ns_uri < gen_nb_const_xmlChar_ptr;n_ns_uri++) {
   50605         mem_base = xmlMemBlocks();
   50606         ctxt = gen_xmlXPathContextPtr(n_ctxt, 0);
   50607         name = gen_const_xmlChar_ptr(n_name, 1);
   50608         ns_uri = gen_const_xmlChar_ptr(n_ns_uri, 2);
   50609 
   50610         ret_val = xmlXPathVariableLookupNS(ctxt, (const xmlChar *)name, (const xmlChar *)ns_uri);
   50611         desret_xmlXPathObjectPtr(ret_val);
   50612         call_tests++;
   50613         des_xmlXPathContextPtr(n_ctxt, ctxt, 0);
   50614         des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
   50615         des_const_xmlChar_ptr(n_ns_uri, (const xmlChar *)ns_uri, 2);
   50616         xmlResetLastError();
   50617         if (mem_base != xmlMemBlocks()) {
   50618             printf("Leak of %d blocks found in xmlXPathVariableLookupNS",
   50619 	           xmlMemBlocks() - mem_base);
   50620 	    test_ret++;
   50621             printf(" %d", n_ctxt);
   50622             printf(" %d", n_name);
   50623             printf(" %d", n_ns_uri);
   50624             printf("\n");
   50625         }
   50626     }
   50627     }
   50628     }
   50629     function_tests++;
   50630 #endif
   50631 
   50632     return(test_ret);
   50633 }
   50634 
   50635 
   50636 static int
   50637 test_xmlXPathWrapCString(void) {
   50638     int test_ret = 0;
   50639 
   50640 #if defined(LIBXML_XPATH_ENABLED)
   50641     int mem_base;
   50642     xmlXPathObjectPtr ret_val;
   50643     char * val; /* the char * value */
   50644     int n_val;
   50645 
   50646     for (n_val = 0;n_val < gen_nb_char_ptr;n_val++) {
   50647         mem_base = xmlMemBlocks();
   50648         val = gen_char_ptr(n_val, 0);
   50649 
   50650         ret_val = xmlXPathWrapCString(val);
   50651         desret_xmlXPathObjectPtr(ret_val);
   50652         call_tests++;
   50653         des_char_ptr(n_val, val, 0);
   50654         xmlResetLastError();
   50655         if (mem_base != xmlMemBlocks()) {
   50656             printf("Leak of %d blocks found in xmlXPathWrapCString",
   50657 	           xmlMemBlocks() - mem_base);
   50658 	    test_ret++;
   50659             printf(" %d", n_val);
   50660             printf("\n");
   50661         }
   50662     }
   50663     function_tests++;
   50664 #endif
   50665 
   50666     return(test_ret);
   50667 }
   50668 
   50669 
   50670 static int
   50671 test_xmlXPathWrapExternal(void) {
   50672     int test_ret = 0;
   50673 
   50674 #if defined(LIBXML_XPATH_ENABLED)
   50675     int mem_base;
   50676     xmlXPathObjectPtr ret_val;
   50677     void * val; /* the user data */
   50678     int n_val;
   50679 
   50680     for (n_val = 0;n_val < gen_nb_void_ptr;n_val++) {
   50681         mem_base = xmlMemBlocks();
   50682         val = gen_void_ptr(n_val, 0);
   50683 
   50684         ret_val = xmlXPathWrapExternal(val);
   50685         desret_xmlXPathObjectPtr(ret_val);
   50686         call_tests++;
   50687         des_void_ptr(n_val, val, 0);
   50688         xmlResetLastError();
   50689         if (mem_base != xmlMemBlocks()) {
   50690             printf("Leak of %d blocks found in xmlXPathWrapExternal",
   50691 	           xmlMemBlocks() - mem_base);
   50692 	    test_ret++;
   50693             printf(" %d", n_val);
   50694             printf("\n");
   50695         }
   50696     }
   50697     function_tests++;
   50698 #endif
   50699 
   50700     return(test_ret);
   50701 }
   50702 
   50703 
   50704 static int
   50705 test_xmlXPathWrapNodeSet(void) {
   50706     int test_ret = 0;
   50707 
   50708 #if defined(LIBXML_XPATH_ENABLED)
   50709     int mem_base;
   50710     xmlXPathObjectPtr ret_val;
   50711     xmlNodeSetPtr val; /* the NodePtr value */
   50712     int n_val;
   50713 
   50714     for (n_val = 0;n_val < gen_nb_xmlNodeSetPtr;n_val++) {
   50715         mem_base = xmlMemBlocks();
   50716         val = gen_xmlNodeSetPtr(n_val, 0);
   50717 
   50718         ret_val = xmlXPathWrapNodeSet(val);
   50719         desret_xmlXPathObjectPtr(ret_val);
   50720         call_tests++;
   50721         des_xmlNodeSetPtr(n_val, val, 0);
   50722         xmlResetLastError();
   50723         if (mem_base != xmlMemBlocks()) {
   50724             printf("Leak of %d blocks found in xmlXPathWrapNodeSet",
   50725 	           xmlMemBlocks() - mem_base);
   50726 	    test_ret++;
   50727             printf(" %d", n_val);
   50728             printf("\n");
   50729         }
   50730     }
   50731     function_tests++;
   50732 #endif
   50733 
   50734     return(test_ret);
   50735 }
   50736 
   50737 
   50738 static int
   50739 test_xmlXPatherror(void) {
   50740     int test_ret = 0;
   50741 
   50742 #if defined(LIBXML_XPATH_ENABLED)
   50743     int mem_base;
   50744     xmlXPathParserContextPtr ctxt; /* the XPath Parser context */
   50745     int n_ctxt;
   50746     const char * file; /* the file name */
   50747     int n_file;
   50748     int line; /* the line number */
   50749     int n_line;
   50750     int no; /* the error number */
   50751     int n_no;
   50752 
   50753     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50754     for (n_file = 0;n_file < gen_nb_filepath;n_file++) {
   50755     for (n_line = 0;n_line < gen_nb_int;n_line++) {
   50756     for (n_no = 0;n_no < gen_nb_int;n_no++) {
   50757         mem_base = xmlMemBlocks();
   50758         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   50759         file = gen_filepath(n_file, 1);
   50760         line = gen_int(n_line, 2);
   50761         no = gen_int(n_no, 3);
   50762 
   50763         xmlXPatherror(ctxt, file, line, no);
   50764         call_tests++;
   50765         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   50766         des_filepath(n_file, file, 1);
   50767         des_int(n_line, line, 2);
   50768         des_int(n_no, no, 3);
   50769         xmlResetLastError();
   50770         if (mem_base != xmlMemBlocks()) {
   50771             printf("Leak of %d blocks found in xmlXPatherror",
   50772 	           xmlMemBlocks() - mem_base);
   50773 	    test_ret++;
   50774             printf(" %d", n_ctxt);
   50775             printf(" %d", n_file);
   50776             printf(" %d", n_line);
   50777             printf(" %d", n_no);
   50778             printf("\n");
   50779         }
   50780     }
   50781     }
   50782     }
   50783     }
   50784     function_tests++;
   50785 #endif
   50786 
   50787     return(test_ret);
   50788 }
   50789 
   50790 static int
   50791 test_xpathInternals(void) {
   50792     int test_ret = 0;
   50793 
   50794     if (quiet == 0) printf("Testing xpathInternals : 106 of 117 functions ...\n");
   50795     test_ret += test_valuePop();
   50796     test_ret += test_valuePush();
   50797     test_ret += test_xmlXPathAddValues();
   50798     test_ret += test_xmlXPathBooleanFunction();
   50799     test_ret += test_xmlXPathCeilingFunction();
   50800     test_ret += test_xmlXPathCompareValues();
   50801     test_ret += test_xmlXPathConcatFunction();
   50802     test_ret += test_xmlXPathContainsFunction();
   50803     test_ret += test_xmlXPathCountFunction();
   50804     test_ret += test_xmlXPathDebugDumpCompExpr();
   50805     test_ret += test_xmlXPathDebugDumpObject();
   50806     test_ret += test_xmlXPathDifference();
   50807     test_ret += test_xmlXPathDistinct();
   50808     test_ret += test_xmlXPathDistinctSorted();
   50809     test_ret += test_xmlXPathDivValues();
   50810     test_ret += test_xmlXPathEqualValues();
   50811     test_ret += test_xmlXPathErr();
   50812     test_ret += test_xmlXPathEvalExpr();
   50813     test_ret += test_xmlXPathEvaluatePredicateResult();
   50814     test_ret += test_xmlXPathFalseFunction();
   50815     test_ret += test_xmlXPathFloorFunction();
   50816     test_ret += test_xmlXPathFunctionLookup();
   50817     test_ret += test_xmlXPathFunctionLookupNS();
   50818     test_ret += test_xmlXPathHasSameNodes();
   50819     test_ret += test_xmlXPathIdFunction();
   50820     test_ret += test_xmlXPathIntersection();
   50821     test_ret += test_xmlXPathIsNodeType();
   50822     test_ret += test_xmlXPathLangFunction();
   50823     test_ret += test_xmlXPathLastFunction();
   50824     test_ret += test_xmlXPathLeading();
   50825     test_ret += test_xmlXPathLeadingSorted();
   50826     test_ret += test_xmlXPathLocalNameFunction();
   50827     test_ret += test_xmlXPathModValues();
   50828     test_ret += test_xmlXPathMultValues();
   50829     test_ret += test_xmlXPathNamespaceURIFunction();
   50830     test_ret += test_xmlXPathNewBoolean();
   50831     test_ret += test_xmlXPathNewCString();
   50832     test_ret += test_xmlXPathNewFloat();
   50833     test_ret += test_xmlXPathNewNodeSet();
   50834     test_ret += test_xmlXPathNewNodeSetList();
   50835     test_ret += test_xmlXPathNewParserContext();
   50836     test_ret += test_xmlXPathNewString();
   50837     test_ret += test_xmlXPathNextAncestor();
   50838     test_ret += test_xmlXPathNextAncestorOrSelf();
   50839     test_ret += test_xmlXPathNextAttribute();
   50840     test_ret += test_xmlXPathNextChild();
   50841     test_ret += test_xmlXPathNextDescendant();
   50842     test_ret += test_xmlXPathNextDescendantOrSelf();
   50843     test_ret += test_xmlXPathNextFollowing();
   50844     test_ret += test_xmlXPathNextFollowingSibling();
   50845     test_ret += test_xmlXPathNextNamespace();
   50846     test_ret += test_xmlXPathNextParent();
   50847     test_ret += test_xmlXPathNextPreceding();
   50848     test_ret += test_xmlXPathNextPrecedingSibling();
   50849     test_ret += test_xmlXPathNextSelf();
   50850     test_ret += test_xmlXPathNodeLeading();
   50851     test_ret += test_xmlXPathNodeLeadingSorted();
   50852     test_ret += test_xmlXPathNodeSetAdd();
   50853     test_ret += test_xmlXPathNodeSetAddNs();
   50854     test_ret += test_xmlXPathNodeSetAddUnique();
   50855     test_ret += test_xmlXPathNodeSetContains();
   50856     test_ret += test_xmlXPathNodeSetDel();
   50857     test_ret += test_xmlXPathNodeSetMerge();
   50858     test_ret += test_xmlXPathNodeSetRemove();
   50859     test_ret += test_xmlXPathNodeSetSort();
   50860     test_ret += test_xmlXPathNodeTrailing();
   50861     test_ret += test_xmlXPathNodeTrailingSorted();
   50862     test_ret += test_xmlXPathNormalizeFunction();
   50863     test_ret += test_xmlXPathNotEqualValues();
   50864     test_ret += test_xmlXPathNotFunction();
   50865     test_ret += test_xmlXPathNsLookup();
   50866     test_ret += test_xmlXPathNumberFunction();
   50867     test_ret += test_xmlXPathParseNCName();
   50868     test_ret += test_xmlXPathParseName();
   50869     test_ret += test_xmlXPathPopBoolean();
   50870     test_ret += test_xmlXPathPopExternal();
   50871     test_ret += test_xmlXPathPopNodeSet();
   50872     test_ret += test_xmlXPathPopNumber();
   50873     test_ret += test_xmlXPathPopString();
   50874     test_ret += test_xmlXPathPositionFunction();
   50875     test_ret += test_xmlXPathRegisterAllFunctions();
   50876     test_ret += test_xmlXPathRegisterFunc();
   50877     test_ret += test_xmlXPathRegisterFuncLookup();
   50878     test_ret += test_xmlXPathRegisterFuncNS();
   50879     test_ret += test_xmlXPathRegisterNs();
   50880     test_ret += test_xmlXPathRegisterVariable();
   50881     test_ret += test_xmlXPathRegisterVariableLookup();
   50882     test_ret += test_xmlXPathRegisterVariableNS();
   50883     test_ret += test_xmlXPathRegisteredFuncsCleanup();
   50884     test_ret += test_xmlXPathRegisteredNsCleanup();
   50885     test_ret += test_xmlXPathRegisteredVariablesCleanup();
   50886     test_ret += test_xmlXPathRoot();
   50887     test_ret += test_xmlXPathRoundFunction();
   50888     test_ret += test_xmlXPathStartsWithFunction();
   50889     test_ret += test_xmlXPathStringEvalNumber();
   50890     test_ret += test_xmlXPathStringFunction();
   50891     test_ret += test_xmlXPathStringLengthFunction();
   50892     test_ret += test_xmlXPathSubValues();
   50893     test_ret += test_xmlXPathSubstringAfterFunction();
   50894     test_ret += test_xmlXPathSubstringBeforeFunction();
   50895     test_ret += test_xmlXPathSubstringFunction();
   50896     test_ret += test_xmlXPathSumFunction();
   50897     test_ret += test_xmlXPathTrailing();
   50898     test_ret += test_xmlXPathTrailingSorted();
   50899     test_ret += test_xmlXPathTranslateFunction();
   50900     test_ret += test_xmlXPathTrueFunction();
   50901     test_ret += test_xmlXPathValueFlipSign();
   50902     test_ret += test_xmlXPathVariableLookup();
   50903     test_ret += test_xmlXPathVariableLookupNS();
   50904     test_ret += test_xmlXPathWrapCString();
   50905     test_ret += test_xmlXPathWrapExternal();
   50906     test_ret += test_xmlXPathWrapNodeSet();
   50907     test_ret += test_xmlXPatherror();
   50908 
   50909     if (test_ret != 0)
   50910 	printf("Module xpathInternals: %d errors\n", test_ret);
   50911     return(test_ret);
   50912 }
   50913 
   50914 static int
   50915 test_xmlXPtrBuildNodeList(void) {
   50916     int test_ret = 0;
   50917 
   50918 #if defined(LIBXML_XPTR_ENABLED)
   50919     int mem_base;
   50920     xmlNodePtr ret_val;
   50921     xmlXPathObjectPtr obj; /* the XPointer result from the evaluation. */
   50922     int n_obj;
   50923 
   50924     for (n_obj = 0;n_obj < gen_nb_xmlXPathObjectPtr;n_obj++) {
   50925         mem_base = xmlMemBlocks();
   50926         obj = gen_xmlXPathObjectPtr(n_obj, 0);
   50927 
   50928         ret_val = xmlXPtrBuildNodeList(obj);
   50929         desret_xmlNodePtr(ret_val);
   50930         call_tests++;
   50931         des_xmlXPathObjectPtr(n_obj, obj, 0);
   50932         xmlResetLastError();
   50933         if (mem_base != xmlMemBlocks()) {
   50934             printf("Leak of %d blocks found in xmlXPtrBuildNodeList",
   50935 	           xmlMemBlocks() - mem_base);
   50936 	    test_ret++;
   50937             printf(" %d", n_obj);
   50938             printf("\n");
   50939         }
   50940     }
   50941     function_tests++;
   50942 #endif
   50943 
   50944     return(test_ret);
   50945 }
   50946 
   50947 
   50948 static int
   50949 test_xmlXPtrEval(void) {
   50950     int test_ret = 0;
   50951 
   50952 #if defined(LIBXML_XPTR_ENABLED)
   50953     int mem_base;
   50954     xmlXPathObjectPtr ret_val;
   50955     xmlChar * str; /* the XPointer expression */
   50956     int n_str;
   50957     xmlXPathContextPtr ctx; /* the XPointer context */
   50958     int n_ctx;
   50959 
   50960     for (n_str = 0;n_str < gen_nb_const_xmlChar_ptr;n_str++) {
   50961     for (n_ctx = 0;n_ctx < gen_nb_xmlXPathContextPtr;n_ctx++) {
   50962         mem_base = xmlMemBlocks();
   50963         str = gen_const_xmlChar_ptr(n_str, 0);
   50964         ctx = gen_xmlXPathContextPtr(n_ctx, 1);
   50965 
   50966         ret_val = xmlXPtrEval((const xmlChar *)str, ctx);
   50967         desret_xmlXPathObjectPtr(ret_val);
   50968         call_tests++;
   50969         des_const_xmlChar_ptr(n_str, (const xmlChar *)str, 0);
   50970         des_xmlXPathContextPtr(n_ctx, ctx, 1);
   50971         xmlResetLastError();
   50972         if (mem_base != xmlMemBlocks()) {
   50973             printf("Leak of %d blocks found in xmlXPtrEval",
   50974 	           xmlMemBlocks() - mem_base);
   50975 	    test_ret++;
   50976             printf(" %d", n_str);
   50977             printf(" %d", n_ctx);
   50978             printf("\n");
   50979         }
   50980     }
   50981     }
   50982     function_tests++;
   50983 #endif
   50984 
   50985     return(test_ret);
   50986 }
   50987 
   50988 
   50989 static int
   50990 test_xmlXPtrEvalRangePredicate(void) {
   50991     int test_ret = 0;
   50992 
   50993 #if defined(LIBXML_XPTR_ENABLED)
   50994     int mem_base;
   50995     xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
   50996     int n_ctxt;
   50997 
   50998     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   50999         mem_base = xmlMemBlocks();
   51000         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   51001 
   51002         xmlXPtrEvalRangePredicate(ctxt);
   51003         call_tests++;
   51004         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   51005         xmlResetLastError();
   51006         if (mem_base != xmlMemBlocks()) {
   51007             printf("Leak of %d blocks found in xmlXPtrEvalRangePredicate",
   51008 	           xmlMemBlocks() - mem_base);
   51009 	    test_ret++;
   51010             printf(" %d", n_ctxt);
   51011             printf("\n");
   51012         }
   51013     }
   51014     function_tests++;
   51015 #endif
   51016 
   51017     return(test_ret);
   51018 }
   51019 
   51020 #ifdef LIBXML_XPTR_ENABLED
   51021 
   51022 #define gen_nb_xmlLocationSetPtr 1
   51023 static xmlLocationSetPtr gen_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   51024     return(NULL);
   51025 }
   51026 static void des_xmlLocationSetPtr(int no ATTRIBUTE_UNUSED, xmlLocationSetPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
   51027 }
   51028 #endif
   51029 
   51030 
   51031 static int
   51032 test_xmlXPtrLocationSetAdd(void) {
   51033     int test_ret = 0;
   51034 
   51035 #if defined(LIBXML_XPTR_ENABLED)
   51036     int mem_base;
   51037     xmlLocationSetPtr cur; /* the initial range set */
   51038     int n_cur;
   51039     xmlXPathObjectPtr val; /* a new xmlXPathObjectPtr */
   51040     int n_val;
   51041 
   51042     for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
   51043     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   51044         mem_base = xmlMemBlocks();
   51045         cur = gen_xmlLocationSetPtr(n_cur, 0);
   51046         val = gen_xmlXPathObjectPtr(n_val, 1);
   51047 
   51048         xmlXPtrLocationSetAdd(cur, val);
   51049         call_tests++;
   51050         des_xmlLocationSetPtr(n_cur, cur, 0);
   51051         des_xmlXPathObjectPtr(n_val, val, 1);
   51052         xmlResetLastError();
   51053         if (mem_base != xmlMemBlocks()) {
   51054             printf("Leak of %d blocks found in xmlXPtrLocationSetAdd",
   51055 	           xmlMemBlocks() - mem_base);
   51056 	    test_ret++;
   51057             printf(" %d", n_cur);
   51058             printf(" %d", n_val);
   51059             printf("\n");
   51060         }
   51061     }
   51062     }
   51063     function_tests++;
   51064 #endif
   51065 
   51066     return(test_ret);
   51067 }
   51068 
   51069 
   51070 static int
   51071 test_xmlXPtrLocationSetCreate(void) {
   51072     int test_ret = 0;
   51073 
   51074 
   51075     /* missing type support */
   51076     return(test_ret);
   51077 }
   51078 
   51079 
   51080 static int
   51081 test_xmlXPtrLocationSetDel(void) {
   51082     int test_ret = 0;
   51083 
   51084 #if defined(LIBXML_XPTR_ENABLED)
   51085     int mem_base;
   51086     xmlLocationSetPtr cur; /* the initial range set */
   51087     int n_cur;
   51088     xmlXPathObjectPtr val; /* an xmlXPathObjectPtr */
   51089     int n_val;
   51090 
   51091     for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
   51092     for (n_val = 0;n_val < gen_nb_xmlXPathObjectPtr;n_val++) {
   51093         mem_base = xmlMemBlocks();
   51094         cur = gen_xmlLocationSetPtr(n_cur, 0);
   51095         val = gen_xmlXPathObjectPtr(n_val, 1);
   51096 
   51097         xmlXPtrLocationSetDel(cur, val);
   51098         call_tests++;
   51099         des_xmlLocationSetPtr(n_cur, cur, 0);
   51100         des_xmlXPathObjectPtr(n_val, val, 1);
   51101         xmlResetLastError();
   51102         if (mem_base != xmlMemBlocks()) {
   51103             printf("Leak of %d blocks found in xmlXPtrLocationSetDel",
   51104 	           xmlMemBlocks() - mem_base);
   51105 	    test_ret++;
   51106             printf(" %d", n_cur);
   51107             printf(" %d", n_val);
   51108             printf("\n");
   51109         }
   51110     }
   51111     }
   51112     function_tests++;
   51113 #endif
   51114 
   51115     return(test_ret);
   51116 }
   51117 
   51118 
   51119 static int
   51120 test_xmlXPtrLocationSetMerge(void) {
   51121     int test_ret = 0;
   51122 
   51123 
   51124     /* missing type support */
   51125     return(test_ret);
   51126 }
   51127 
   51128 
   51129 static int
   51130 test_xmlXPtrLocationSetRemove(void) {
   51131     int test_ret = 0;
   51132 
   51133 #if defined(LIBXML_XPTR_ENABLED)
   51134     int mem_base;
   51135     xmlLocationSetPtr cur; /* the initial range set */
   51136     int n_cur;
   51137     int val; /* the index to remove */
   51138     int n_val;
   51139 
   51140     for (n_cur = 0;n_cur < gen_nb_xmlLocationSetPtr;n_cur++) {
   51141     for (n_val = 0;n_val < gen_nb_int;n_val++) {
   51142         mem_base = xmlMemBlocks();
   51143         cur = gen_xmlLocationSetPtr(n_cur, 0);
   51144         val = gen_int(n_val, 1);
   51145 
   51146         xmlXPtrLocationSetRemove(cur, val);
   51147         call_tests++;
   51148         des_xmlLocationSetPtr(n_cur, cur, 0);
   51149         des_int(n_val, val, 1);
   51150         xmlResetLastError();
   51151         if (mem_base != xmlMemBlocks()) {
   51152             printf("Leak of %d blocks found in xmlXPtrLocationSetRemove",
   51153 	           xmlMemBlocks() - mem_base);
   51154 	    test_ret++;
   51155             printf(" %d", n_cur);
   51156             printf(" %d", n_val);
   51157             printf("\n");
   51158         }
   51159     }
   51160     }
   51161     function_tests++;
   51162 #endif
   51163 
   51164     return(test_ret);
   51165 }
   51166 
   51167 
   51168 static int
   51169 test_xmlXPtrNewCollapsedRange(void) {
   51170     int test_ret = 0;
   51171 
   51172 #if defined(LIBXML_XPTR_ENABLED)
   51173     int mem_base;
   51174     xmlXPathObjectPtr ret_val;
   51175     xmlNodePtr start; /* the starting and ending node */
   51176     int n_start;
   51177 
   51178     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
   51179         mem_base = xmlMemBlocks();
   51180         start = gen_xmlNodePtr(n_start, 0);
   51181 
   51182         ret_val = xmlXPtrNewCollapsedRange(start);
   51183         desret_xmlXPathObjectPtr(ret_val);
   51184         call_tests++;
   51185         des_xmlNodePtr(n_start, start, 0);
   51186         xmlResetLastError();
   51187         if (mem_base != xmlMemBlocks()) {
   51188             printf("Leak of %d blocks found in xmlXPtrNewCollapsedRange",
   51189 	           xmlMemBlocks() - mem_base);
   51190 	    test_ret++;
   51191             printf(" %d", n_start);
   51192             printf("\n");
   51193         }
   51194     }
   51195     function_tests++;
   51196 #endif
   51197 
   51198     return(test_ret);
   51199 }
   51200 
   51201 
   51202 static int
   51203 test_xmlXPtrNewContext(void) {
   51204     int test_ret = 0;
   51205 
   51206 
   51207     /* missing type support */
   51208     return(test_ret);
   51209 }
   51210 
   51211 
   51212 static int
   51213 test_xmlXPtrNewLocationSetNodeSet(void) {
   51214     int test_ret = 0;
   51215 
   51216 #if defined(LIBXML_XPTR_ENABLED)
   51217     int mem_base;
   51218     xmlXPathObjectPtr ret_val;
   51219     xmlNodeSetPtr set; /* a node set */
   51220     int n_set;
   51221 
   51222     for (n_set = 0;n_set < gen_nb_xmlNodeSetPtr;n_set++) {
   51223         mem_base = xmlMemBlocks();
   51224         set = gen_xmlNodeSetPtr(n_set, 0);
   51225 
   51226         ret_val = xmlXPtrNewLocationSetNodeSet(set);
   51227         desret_xmlXPathObjectPtr(ret_val);
   51228         call_tests++;
   51229         des_xmlNodeSetPtr(n_set, set, 0);
   51230         xmlResetLastError();
   51231         if (mem_base != xmlMemBlocks()) {
   51232             printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodeSet",
   51233 	           xmlMemBlocks() - mem_base);
   51234 	    test_ret++;
   51235             printf(" %d", n_set);
   51236             printf("\n");
   51237         }
   51238     }
   51239     function_tests++;
   51240 #endif
   51241 
   51242     return(test_ret);
   51243 }
   51244 
   51245 
   51246 static int
   51247 test_xmlXPtrNewLocationSetNodes(void) {
   51248     int test_ret = 0;
   51249 
   51250 #if defined(LIBXML_XPTR_ENABLED)
   51251     int mem_base;
   51252     xmlXPathObjectPtr ret_val;
   51253     xmlNodePtr start; /* the start NodePtr value */
   51254     int n_start;
   51255     xmlNodePtr end; /* the end NodePtr value or NULL */
   51256     int n_end;
   51257 
   51258     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
   51259     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
   51260         mem_base = xmlMemBlocks();
   51261         start = gen_xmlNodePtr(n_start, 0);
   51262         end = gen_xmlNodePtr(n_end, 1);
   51263 
   51264         ret_val = xmlXPtrNewLocationSetNodes(start, end);
   51265         desret_xmlXPathObjectPtr(ret_val);
   51266         call_tests++;
   51267         des_xmlNodePtr(n_start, start, 0);
   51268         des_xmlNodePtr(n_end, end, 1);
   51269         xmlResetLastError();
   51270         if (mem_base != xmlMemBlocks()) {
   51271             printf("Leak of %d blocks found in xmlXPtrNewLocationSetNodes",
   51272 	           xmlMemBlocks() - mem_base);
   51273 	    test_ret++;
   51274             printf(" %d", n_start);
   51275             printf(" %d", n_end);
   51276             printf("\n");
   51277         }
   51278     }
   51279     }
   51280     function_tests++;
   51281 #endif
   51282 
   51283     return(test_ret);
   51284 }
   51285 
   51286 
   51287 static int
   51288 test_xmlXPtrNewRange(void) {
   51289     int test_ret = 0;
   51290 
   51291 #if defined(LIBXML_XPTR_ENABLED)
   51292     int mem_base;
   51293     xmlXPathObjectPtr ret_val;
   51294     xmlNodePtr start; /* the starting node */
   51295     int n_start;
   51296     int startindex; /* the start index */
   51297     int n_startindex;
   51298     xmlNodePtr end; /* the ending point */
   51299     int n_end;
   51300     int endindex; /* the ending index */
   51301     int n_endindex;
   51302 
   51303     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
   51304     for (n_startindex = 0;n_startindex < gen_nb_int;n_startindex++) {
   51305     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
   51306     for (n_endindex = 0;n_endindex < gen_nb_int;n_endindex++) {
   51307         mem_base = xmlMemBlocks();
   51308         start = gen_xmlNodePtr(n_start, 0);
   51309         startindex = gen_int(n_startindex, 1);
   51310         end = gen_xmlNodePtr(n_end, 2);
   51311         endindex = gen_int(n_endindex, 3);
   51312 
   51313         ret_val = xmlXPtrNewRange(start, startindex, end, endindex);
   51314         desret_xmlXPathObjectPtr(ret_val);
   51315         call_tests++;
   51316         des_xmlNodePtr(n_start, start, 0);
   51317         des_int(n_startindex, startindex, 1);
   51318         des_xmlNodePtr(n_end, end, 2);
   51319         des_int(n_endindex, endindex, 3);
   51320         xmlResetLastError();
   51321         if (mem_base != xmlMemBlocks()) {
   51322             printf("Leak of %d blocks found in xmlXPtrNewRange",
   51323 	           xmlMemBlocks() - mem_base);
   51324 	    test_ret++;
   51325             printf(" %d", n_start);
   51326             printf(" %d", n_startindex);
   51327             printf(" %d", n_end);
   51328             printf(" %d", n_endindex);
   51329             printf("\n");
   51330         }
   51331     }
   51332     }
   51333     }
   51334     }
   51335     function_tests++;
   51336 #endif
   51337 
   51338     return(test_ret);
   51339 }
   51340 
   51341 
   51342 static int
   51343 test_xmlXPtrNewRangeNodeObject(void) {
   51344     int test_ret = 0;
   51345 
   51346 #if defined(LIBXML_XPTR_ENABLED)
   51347     int mem_base;
   51348     xmlXPathObjectPtr ret_val;
   51349     xmlNodePtr start; /* the starting node */
   51350     int n_start;
   51351     xmlXPathObjectPtr end; /* the ending object */
   51352     int n_end;
   51353 
   51354     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
   51355     for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
   51356         mem_base = xmlMemBlocks();
   51357         start = gen_xmlNodePtr(n_start, 0);
   51358         end = gen_xmlXPathObjectPtr(n_end, 1);
   51359 
   51360         ret_val = xmlXPtrNewRangeNodeObject(start, end);
   51361         desret_xmlXPathObjectPtr(ret_val);
   51362         call_tests++;
   51363         des_xmlNodePtr(n_start, start, 0);
   51364         des_xmlXPathObjectPtr(n_end, end, 1);
   51365         xmlResetLastError();
   51366         if (mem_base != xmlMemBlocks()) {
   51367             printf("Leak of %d blocks found in xmlXPtrNewRangeNodeObject",
   51368 	           xmlMemBlocks() - mem_base);
   51369 	    test_ret++;
   51370             printf(" %d", n_start);
   51371             printf(" %d", n_end);
   51372             printf("\n");
   51373         }
   51374     }
   51375     }
   51376     function_tests++;
   51377 #endif
   51378 
   51379     return(test_ret);
   51380 }
   51381 
   51382 
   51383 static int
   51384 test_xmlXPtrNewRangeNodePoint(void) {
   51385     int test_ret = 0;
   51386 
   51387 #if defined(LIBXML_XPTR_ENABLED)
   51388     int mem_base;
   51389     xmlXPathObjectPtr ret_val;
   51390     xmlNodePtr start; /* the starting node */
   51391     int n_start;
   51392     xmlXPathObjectPtr end; /* the ending point */
   51393     int n_end;
   51394 
   51395     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
   51396     for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
   51397         mem_base = xmlMemBlocks();
   51398         start = gen_xmlNodePtr(n_start, 0);
   51399         end = gen_xmlXPathObjectPtr(n_end, 1);
   51400 
   51401         ret_val = xmlXPtrNewRangeNodePoint(start, end);
   51402         desret_xmlXPathObjectPtr(ret_val);
   51403         call_tests++;
   51404         des_xmlNodePtr(n_start, start, 0);
   51405         des_xmlXPathObjectPtr(n_end, end, 1);
   51406         xmlResetLastError();
   51407         if (mem_base != xmlMemBlocks()) {
   51408             printf("Leak of %d blocks found in xmlXPtrNewRangeNodePoint",
   51409 	           xmlMemBlocks() - mem_base);
   51410 	    test_ret++;
   51411             printf(" %d", n_start);
   51412             printf(" %d", n_end);
   51413             printf("\n");
   51414         }
   51415     }
   51416     }
   51417     function_tests++;
   51418 #endif
   51419 
   51420     return(test_ret);
   51421 }
   51422 
   51423 
   51424 static int
   51425 test_xmlXPtrNewRangeNodes(void) {
   51426     int test_ret = 0;
   51427 
   51428 #if defined(LIBXML_XPTR_ENABLED)
   51429     int mem_base;
   51430     xmlXPathObjectPtr ret_val;
   51431     xmlNodePtr start; /* the starting node */
   51432     int n_start;
   51433     xmlNodePtr end; /* the ending node */
   51434     int n_end;
   51435 
   51436     for (n_start = 0;n_start < gen_nb_xmlNodePtr;n_start++) {
   51437     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
   51438         mem_base = xmlMemBlocks();
   51439         start = gen_xmlNodePtr(n_start, 0);
   51440         end = gen_xmlNodePtr(n_end, 1);
   51441 
   51442         ret_val = xmlXPtrNewRangeNodes(start, end);
   51443         desret_xmlXPathObjectPtr(ret_val);
   51444         call_tests++;
   51445         des_xmlNodePtr(n_start, start, 0);
   51446         des_xmlNodePtr(n_end, end, 1);
   51447         xmlResetLastError();
   51448         if (mem_base != xmlMemBlocks()) {
   51449             printf("Leak of %d blocks found in xmlXPtrNewRangeNodes",
   51450 	           xmlMemBlocks() - mem_base);
   51451 	    test_ret++;
   51452             printf(" %d", n_start);
   51453             printf(" %d", n_end);
   51454             printf("\n");
   51455         }
   51456     }
   51457     }
   51458     function_tests++;
   51459 #endif
   51460 
   51461     return(test_ret);
   51462 }
   51463 
   51464 
   51465 static int
   51466 test_xmlXPtrNewRangePointNode(void) {
   51467     int test_ret = 0;
   51468 
   51469 #if defined(LIBXML_XPTR_ENABLED)
   51470     int mem_base;
   51471     xmlXPathObjectPtr ret_val;
   51472     xmlXPathObjectPtr start; /* the starting point */
   51473     int n_start;
   51474     xmlNodePtr end; /* the ending node */
   51475     int n_end;
   51476 
   51477     for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
   51478     for (n_end = 0;n_end < gen_nb_xmlNodePtr;n_end++) {
   51479         mem_base = xmlMemBlocks();
   51480         start = gen_xmlXPathObjectPtr(n_start, 0);
   51481         end = gen_xmlNodePtr(n_end, 1);
   51482 
   51483         ret_val = xmlXPtrNewRangePointNode(start, end);
   51484         desret_xmlXPathObjectPtr(ret_val);
   51485         call_tests++;
   51486         des_xmlXPathObjectPtr(n_start, start, 0);
   51487         des_xmlNodePtr(n_end, end, 1);
   51488         xmlResetLastError();
   51489         if (mem_base != xmlMemBlocks()) {
   51490             printf("Leak of %d blocks found in xmlXPtrNewRangePointNode",
   51491 	           xmlMemBlocks() - mem_base);
   51492 	    test_ret++;
   51493             printf(" %d", n_start);
   51494             printf(" %d", n_end);
   51495             printf("\n");
   51496         }
   51497     }
   51498     }
   51499     function_tests++;
   51500 #endif
   51501 
   51502     return(test_ret);
   51503 }
   51504 
   51505 
   51506 static int
   51507 test_xmlXPtrNewRangePoints(void) {
   51508     int test_ret = 0;
   51509 
   51510 #if defined(LIBXML_XPTR_ENABLED)
   51511     int mem_base;
   51512     xmlXPathObjectPtr ret_val;
   51513     xmlXPathObjectPtr start; /* the starting point */
   51514     int n_start;
   51515     xmlXPathObjectPtr end; /* the ending point */
   51516     int n_end;
   51517 
   51518     for (n_start = 0;n_start < gen_nb_xmlXPathObjectPtr;n_start++) {
   51519     for (n_end = 0;n_end < gen_nb_xmlXPathObjectPtr;n_end++) {
   51520         mem_base = xmlMemBlocks();
   51521         start = gen_xmlXPathObjectPtr(n_start, 0);
   51522         end = gen_xmlXPathObjectPtr(n_end, 1);
   51523 
   51524         ret_val = xmlXPtrNewRangePoints(start, end);
   51525         desret_xmlXPathObjectPtr(ret_val);
   51526         call_tests++;
   51527         des_xmlXPathObjectPtr(n_start, start, 0);
   51528         des_xmlXPathObjectPtr(n_end, end, 1);
   51529         xmlResetLastError();
   51530         if (mem_base != xmlMemBlocks()) {
   51531             printf("Leak of %d blocks found in xmlXPtrNewRangePoints",
   51532 	           xmlMemBlocks() - mem_base);
   51533 	    test_ret++;
   51534             printf(" %d", n_start);
   51535             printf(" %d", n_end);
   51536             printf("\n");
   51537         }
   51538     }
   51539     }
   51540     function_tests++;
   51541 #endif
   51542 
   51543     return(test_ret);
   51544 }
   51545 
   51546 
   51547 static int
   51548 test_xmlXPtrRangeToFunction(void) {
   51549     int test_ret = 0;
   51550 
   51551 #if defined(LIBXML_XPTR_ENABLED)
   51552     int mem_base;
   51553     xmlXPathParserContextPtr ctxt; /* the XPointer Parser context */
   51554     int n_ctxt;
   51555     int nargs; /* the number of args */
   51556     int n_nargs;
   51557 
   51558     for (n_ctxt = 0;n_ctxt < gen_nb_xmlXPathParserContextPtr;n_ctxt++) {
   51559     for (n_nargs = 0;n_nargs < gen_nb_int;n_nargs++) {
   51560         mem_base = xmlMemBlocks();
   51561         ctxt = gen_xmlXPathParserContextPtr(n_ctxt, 0);
   51562         nargs = gen_int(n_nargs, 1);
   51563 
   51564         xmlXPtrRangeToFunction(ctxt, nargs);
   51565         call_tests++;
   51566         des_xmlXPathParserContextPtr(n_ctxt, ctxt, 0);
   51567         des_int(n_nargs, nargs, 1);
   51568         xmlResetLastError();
   51569         if (mem_base != xmlMemBlocks()) {
   51570             printf("Leak of %d blocks found in xmlXPtrRangeToFunction",
   51571 	           xmlMemBlocks() - mem_base);
   51572 	    test_ret++;
   51573             printf(" %d", n_ctxt);
   51574             printf(" %d", n_nargs);
   51575             printf("\n");
   51576         }
   51577     }
   51578     }
   51579     function_tests++;
   51580 #endif
   51581 
   51582     return(test_ret);
   51583 }
   51584 
   51585 
   51586 static int
   51587 test_xmlXPtrWrapLocationSet(void) {
   51588     int test_ret = 0;
   51589 
   51590 #if defined(LIBXML_XPTR_ENABLED)
   51591     int mem_base;
   51592     xmlXPathObjectPtr ret_val;
   51593     xmlLocationSetPtr val; /* the LocationSet value */
   51594     int n_val;
   51595 
   51596     for (n_val = 0;n_val < gen_nb_xmlLocationSetPtr;n_val++) {
   51597         mem_base = xmlMemBlocks();
   51598         val = gen_xmlLocationSetPtr(n_val, 0);
   51599 
   51600         ret_val = xmlXPtrWrapLocationSet(val);
   51601         desret_xmlXPathObjectPtr(ret_val);
   51602         call_tests++;
   51603         des_xmlLocationSetPtr(n_val, val, 0);
   51604         xmlResetLastError();
   51605         if (mem_base != xmlMemBlocks()) {
   51606             printf("Leak of %d blocks found in xmlXPtrWrapLocationSet",
   51607 	           xmlMemBlocks() - mem_base);
   51608 	    test_ret++;
   51609             printf(" %d", n_val);
   51610             printf("\n");
   51611         }
   51612     }
   51613     function_tests++;
   51614 #endif
   51615 
   51616     return(test_ret);
   51617 }
   51618 
   51619 static int
   51620 test_xpointer(void) {
   51621     int test_ret = 0;
   51622 
   51623     if (quiet == 0) printf("Testing xpointer : 17 of 21 functions ...\n");
   51624     test_ret += test_xmlXPtrBuildNodeList();
   51625     test_ret += test_xmlXPtrEval();
   51626     test_ret += test_xmlXPtrEvalRangePredicate();
   51627     test_ret += test_xmlXPtrLocationSetAdd();
   51628     test_ret += test_xmlXPtrLocationSetCreate();
   51629     test_ret += test_xmlXPtrLocationSetDel();
   51630     test_ret += test_xmlXPtrLocationSetMerge();
   51631     test_ret += test_xmlXPtrLocationSetRemove();
   51632     test_ret += test_xmlXPtrNewCollapsedRange();
   51633     test_ret += test_xmlXPtrNewContext();
   51634     test_ret += test_xmlXPtrNewLocationSetNodeSet();
   51635     test_ret += test_xmlXPtrNewLocationSetNodes();
   51636     test_ret += test_xmlXPtrNewRange();
   51637     test_ret += test_xmlXPtrNewRangeNodeObject();
   51638     test_ret += test_xmlXPtrNewRangeNodePoint();
   51639     test_ret += test_xmlXPtrNewRangeNodes();
   51640     test_ret += test_xmlXPtrNewRangePointNode();
   51641     test_ret += test_xmlXPtrNewRangePoints();
   51642     test_ret += test_xmlXPtrRangeToFunction();
   51643     test_ret += test_xmlXPtrWrapLocationSet();
   51644 
   51645     if (test_ret != 0)
   51646 	printf("Module xpointer: %d errors\n", test_ret);
   51647     return(test_ret);
   51648 }
   51649 static int
   51650 test_module(const char *module) {
   51651     if (!strcmp(module, "HTMLparser")) return(test_HTMLparser());
   51652     if (!strcmp(module, "HTMLtree")) return(test_HTMLtree());
   51653     if (!strcmp(module, "SAX2")) return(test_SAX2());
   51654     if (!strcmp(module, "c14n")) return(test_c14n());
   51655     if (!strcmp(module, "catalog")) return(test_catalog());
   51656     if (!strcmp(module, "chvalid")) return(test_chvalid());
   51657     if (!strcmp(module, "debugXML")) return(test_debugXML());
   51658     if (!strcmp(module, "dict")) return(test_dict());
   51659     if (!strcmp(module, "encoding")) return(test_encoding());
   51660     if (!strcmp(module, "entities")) return(test_entities());
   51661     if (!strcmp(module, "hash")) return(test_hash());
   51662     if (!strcmp(module, "list")) return(test_list());
   51663     if (!strcmp(module, "nanoftp")) return(test_nanoftp());
   51664     if (!strcmp(module, "nanohttp")) return(test_nanohttp());
   51665     if (!strcmp(module, "parser")) return(test_parser());
   51666     if (!strcmp(module, "parserInternals")) return(test_parserInternals());
   51667     if (!strcmp(module, "pattern")) return(test_pattern());
   51668     if (!strcmp(module, "relaxng")) return(test_relaxng());
   51669     if (!strcmp(module, "schemasInternals")) return(test_schemasInternals());
   51670     if (!strcmp(module, "schematron")) return(test_schematron());
   51671     if (!strcmp(module, "tree")) return(test_tree());
   51672     if (!strcmp(module, "uri")) return(test_uri());
   51673     if (!strcmp(module, "valid")) return(test_valid());
   51674     if (!strcmp(module, "xinclude")) return(test_xinclude());
   51675     if (!strcmp(module, "xmlIO")) return(test_xmlIO());
   51676     if (!strcmp(module, "xmlautomata")) return(test_xmlautomata());
   51677     if (!strcmp(module, "xmlerror")) return(test_xmlerror());
   51678     if (!strcmp(module, "xmlmodule")) return(test_xmlmodule());
   51679     if (!strcmp(module, "xmlreader")) return(test_xmlreader());
   51680     if (!strcmp(module, "xmlregexp")) return(test_xmlregexp());
   51681     if (!strcmp(module, "xmlsave")) return(test_xmlsave());
   51682     if (!strcmp(module, "xmlschemas")) return(test_xmlschemas());
   51683     if (!strcmp(module, "xmlschemastypes")) return(test_xmlschemastypes());
   51684     if (!strcmp(module, "xmlstring")) return(test_xmlstring());
   51685     if (!strcmp(module, "xmlunicode")) return(test_xmlunicode());
   51686     if (!strcmp(module, "xmlwriter")) return(test_xmlwriter());
   51687     if (!strcmp(module, "xpath")) return(test_xpath());
   51688     if (!strcmp(module, "xpathInternals")) return(test_xpathInternals());
   51689     if (!strcmp(module, "xpointer")) return(test_xpointer());
   51690     return(0);
   51691 }
   51692