diff --git a/ChangeLog b/ChangeLog index 9ed40115..6612c396 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Tue Oct 22 19:33:20 CEST 2002 Daniel Veillard <daniel@veillard.com> + + * vms/build_libxml.com vms/config.vms vms/readme.vms + include/libxml/parser.h include/libxml/parserInternals.h + include/libxml/tree.h include/libxml/xmlIO.h + HTMLparser.c catalog.c debugXML.c parser.c parserInternals.c + tree.c triodef.h trionan.c uri.c xmlIO.c xpath.c: + Applied the VMS update patch from Craig A. Berry + * doc/*.html: update + Tue Oct 22 16:27:31 CEST 2002 Daniel Veillard <daniel@veillard.com> * include/libxml/encoding.h encoding.c: made xmlGetUTF8Char public diff --git a/HTMLparser.c b/HTMLparser.c index 7200a3b1..e4a52264 100644 --- a/HTMLparser.c +++ b/HTMLparser.c @@ -3200,7 +3200,7 @@ htmlParseReference(htmlParserCtxtPtr ctxt) { ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1); return; } - if ((ent == NULL) || (ent->value <= 0)) { + if ((ent == NULL) || !(ent->value > 0)) { htmlCheckParagraph(ctxt); if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL)) { ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1); diff --git a/catalog.c b/catalog.c index 8905b044..40236a2e 100644 --- a/catalog.c +++ b/catalog.c @@ -2860,7 +2860,7 @@ xmlInitializeCatalog(void) { paths = cur; while ((*cur != 0) && (!IS_BLANK(*cur))) cur++; - path = xmlStrndup((const xmlChar *)paths, cur - paths); + path = (char *) xmlStrndup((const xmlChar *)paths, cur - paths); if (path != NULL) { *nextent = xmlNewCatalogEntry(XML_CATA_CATALOG, NULL, NULL, BAD_CAST path, xmlCatalogDefaultPrefer); diff --git a/debugXML.c b/debugXML.c index cbc5db07..9652c9f0 100644 --- a/debugXML.c +++ b/debugXML.c @@ -1563,7 +1563,7 @@ xmlShellSetBase(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED, * * Returns 0 */ -int +static int xmlShellGrep(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED, char *arg, xmlNodePtr node, xmlNodePtr node2 ATTRIBUTE_UNUSED) { @@ -1582,16 +1582,16 @@ xmlShellGrep(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED, #endif while (node != NULL) { if (node->type == XML_COMMENT_NODE) { - if (xmlStrstr(node->content, arg)) { + if (xmlStrstr(node->content, (xmlChar *) arg)) { fprintf(ctxt->output, "%s : ", xmlGetNodePath(node)); xmlShellList(ctxt, NULL, node, NULL); } } else if (node->type == XML_TEXT_NODE) { - if (xmlStrstr(node->content, arg)) { + if (xmlStrstr(node->content, (xmlChar *) arg)) { fprintf(ctxt->output, "%s : ", xmlGetNodePath(node->parent)); - xmlShellList(ctxt, NULL, node, NULL); + xmlShellList(ctxt, NULL, node->parent, NULL); } } diff --git a/doc/index.html b/doc/index.html index 7208ee39..4e8fb2fc 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,3 +1,693 @@ +Freeing 0x809a570 +Freeing 0x8099e68 +Freeing 0x809a850 +Freeing 0x809a120 +Freeing 0x809aac8 +Freeing 0x8099e68 +Freeing 0x809ad30 +Freeing 0x809a920 +Freeing 0x809b090 +Freeing 0x809a920 +Freeing 0x809b368 +Freeing 0x809a920 +Freeing 0x809b630 +Freeing 0x809a920 +Freeing 0x809b8d8 +Freeing 0x809a920 +Freeing 0x809bba0 +Freeing 0x809a920 +Freeing 0x809be38 +Freeing 0x809a920 +Freeing 0x809c118 +Freeing 0x809a920 +Freeing 0x809c3b0 +Freeing 0x809a920 +Freeing 0x809c640 +Freeing 0x809a920 +Freeing 0x809c8e0 +Freeing 0x809a920 +Freeing 0x809cbb0 +Freeing 0x809a920 +Freeing 0x809ce60 +Freeing 0x809a920 +Freeing 0x809d140 +Freeing 0x809a920 +Freeing 0x809d3c0 +Freeing 0x809a920 +Freeing 0x809d6f8 +Freeing 0x809a920 +Freeing 0x809d9e0 +Freeing 0x809a920 +Freeing 0x809dbf8 +Freeing 0x809d900 +Freeing 0x809ded0 +Freeing 0x809d900 +Freeing 0x809e168 +Freeing 0x809d900 +Freeing 0x809e438 +Freeing 0x809d900 +Freeing 0x809e6e8 +Freeing 0x809d900 +Freeing 0x809e980 +Freeing 0x809d900 +Freeing 0x80a50d8 +Freeing 0x817af18 +Freeing 0x817b5b8 +Freeing 0x8184cc8 +Freeing 0x81827e8 +Freeing 0x81854c8 +Freeing 0x8185110 +Freeing 0x8185868 +Freeing 0x81854d0 +Freeing 0x8185bf0 +Freeing 0x8185868 +Freeing 0x8185f70 +Freeing 0x81858b8 +Freeing 0x8186268 +Freeing 0x8185d20 +Freeing 0x8186678 +Freeing 0x81862c0 +Freeing 0x8186ab8 +Freeing 0x81866d0 +Freeing 0x8186e18 +Freeing 0x8186bb0 +Freeing 0x81872a0 +Freeing 0x8186ec0 +Freeing 0x81875a8 +Freeing 0x8187258 +Freeing 0x81878b0 +Freeing 0x8187258 +Freeing 0x8187df0 +Freeing 0x8187b08 +Freeing 0x81883b8 +Freeing 0x8187fa8 +Freeing 0x8188680 +Freeing 0x8187fa8 +Freeing 0x81889a8 +Freeing 0x8185088 +Freeing 0x81890a0 +Freeing 0x8188c90 +Freeing 0x8189488 +Freeing 0x8189168 +Freeing 0x8189910 +Freeing 0x8189410 +Freeing 0x818a658 +Freeing 0x818a2a0 +Freeing 0x818aa78 +Freeing 0x818a760 +Freeing 0x818ae90 +Freeing 0x818ab08 +Freeing 0x818b138 +Freeing 0x818ab08 +Freeing 0x818b768 +Freeing 0x818b340 +Freeing 0x818bd78 +Freeing 0x818c928 +Freeing 0x818fd78 +Freeing 0x818cf60 +Freeing 0x8191e48 +Freeing 0x81927a8 +Freeing 0x8193138 +Freeing 0x81a0288 +Freeing 0x819fdc0 +Freeing 0x81a0550 +Freeing 0x819ffe0 +Freeing 0x81a0818 +Freeing 0x819fdc0 +Freeing 0x81a1280 +Freeing 0x81a0e70 +Freeing 0x81a16e8 +Freeing 0x81a1358 +Freeing 0x81a1980 +Freeing 0x81a16a8 +Freeing 0x81a1e48 +Freeing 0x81a1a60 +Freeing 0x818b768 +Freeing 0x818b6c8 +Freeing 0x81a2520 +Freeing 0x818c7e0 +Freeing 0x8193f58 +Freeing 0x818cb60 +Freeing 0x818ebc8 +Freeing 0x8194bd0 +Freeing 0x8195560 +Freeing 0x819f308 +Freeing 0x819cde0 +Freeing 0x819f668 +Freeing 0x819f010 +Freeing 0x819f948 +Freeing 0x819f010 +Freeing 0x819fca8 +Freeing 0x819f4b0 +Freeing 0x81a07a0 +Freeing 0x81a0420 +Freeing 0x81a1e10 +Freeing 0x81a1968 +Freeing 0x81a2068 +Freeing 0x81a1968 +Freeing 0x81a27c0 +Freeing 0x81a2338 +Freeing 0x81a3270 +Freeing 0x81a2e80 +Freeing 0x81a3520 +Freeing 0x81a3080 +Freeing 0x81a3a38 +Freeing 0x81a3710 +Freeing 0x81a3d00 +Freeing 0x81a38c8 +Freeing 0x81a46c0 +Freeing 0x81a4268 +Freeing 0x81a76b0 +Freeing 0x81a72a0 +Freeing 0x81a7bd0 +Freeing 0x81a7638 +Freeing 0x81a7ee8 +Freeing 0x81a7ad0 +Freeing 0x81a81d0 +Freeing 0x81a7ad0 +Freeing 0x81aaca8 +Freeing 0x81aaa40 +Freeing 0x81aaf58 +Freeing 0x81aac10 +Freeing 0x81aceb0 +Freeing 0x81acae8 +Freeing 0x81ada18 +Freeing 0x81ad660 +Freeing 0x81ae470 +Freeing 0x81ae038 +Freeing 0x81afb20 +Freeing 0x81af750 +Freeing 0x81b02e8 +Freeing 0x81afea0 +Freeing 0x81b0820 +Freeing 0x81b04a0 +Freeing 0x81b1620 +Freeing 0x81b1200 +Freeing 0x81b1a10 +Freeing 0x81b1620 +Freeing 0x81b1fe0 +Freeing 0x81b1bf0 +Freeing 0x81b23c8 +Freeing 0x81b2278 +Freeing 0x818c2e0 +Freeing 0x81a24c8 +Freeing 0x818b848 +Freeing 0x818c4c0 +Freeing 0x81b2a28 +Freeing 0x818cad8 +Freeing 0x81ab7e8 +Freeing 0x81abf18 +Freeing 0x81ac8a8 +Freeing 0x8195c28 +Freeing 0x8195828 +Freeing 0x8196080 +Freeing 0x8195d50 +Freeing 0x8196440 +Freeing 0x8196158 +Freeing 0x8196740 +Freeing 0x8196270 +Freeing 0x8196bc8 +Freeing 0x8196818 +Freeing 0x8197080 +Freeing 0x8196d40 +Freeing 0x8197278 +Freeing 0x8196f88 +Freeing 0x8197bb8 +Freeing 0x8196e70 +Freeing 0x8197e80 +Freeing 0x8197080 +Freeing 0x81982a8 +Freeing 0x8197e88 +Freeing 0x8198730 +Freeing 0x8198348 +Freeing 0x8198bd8 +Freeing 0x8198830 +Freeing 0x8199110 +Freeing 0x8198d60 +Freeing 0x818bf70 +Freeing 0x81b2cc8 +Freeing 0x818bcc8 +Freeing 0x818c978 +Freeing 0x818fcf0 +Freeing 0x818ce20 +Freeing 0x8191dc0 +Freeing 0x8192720 +Freeing 0x81930b0 +Freeing 0x81a0a30 +Freeing 0x81a0680 +Freeing 0x81a0d00 +Freeing 0x81a0918 +Freeing 0x81a1218 +Freeing 0x81a0f40 +Freeing 0x81a1658 +Freeing 0x81a13a0 +Freeing 0x81a19b8 +Freeing 0x81a14c8 +Freeing 0x818b6c8 +Freeing 0x818b408 +Freeing 0x8199788 +Freeing 0x818c6a8 +Freeing 0x818f9e8 +Freeing 0x818ca78 +Freeing 0x8191ac8 +Freeing 0x8192428 +Freeing 0x8192db8 +Freeing 0x81a0438 +Freeing 0x81a0018 +Freeing 0x818c220 +Freeing 0x81a4cb0 +Freeing 0x818b838 +Freeing 0x818d6f0 +Freeing 0x81a19b0 +Freeing 0x818ba40 +Freeing 0x819bad0 +Freeing 0x818e438 +Freeing 0x819c7f8 +Freeing 0x8199be0 +Freeing 0x81997f8 +Freeing 0x819a088 +Freeing 0x8199d40 +Freeing 0x81a3298 +Freeing 0x81a2e20 +Freeing 0x81a35d0 +Freeing 0x81a3120 +Freeing 0x818b6c8 +Freeing 0x818b588 +Freeing 0x818b7a8 +Freeing 0x818cfb0 +Freeing 0x81a3810 +Freeing 0x818c6d8 +Freeing 0x819cf80 +Freeing 0x819d8e0 +Freeing 0x819e270 +Freeing 0x81acb58 +Freeing 0x81ac6d8 +Freeing 0x81ace18 +Freeing 0x81ac6d8 +Freeing 0x8193030 +Freeing 0x8192c40 +Freeing 0x81bffd0 +Freeing 0x81bfbe0 +Freeing 0x81c5ce8 +Freeing 0x81c5b60 +Freeing 0x81c7008 +Freeing 0x81c6bf8 +Freeing 0x81c9ed0 +Freeing 0x81c9a98 +Freeing 0x81ca548 +Freeing 0x81ca210 +Freeing 0x81cb508 +Freeing 0x81cb1b8 +Freeing 0x81cb8a0 +Freeing 0x81cb178 +Freeing 0x81ccb28 +Freeing 0x81cc828 +Freeing 0x81cd1f0 +Freeing 0x81cce60 +Freeing 0x81cfb08 +Freeing 0x81cf6c0 +Freeing 0x81d0db0 +Freeing 0x81d0be0 +Freeing 0x81d3378 +Freeing 0x81d2f08 +Freeing 0x81d3be0 +Freeing 0x81d37d0 +Freeing 0x81d4050 +Freeing 0x81d3c40 +Freeing 0x818d798 +Freeing 0x81a3d18 +Freeing 0x81822a0 +Freeing 0x818d6c8 +Freeing 0x81a2b18 +Freeing 0x819df90 +Freeing 0x819c498 +Freeing 0x819c998 +Freeing 0x819ed98 +Freeing 0x818dc48 +Freeing 0x818b838 +Freeing 0x818d8a0 +Freeing 0x818d298 +Freeing 0x81a3590 +Freeing 0x818b9f8 +Freeing 0x819e4e8 +Freeing 0x81a3f18 +Freeing 0x81a48a8 +Freeing 0x818d848 +Freeing 0x818b6c8 +Freeing 0x818b758 +Freeing 0x81affe0 +Freeing 0x81a35e8 +Freeing 0x81a1898 +Freeing 0x81a3a80 +Freeing 0x81adcb0 +Freeing 0x81a42b8 +Freeing 0x81911a0 +Freeing 0x8190b30 +Freeing 0x8191580 +Freeing 0x8190ee8 +Freeing 0x81918e0 +Freeing 0x81914e0 +Freeing 0x8191dd0 +Freeing 0x8191750 +Freeing 0x81923a0 +Freeing 0x8191fc8 +Freeing 0x8192708 +Freeing 0x8192428 +Freeing 0x81929c8 +Freeing 0x8192428 +Freeing 0x8192ce0 +Freeing 0x8192428 +Freeing 0x81930e8 +Freeing 0x8192d90 +Freeing 0x81933d0 +Freeing 0x8192d90 +Freeing 0x81937d0 +Freeing 0x8193480 +Freeing 0x8193c58 +Freeing 0x8193910 +Freeing 0x81940f8 +Freeing 0x8193db0 +Freeing 0x81945b0 +Freeing 0x8194268 +Freeing 0x8194950 +Freeing 0x8194268 +Freeing 0x8194de8 +Freeing 0x8194a08 +Freeing 0x8195670 +Freeing 0x8195378 +Freeing 0x8195a18 +Freeing 0x8195438 +Freeing 0x8195e30 +Freeing 0x8195ac8 +Freeing 0x818d150 +Freeing 0x81ae280 +Freeing 0x818d6e0 +Freeing 0x818ba00 +Freeing 0x819e648 +Freeing 0x818c030 +Freeing 0x81a0728 +Freeing 0x81a1088 +Freeing 0x81a3a50 +Freeing 0x818d9e8 +Freeing 0x818b7e8 +Freeing 0x81a36f8 +Freeing 0x818e938 +Freeing 0x81a27e0 +Freeing 0x818d6b8 +Freeing 0x81a0510 +Freeing 0x81a0e70 +Freeing 0x81a1758 +Freeing 0x818e9f0 +Freeing 0x818d930 +Freeing 0x81a3400 +Freeing 0x818cf50 +Freeing 0x818ded0 +Freeing 0x818d1c0 +Freeing 0x818ff70 +Freeing 0x81908d0 +Freeing 0x81a3b90 +Freeing 0x81a3750 +Freeing 0x818b588 +Freeing 0x818dac8 +Freeing 0x818ca58 +Freeing 0x818fae8 +Freeing 0x818d6c0 +Freeing 0x8191c68 +Freeing 0x81925c8 +Freeing 0x8192f58 +Freeing 0x81aed20 +Freeing 0x81ac1b8 +Freeing 0x81af088 +Freeing 0x81aecc0 +Freeing 0x81af380 +Freeing 0x81aecc8 +Freeing 0x81af8c0 +Freeing 0x81af4b0 +Freeing 0x81afc90 +Freeing 0x81af938 +Freeing 0x81aff78 +Freeing 0x81af4b0 +Freeing 0x8193df0 +Freeing 0x81affd8 +Freeing 0x81940a0 +Freeing 0x81b00b0 +Freeing 0x8194420 +Freeing 0x8194058 +Freeing 0x8195cf0 +Freeing 0x81958b8 +Freeing 0x81960b8 +Freeing 0x8195b20 +Freeing 0x8197968 +Freeing 0x8197538 +Freeing 0x81a0c98 +Freeing 0x81a0818 +Freeing 0x818da70 +Freeing 0x8193d40 +Freeing 0x81a3700 +Freeing 0x81a7ad0 +Freeing 0x818f370 +Freeing 0x818c828 +Freeing 0x81a51d8 +Freeing 0x81afce8 +Freeing 0x81a5a90 +Freeing 0x8192838 +Freeing 0x8192500 +Freeing 0x8192b78 +Freeing 0x8190348 +Freeing 0x8192f20 +Freeing 0x8190348 +Freeing 0x81931e0 +Freeing 0x81903c8 +Freeing 0x8193518 +Freeing 0x81930e0 +Freeing 0x8193d58 +Freeing 0x8193968 +Freeing 0x8194ce8 +Freeing 0x8194930 +Freeing 0x8195138 +Freeing 0x8194de8 +Freeing 0x8195cc8 +Freeing 0x8195918 +Freeing 0x81961b0 +Freeing 0x8195af8 +Freeing 0x8196dd8 +Freeing 0x81969e8 +Freeing 0x8197090 +Freeing 0x8196d00 +Freeing 0x81973c8 +Freeing 0x8196f70 +Freeing 0x81977c0 +Freeing 0x8197470 +Freeing 0x818b7b0 +Freeing 0x81a36a8 +Freeing 0x818cf00 +Freeing 0x81adda8 +Freeing 0x818f130 +Freeing 0x818c640 +Freeing 0x81afe40 +Freeing 0x81adb28 +Freeing 0x81a3c60 +Freeing 0x8192a20 +Freeing 0x81904d0 +Freeing 0x8192d88 +Freeing 0x8190460 +Freeing 0x8193150 +Freeing 0x8192b70 +Freeing 0x8193450 +Freeing 0x8192b70 +Freeing 0x8193798 +Freeing 0x8193200 +Freeing 0x8196a00 +Freeing 0x81965b8 +Freeing 0x81a7e48 +Freeing 0x818b588 +Freeing 0x818d860 +Freeing 0x818d380 +Freeing 0x818f120 +Freeing 0x81aa688 +Freeing 0x81ac768 +Freeing 0x81aa0d0 +Freeing 0x81a3bb0 +Freeing 0x819f698 +Freeing 0x819d370 +Freeing 0x819fa38 +Freeing 0x819f630 +Freeing 0x819fd68 +Freeing 0x819f638 +Freeing 0x81a0038 +Freeing 0x819f5e8 +Freeing 0x81a03d0 +Freeing 0x81a00c0 +Freeing 0x81a06f8 +Freeing 0x819f5e8 +Freeing 0x81a0eb8 +Freeing 0x81a0a80 +Freeing 0x81a1770 +Freeing 0x81a1508 +Freeing 0x818ffe0 +Freeing 0x818fbb0 +Freeing 0x818db70 +Freeing 0x819c7e8 +Freeing 0x818bac8 +Freeing 0x818bdf0 +Freeing 0x818e360 +Freeing 0x818c368 +Freeing 0x8190548 +Freeing 0x8190de0 +Freeing 0x8191588 +Freeing 0x8192a68 +Freeing 0x81926c8 +Freeing 0x8192dc8 +Freeing 0x8192628 +Freeing 0x8193138 +Freeing 0x8192b68 +Freeing 0x8193420 +Freeing 0x8192700 +Freeing 0x8193758 +Freeing 0x8193320 +Freeing 0x8193ac8 +Freeing 0x8193800 +Freeing 0x8193df0 +Freeing 0x8193758 +Freeing 0x8194198 +Freeing 0x8193e98 +Freeing 0x8194510 +Freeing 0x8194210 +Freeing 0x8196680 +Freeing 0x8196298 +Freeing 0x8196af0 +Freeing 0x8196758 +Freeing 0x81a10c8 +Freeing 0x81a0e08 +Freeing 0x81a15a0 +Freeing 0x81a1020 +Freeing 0x81a1a50 +Freeing 0x81a16c8 +Freeing 0x81a1f00 +Freeing 0x81a1b50 +Freeing 0x81a23c8 +Freeing 0x81a2078 +Freeing 0x81a28a8 +Freeing 0x81a2588 +Freeing 0x81a32b0 +Freeing 0x81a2f30 +Freeing 0x81b0290 +Freeing 0x81a33c8 +Freeing 0x818b938 +Freeing 0x818ceb0 +Freeing 0x818d4a0 +Freeing 0x81a3b68 +Freeing 0x81afdf8 +Freeing 0x818c808 +Freeing 0x818f878 +Freeing 0x81a1da0 +Freeing 0x81a2730 +Freeing 0x818d210 +Freeing 0x81ae1d8 +Freeing 0x818bd90 +Freeing 0x818bc40 +Freeing 0x81a5ba0 +Freeing 0x818d3b8 +Freeing 0x81a7c70 +Freeing 0x81a85d0 +Freeing 0x81a8f60 +Freeing 0x818b750 +Freeing 0x818d608 +Freeing 0x818cf00 +Freeing 0x818c7d8 +Freeing 0x81a5be8 +Freeing 0x818cc98 +Freeing 0x81a7d50 +Freeing 0x81a86b0 +Freeing 0x81a9040 +Freeing 0x818baf8 +Freeing 0x818d6e8 +Freeing 0x818b958 +Freeing 0x818d368 +Freeing 0x81a3fc8 +Freeing 0x818d708 +Freeing 0x818df98 +Freeing 0x818e8f8 +Freeing 0x818f288 +Freeing 0x818ba18 +Freeing 0x8195fa0 +Freeing 0x81ae828 +Freeing 0x81a5df8 +Freeing 0x81af618 +Freeing 0x818d328 +Freeing 0x81a85a0 +Freeing 0x81a8f00 +Freeing 0x81a9890 +Freeing 0x81ae938 +Freeing 0x8185220 +Freeing 0x818cf00 +Freeing 0x81ae4f0 +Freeing 0x81af8d8 +Freeing 0x81a6230 +Freeing 0x81a85f0 +Freeing 0x81a8f50 +Freeing 0x81a98e0 +Freeing 0x81a5f88 +Freeing 0x818b588 +Freeing 0x818cf00 +Freeing 0x81b0048 +Freeing 0x81a69a0 +Freeing 0x818bdb0 +Freeing 0x81a8ab8 +Freeing 0x81a9238 +Freeing 0x81a9b00 +Freeing 0x818d2b0 +Freeing 0x818cf90 +Freeing 0x81acce8 +Freeing 0x818ca90 +Freeing 0x81af420 +Freeing 0x818bdf0 +Freeing 0x81ab4e8 +Freeing 0x81abe48 +Freeing 0x81ac738 +Freeing 0x8195558 +Freeing 0x81951d8 +Freeing 0x8195810 +Freeing 0x81952e8 +Freeing 0x8195bc8 +Freeing 0x8195768 +Freeing 0x8195e90 +Freeing 0x8195768 +Freeing 0x81961c8 +Freeing 0x8195718 +Freeing 0x8196478 +Freeing 0x8195718 +Freeing 0x8196770 +Freeing 0x8195718 +Freeing 0x8196ad8 +Freeing 0x8196798 +Freeing 0x8196d90 +Freeing 0x8196798 +Freeing 0x8197050 +Freeing 0x8196798 +Freeing 0x81974b0 +Freeing 0x8197170 +Freeing 0x8197780 +Freeing 0x8197170 +Freeing 0x8197ae8 +Freeing 0x81976f0 +Freeing 0x8197f28 +Freeing 0x8197a28 +Freeing 0x81982d0 +Freeing 0x8197a28 +Freeing 0x8198650 +Freeing 0x8198350 +Freeing 0x8198aa8 +Freeing 0x8198538 +Freeing 0x8198d40 +Freeing 0x81988b0 +Freeing 0x8199010 +Freeing 0x8198b88 +Freeing 0x81981c0 +Freeing 0x8185220 +Freeing 0x8116ab0 +Freeing 0x8118c80 +Freeing 0x8098b70 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <html> <head> diff --git a/doc/news.html b/doc/news.html index 781ccc19..94470b68 100644 --- a/doc/news.html +++ b/doc/news.html @@ -102,6 +102,13 @@ to test those</p> Schemas</a> and <a href="http://www.w3.org/TR/xinclude">XInclude</a> </li> </ul> +<h3>2.4.26: Oct 18 2002</h3> +<ul> +<li>Patches for Windows CE port, improvements on Windows paths handling</li> + <li>Fixes to the validation code (DTD and Schemas), xmlNodeGetPath() , + HTML serialization, Namespace compliance, and a number of small + problems</li> +</ul> <h3>2.4.25: Sep 26 2002</h3> <ul> <li>A number of bug fixes: XPath, validation, Python bindings, DOM and diff --git a/doc/xmlio.html b/doc/xmlio.html index 90e4b1eb..eca8e829 100644 --- a/doc/xmlio.html +++ b/doc/xmlio.html @@ -248,6 +248,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) { + } </pre> </li> <li>And then use it to save the document: diff --git a/include/libxml/parser.h b/include/libxml/parser.h index 8f50096e..a1c8b377 100644 --- a/include/libxml/parser.h +++ b/include/libxml/parser.h @@ -627,15 +627,6 @@ LIBXML_DLL_IMPORT extern xmlSAXHandler docbDefaultSAXHandler; * Entity substitution default behavior. */ -#ifdef VMS -/** - * xmlSubstituteEntitiesDefaultValue: - * - * Global variable controlling the entity substitution default behavior. - */ -LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultVal; -#define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDefaultVal -#endif #if 0 LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultValue; LIBXML_DLL_IMPORT extern int xmlGetWarningsDefaultValue; diff --git a/include/libxml/parserInternals.h b/include/libxml/parserInternals.h index 823dae89..8507442b 100644 --- a/include/libxml/parserInternals.h +++ b/include/libxml/parserInternals.h @@ -5,9 +5,6 @@ * * daniel@veillard.com * - * 14 Nov 2000 ht - truncated declaration of xmlParseElementChildrenContentDecl - * for VMS - * */ #ifndef __XML_PARSER_INTERNALS_H__ @@ -275,15 +272,9 @@ void xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt); xmlElementContentPtr xmlParseElementMixedContentDecl (xmlParserCtxtPtr ctxt, xmlParserInputPtr inputchk); -#ifdef VMS -xmlElementContentPtr xmlParseElementChildrenContentD - (xmlParserCtxtPtr ctxt); -#define xmlParseElementChildrenContentDecl xmlParseElementChildrenContentD -#else xmlElementContentPtr xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, xmlParserInputPtr inputchk); -#endif int xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, xmlChar *name, xmlElementContentPtr *result); diff --git a/include/libxml/tree.h b/include/libxml/tree.h index efd902a5..6759ce9e 100644 --- a/include/libxml/tree.h +++ b/include/libxml/tree.h @@ -6,8 +6,6 @@ * * daniel@veillard.com * - * 14 Nov 2000 ht - added redefinition of xmlBufferWriteChar for VMS - * */ #ifndef __XML_TREE_H__ @@ -799,14 +797,8 @@ int xmlUnsetNsProp (xmlNodePtr node, /* * Internal, don't use. */ -#ifdef VMS -void xmlBufferWriteXmlCHAR (xmlBufferPtr buf, - const xmlChar *string); -#define xmlBufferWriteCHAR xmlBufferWriteXmlCHAR -#else void xmlBufferWriteCHAR (xmlBufferPtr buf, const xmlChar *string); -#endif void xmlBufferWriteChar (xmlBufferPtr buf, const char *string); void xmlBufferWriteQuotedString(xmlBufferPtr buf, diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h index d0ef8d67..e0275b00 100644 --- a/include/libxml/xmlIO.h +++ b/include/libxml/xmlIO.h @@ -5,7 +5,6 @@ * * daniel@veillard.com * - * 15 Nov 2000 ht - modified for VMS */ #ifndef __XML_IO_H__ @@ -159,17 +158,9 @@ void xmlRegisterDefaultInputCallbacks (void); xmlParserInputBufferPtr xmlAllocParserInputBuffer (xmlCharEncoding enc); -#ifdef VMS -xmlParserInputBufferPtr - xmlParserInputBufferCreateFname (const char *URI, - xmlCharEncoding enc); -#define xmlParserInputBufferCreateFilename xmlParserInputBufferCreateFname -#else xmlParserInputBufferPtr xmlParserInputBufferCreateFilename (const char *URI, xmlCharEncoding enc); -#endif - xmlParserInputBufferPtr xmlParserInputBufferCreateFile (FILE *file, xmlCharEncoding enc); diff --git a/parser.c b/parser.c index a10b3e3a..75d22216 100644 --- a/parser.c +++ b/parser.c @@ -2297,7 +2297,7 @@ xmlParseAttValue(xmlParserCtxtPtr ctxt) { xmlChar *ret = NULL; SHRINK; GROW; - in = CUR_PTR; + in = (xmlChar *) CUR_PTR; if (*in != '"' && *in != '\'') { ctxt->errNo = XML_ERR_ATTRIBUTE_NOT_STARTED; if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL)) @@ -4404,15 +4404,6 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, xmlParserInputPtr inputch return(ret); } -/** - * xmlParseElementChildrenContentD: - * @ctxt: an XML parser context - * - * VMS version of xmlParseElementChildrenContentDecl() - * - * Returns the tree of xmlElementContentPtr describing the element - * hierarchy. - */ /** * xmlParseElementChildrenContentDecl: * @ctxt: an XML parser context @@ -4444,11 +4435,7 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, xmlParserInputPtr inputch * hierarchy. */ xmlElementContentPtr -#ifdef VMS -xmlParseElementChildrenContentD -#else xmlParseElementChildrenContentDecl -#endif (xmlParserCtxtPtr ctxt, xmlParserInputPtr inputchk) { xmlElementContentPtr ret = NULL, cur = NULL, last = NULL, op = NULL; xmlChar *elem; diff --git a/parserInternals.c b/parserInternals.c index ea217ad9..41725d56 100644 --- a/parserInternals.c +++ b/parserInternals.c @@ -58,12 +58,6 @@ void xmlUpgradeOldNs(xmlDocPtr doc); /* * Various global defaults for parsing */ -#ifdef VMS -int xmlSubstituteEntitiesDefaultVal = 0; -#define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDefaultVal -int xmlDoValidityCheckingDefaultVal = 0; -#define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDefaultVal -#endif /** * xmlCheckVersion: diff --git a/python/libxml2class.txt b/python/libxml2class.txt index cae9a436..e2cbb287 100644 --- a/python/libxml2class.txt +++ b/python/libxml2class.txt @@ -151,6 +151,7 @@ validateNmtokenValue() validateNmtokensValue() # functions from module xmlIO +checkFilename() cleanupInputCallbacks() cleanupOutputCallbacks() fileMatch() @@ -492,38 +493,38 @@ Class xmlDoc(xmlNode) # functions from module xpath xpathNewContext() +Class xpathContext() + # accessors + contextDoc() + contextNode() + contextPosition() + contextSize() + function() + functionURI() + setContextDoc() + setContextNode() + + # functions from module python + registerXPathFunction() + + # functions from module xpath + xpathEval() + xpathEvalExpression() + xpathFreeContext() + + # functions from module xpathInternals + xpathNewParserContext() + xpathNsLookup() + xpathRegisterAllFunctions() + xpathRegisterNs() + xpathRegisteredFuncsCleanup() + xpathRegisteredNsCleanup() + xpathRegisteredVariablesCleanup() + xpathVariableLookup() + xpathVariableLookupNS() Class xmlAttribute(xmlNode) - - -Class xmlNs(xmlNode) - - # functions from module tree - copyNamespace() - copyNamespaceList() - freeNs() - freeNsList() - newNodeEatName() - - # functions from module xpathInternals - xpathNodeSetFreeNs() - - -Class xmlDtd(xmlNode) - - # functions from module debugXML - debugDumpDTD() - - # functions from module tree - copyDtd() - freeDtd() - - # functions from module valid - dtdAttrDesc() - dtdElementDesc() - dtdQAttrDesc() - dtdQElementDesc() Class catalog() # functions from module catalog @@ -537,6 +538,34 @@ Class catalog() resolvePublic() resolveSystem() resolveURI() + + +Class xmlElement(xmlNode) + + +Class xmlAttr(xmlNode) + + # functions from module debugXML + debugDumpAttr() + debugDumpAttrList() + + # functions from module tree + freeProp() + freePropList() + removeProp() +Class xmlReg() + + # functions from module xmlregexp + regexpExec() + regexpFreeRegexp() + regexpIsDeterminist() + regexpPrint() + + +Class xmlEntity(xmlNode) + + # functions from module parserInternals + handleEntity() Class xpathParserContext() # accessors context() @@ -661,6 +690,44 @@ Class parserCtxt() stringDecodeEntities() +Class xmlDtd(xmlNode) + + # functions from module debugXML + debugDumpDTD() + + # functions from module tree + copyDtd() + freeDtd() + + # functions from module valid + dtdAttrDesc() + dtdElementDesc() + dtdQAttrDesc() + dtdQElementDesc() + + +Class xmlNs(xmlNode) + + # functions from module tree + copyNamespace() + copyNamespaceList() + freeNs() + freeNsList() + newNodeEatName() + + # functions from module xpathInternals + xpathNodeSetFreeNs() + + +Class inputBuffer(ioReadWrapper) + + # functions from module xmlIO + freeParserInputBuffer() + grow() + push() + read() + + Class outputBuffer(ioWriteWrapper) # functions from module xmlIO @@ -668,34 +735,6 @@ Class outputBuffer(ioWriteWrapper) flush() write() writeString() - - -Class xmlElement(xmlNode) - - -Class xmlEntity(xmlNode) - - # functions from module parserInternals - handleEntity() - - -Class xmlAttr(xmlNode) - - # functions from module debugXML - debugDumpAttr() - debugDumpAttrList() - - # functions from module tree - freeProp() - freePropList() - removeProp() -Class xmlReg() - - # functions from module xmlregexp - regexpExec() - regexpFreeRegexp() - regexpIsDeterminist() - regexpPrint() Class URI() # accessors authority() @@ -722,41 +761,3 @@ Class URI() parseURIReference() printURI() saveUri() -Class xpathContext() - # accessors - contextDoc() - contextNode() - contextPosition() - contextSize() - function() - functionURI() - setContextDoc() - setContextNode() - - # functions from module python - registerXPathFunction() - - # functions from module xpath - xpathEval() - xpathEvalExpression() - xpathFreeContext() - - # functions from module xpathInternals - xpathNewParserContext() - xpathNsLookup() - xpathRegisterAllFunctions() - xpathRegisterNs() - xpathRegisteredFuncsCleanup() - xpathRegisteredNsCleanup() - xpathRegisteredVariablesCleanup() - xpathVariableLookup() - xpathVariableLookupNS() - - -Class inputBuffer(ioReadWrapper) - - # functions from module xmlIO - freeParserInputBuffer() - grow() - push() - read() diff --git a/tree.c b/tree.c index de9b04c1..1b18ee9a 100644 --- a/tree.c +++ b/tree.c @@ -5,10 +5,6 @@ * * daniel@veillard.com * - * 14 Nov 2000 ht - Changed the name of function xmlBufferWriteChar under VMS - * as it was similar to xmlBufferWriteCHAR when compiling without case - * sensitivity. - * */ #define IN_LIBXML @@ -5796,15 +5792,6 @@ xmlBufferCCat(xmlBufferPtr buf, const char *str) { buf->content[buf->use] = 0; } -/** - * xmlBufferWriteXmlCHAR: - * @buf: the XML buffer - * @string: the string to add - * - * For VMS only. - * routine which manages and grows an output buffer. This one adds - * xmlChars at the end of the buffer. - */ /** * xmlBufferWriteCHAR: * @buf: the XML buffer @@ -5814,11 +5801,7 @@ xmlBufferCCat(xmlBufferPtr buf, const char *str) { * xmlChars at the end of the buffer. */ void -#ifdef VMS -xmlBufferWriteXmlCHAR -#else xmlBufferWriteCHAR -#endif (xmlBufferPtr buf, const xmlChar *string) { xmlBufferCat(buf, string); } diff --git a/triodef.h b/triodef.h index e9b62e59..73d64311 100644 --- a/triodef.h +++ b/triodef.h @@ -46,7 +46,7 @@ # define TRIO_PLATFORM_UNIX #elif defined(TRIO_COMPILER_XLC) || defined(_AIX) # define TRIO_PLATFORM_UNIX -#elif defined(TRIO_COMPILER_DECC) || defined(__osf__) +#elif ( defined(TRIO_COMPILER_DECC) && !defined(__VMS) ) || defined(__osf__) # define TRIO_PLATFORM_UNIX #elif defined(__NetBSD__) # define TRIO_PLATFORM_UNIX @@ -82,6 +82,18 @@ # endif #endif +#if defined(TRIO_PLATFORM_VMS) + /* The compiler does support C99 but the library still does not have things + * the standard requires (like nan() and strtof()) as of __CRTL_VER 70300022. + */ +# undef TRIO_COMPILER_SUPPORTS_C99 + + /* Computations done with constants at compile time can trigger these + * even when compiling with IEEE enabled. + */ +# pragma message disable (UNDERFLOW,FLOATOVERFL) +#endif /* TRIO_PLATFORM_VMS */ + #if defined(_XOPEN_SOURCE) # if defined(_XOPEN_SOURCE_EXTENDED) # define TRIO_COMPILER_SUPPORTS_UNIX95 diff --git a/trionan.c b/trionan.c index 5d63ad78..3a65986b 100644 --- a/trionan.c +++ b/trionan.c @@ -773,7 +773,7 @@ TRIO_ARGS1((number), static TRIO_CONST char * getClassification -TRIO_ARGS1((type) +TRIO_ARGS1((type), int type) { switch (type) { @@ -794,7 +794,7 @@ TRIO_ARGS1((type) static void print_class -TRIO_ARGS2((prefix, number) +TRIO_ARGS2((prefix, number), TRIO_CONST char *prefix, double number) { diff --git a/uri.c b/uri.c index ef9ca12d..5f778374 100644 --- a/uri.c +++ b/uri.c @@ -874,7 +874,7 @@ xmlURIEscapeStr(const xmlChar *str, const xmlChar *list) { if (str == NULL) return(NULL); len = xmlStrlen(str); - if (len <= 0) return(NULL); + if (!(len > 0)) return(NULL); len += 20; ret = (xmlChar *) xmlMalloc(len); diff --git a/vms/build_libxml.com b/vms/build_libxml.com index 57a46e4c..21e554d3 100755 --- a/vms/build_libxml.com +++ b/vms/build_libxml.com @@ -4,34 +4,35 @@ $! Build the LIBXML library $! $! Arguments: $! -$! "NOWARN" - suppress known/expected warnings -$! "DEBUG" - build everythign in debug +$! "DEBUG" - build everything in debug $! -$! This procedure creates an object library XMLOLB:LIBXML.OLB directory. +$! This procedure creates an object library XML_LIBDIR:LIBXML.OLB directory. $! After the library is built, you can link LIBXML routines into $! your code with the command $! -$! $ LINK your_modules,XMLOLB:LIBXML.OLB/LIBRARY +$! $ LINK your_modules,XML_LIBDIR:LIBXML.OLB/LIBRARY $! $! Change History $! -------------- $! Command file author : John A Fotheringham (jaf@jafsoft.com) -$! Last update : 2 Nov 2001 +$! Last update : 28 September 2002 Craig Berry (craigberry@mac.com) +$! updated to work with current sources +$! miscellaneous enhancements to build process $! $!- configuration ------------------------------------------------------------- $! $!- compile command. If p1="nowarn" suppress the expected warning types $! +$ cc_opts = "/NAMES=(SHORTENED)/FLOAT=IEEE/IEEE_MODE=DENORM_RESULTS" +$! $ if p1.eqs."DEBUG" .or. p2.eqs."DEBUG" $ then $ debug = "Y" -$ cc_command = "CC/DEBUG/NOOPT" +$ cc_command = "CC''cc_opts'/DEBUG/NOOPTIMIZE/LIST/SHOW=ALL" $ else $ debug = "N" -$ cc_command = "CC" +$ cc_command = "CC''cc_opts'" $ endif -$ if p1.eqs."NOWARN" then - - cc_command = cc_command + "/WARN=DISABLE=(FLOATOVERFL,NOMAINUFLO)" $! $!- list of sources to be built into the LIBXML library. Compare this list $! to the definition of "libxml2_la_SOURCES" in the file MAKEFILE.IN. @@ -41,8 +42,9 @@ $ sources = "SAX.c entities.c encoding.c error.c parserInternals.c parser.c" $ sources = sources + " tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c valid.c" $ sources = sources + " xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c " $ sources = sources + " xpointer.c xinclude.c nanohttp.c nanoftp.c " -$ sources = sources + " DOCBparser.c catalog.c globals.c threads.c" -$ sources = sources + " trio.c strio.c" +$ sources = sources + " DOCBparser.c catalog.c globals.c threads.c c14n.c " +$ sources = sources + " xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c " +$ sources = sources + " triostr.c trio.c" $! $!- list of main modules to compile and link. Compare this list to the $! definition of bin_PROGRAMS in MAKEFILE.IN @@ -52,23 +54,30 @@ $! $!- list of test modules to compile and link. Compare this list to the $! definition of noinst_PROGRAMS in MAKEFILE. $! -$ test_progs = "testSAX testHTML testXPath testURI testDocbook testThreads" +$ noinst_PROGRAMS = "testSchemas testSAX testHTML testXPath testURI testDocbook " - + + "testThreads testC14N testAutomata testRegexp" $! $!- set up build logicals -----------------------------------------------------\ $! -$ if f$trnlnm("XMLOLB").eqs."" +$! +$!- start from where the procedure is in case it's submitted in batch ----------\ +$! +$ whoami = f$parse(f$environment("PROCEDURE"),,,,"NO_CONCEAL") +$ procdir = f$parse(whoami,,,"DEVICE") + f$parse(whoami,,,"DIRECTORY") +$ set default 'procdir' +$! +$ if f$trnlnm("XML_LIBDIR").eqs."" $ then -$ write sys$output "" -$ write sys$output " You need to define a XMLOLB logical directory to" -$ write sys$output " point to the directory containing your CMS object" -$ write sys$output " libraries. This should already contain LIBXML.OLB" -$ write sys$output " from the libxml package, and will be the directory" -$ write sys$output " the new LIBXSLT.OLB library will be placed in" -$ write sys$output "" -$ exit +$ if f$search("[-]lib.dir") .eqs. "" +$ then +$ create/directory/log [-.lib] +$ endif +$ xml_libdir = f$parse("[-.lib]",,,"DEVICE") + f$parse("[-.lib]",,,"DIRECTORY") +$ define/process XML_LIBDIR 'xml_libdir' +$ write sys$output "Defining XML_LIBDIR as """ + f$trnlnm("XML_LIBDIR") + """ $ endif $! -$ if f$trnlnm("xml_srcdir").eqs."" +$ if f$trnlnm("XML_SRCDIR").eqs."" $ then $ globfile = f$search("[-...]globals.c") $ if globfile.eqs."" @@ -76,12 +85,14 @@ $ then $ write sys$output "Can't locate globals.c. You need to manually define a XML_SRCDIR logical" $ exit $ else -$ srcdir = f$element(0,"]",globfile)+ "]" -$ define/process xml_srcdir "''srcdir'" -$ write sys$output "Defining xml_srcdir as ""''srcdir'""" +$ srcdir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY") +$ define/process XML_SRCDIR "''srcdir'" +$ write sys$output "Defining XML_SRCDIR as ""''srcdir'""" $ endif $ endif $! +$ copy/log config.vms xml_srcdir:config.h +$! $ if f$trnlnm("libxml").eqs."" $ then $ globfile = f$search("[-...]globals.h") @@ -90,7 +101,7 @@ $ then $ write sys$output "Can't locate globals.h. You need to manually define a LIBXML logical" $ exit $ else -$ includedir = f$element(0,"]",globfile)+ "]" +$ includedir = f$parse(globfile,,,"DEVICE") + f$parse(globfile,,,"DIRECTORY") $ define/process libxml "''includedir'" $ write sys$output "Defining libxml as ""''includedir'""" $ endif @@ -106,12 +117,12 @@ $! $!- move to the source directory and create any necessary subdirs and the $! object library $! -$ set def xml_srcdir +$ set default xml_srcdir $ if f$search("DEBUG.DIR").eqs."" then create/dir [.DEBUG] -$ if f$search("XMLOLB:LIBXML.OLB").eqs."" +$ if f$search("XML_LIBDIR:LIBXML.OLB").eqs."" $ then -$ write sys$output "Creating new object library XMLOLB:LIBXML.OLB" -$ library/create XMLOLB:LIBXML.OLB +$ write sys$output "Creating new object library XML_LIBDIR:LIBXML.OLB" +$ library/create XML_LIBDIR:LIBXML.OLB $ endif $! $ goto start_here @@ -119,7 +130,7 @@ $ start_here: ! move this line to debug/rerun parts of this command file $! $!- compile modules into the library ------------------------------------------ $! -$ lib_command = "LIBRARY/REPLACE XMLOLB:LIBXML.OLB" +$ lib_command = "LIBRARY/REPLACE/LOG XML_LIBDIR:LIBXML.OLB" $ link_command = "" $! $ write sys$output "" @@ -137,17 +148,7 @@ $ then $! $ on error then goto ERROR_OUT $ on control_y then goto ERROR_OUT -$ if next_source.eqs."xpath.c" -$ then -$ call build 'next_source' /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE -$ else -$ if next_source.eqs."trio.c" -$ then -$ call build 'next_source' /WARN=DISABLE=UNINIT1 -$ else -$ call build 'next_source' -$ endif -$ endif +$ call build 'next_source' $ s_no = s_no + 1 $ goto source_loop $! @@ -155,20 +156,23 @@ $ endif $! $!- now build self-test programs ---------------------------------------------- $! -$! these pograms are built as ordinary modules into XMLOLB:LIBXML.OLB. Here they +$! these programs are built as ordinary modules into XML_LIBDIR:LIBXML.OLB. Here they $! are built a second time with /DEFINE=(STANDALONE) in which case a main() $! is also compiled into the module $ $ lib_command = "" $ link_command = "LINK" $! +$ library/compress XML_LIBDIR:LIBXML.OLB +$ purge XML_LIBDIR:LIBXML.OLB +$! $ write sys$output "" $ write sys$output "Building STANDALONE self-test programs" $ write sys$output "" $! $ call build NANOFTP.C /DEFINE=(STANDALONE) $ call build NANOHTTP.C /DEFINE=(STANDALONE) -$ call build TRIONAN.C /DEFINE=(STANDALONE)/IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE +$ call build TRIONAN.C /DEFINE=(STANDALONE) $! $!- now build main and test programs ------------------------------------------ $! @@ -181,7 +185,7 @@ $ write sys$output "Building main programs and test programs" $ write sys$output "" $! $ p_no = 0 -$ all_progs = bin_progs + " " + test_progs +$ all_progs = bin_progs + " " + noinst_PROGRAMS $ all_progs = f$edit(all_progs,"COMPRESS") $! $ prog_loop: @@ -192,7 +196,7 @@ $ then $! $ on error then goto ERROR_OUT $ on control_y then goto ERROR_OUT -$ call build 'next_prog'.c /IEEE_MODE=UNDERFLOW_TO_ZERO/FLOAT=IEEE +$ call build 'next_prog'.c $ p_no = p_no + 1 $ goto prog_loop $! @@ -210,7 +214,7 @@ $! $EXIT_OUT: $! $ purge/nolog [.debug] -$ set def 'saved_default +$ set default 'saved_default $ exit 'exit_status $! $ @@ -224,12 +228,12 @@ $! $BUILD: subroutine $ on warning then goto EXIT_BUILD $ source_file = p1 -$ name = f$element(0,".",source_file) -$ object_file = f$fao("[.debug]!AS.OBJ",name) +$ name = f$parse(source_file,,,"NAME") +$ object_file = f$parse("[.debug].OBJ",name,,,"SYNTAX_ONLY") $! $!- compile $! -$ write sys$output "Compiling ",p1," ",p2,"..." +$ write sys$output "''cc_command'''p2'/object=''object_file' ''source_file'" $ cc_command'p2' /object='object_file 'source_file' $! $!- insert into library if command defined @@ -239,12 +243,11 @@ $! $!- link module if command defined $ if link_command.nes."" $ then -$ text = f$element(0,".",p1) ! lose the ".c" -$ write sys$output "Linking ",text,"..." $ opts = "" $ if debug then opts = "/DEBUG" +$ write sys$output "''link_command'''opts' ''object_file',XML_LIBDIR:libxml.olb/library" $ link_command'opts' 'object_file',- - XMLOLB:libxml.olb/library + XML_LIBDIR:libxml.olb/library $ endif $! $EXIT_BUILD: diff --git a/vms/config.vms b/vms/config.vms index 2bf40936..e5f3c086 100755 --- a/vms/config.vms +++ b/vms/config.vms @@ -1,148 +1,200 @@ -/* config.h */ - -#define VMS 1 - -/* Define if you have the strftime function. */ -#define HAVE_STRFTIME 1 - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -#undef PACKAGE -#undef VERSION -#undef HAVE_LIBZ -#undef HAVE_LIBM -#undef HAVE_ISINF -#undef HAVE_ISNAN -#undef HAVE_LIBHISTORY -#undef HAVE_LIBREADLINE - -/* Define if you have the class function. */ -#undef HAVE_CLASS - -/* Define if you have the finite function. */ -#undef HAVE_FINITE - -/* Define if you have the fp_class function. */ -#define HAVE_FP_CLASS 1 - -/* Define if you have the fpclass function. */ -#undef HAVE_FPCLASS - -/* Define if you have the isnand function. */ -#undef HAVE_ISNAND - -/* Define if you have the localtime function. */ -#define HAVE_LOCALTIME 1 - -/* Define if you have the snprintf function. */ -#undef HAVE_SNPRINTF - -/* Define if you have the strdup function. */ -#define HAVE_STRDUP 1 - -/* Define if you have the strerror function. */ -#define HAVE_STRERROR 1 - -/* Define if you have the strftime function. */ -#define HAVE_STRFTIME 1 - -/* Define if you have the strndup function. */ -#undef HAVE_STRNDUP - -/* Define if you have the <arpa/inet.h> header file. */ -#undef HAVE_ARPA_INET_H - -/* Define if you have the <ctype.h> header file. */ -#define HAVE_CTYPE_H 1 - -/* Define if you have the <dirent.h> header file. */ -#define HAVE_DIRENT_H 1 - -/* Define if you have the <errno.h> header file. */ -#define HAVE_ERRNO_H 1 - -/* Define if you have the <fcntl.h> header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the <float.h> header file. */ -#define HAVE_FLOAT_H 1 - -/* Define if you have the <fp_class.h> header file. */ -#define HAVE_FP_CLASS_H 1 - -/* Define if you have the <ieeefp.h> header file. */ -#undef HAVE_IEEEFP_H - -/* Define if you have the <malloc.h> header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the <math.h> header file. */ -#define HAVE_MATH_H 1 - -/* Define if you have the <nan.h> header file. */ -#undef HAVE_NAN_H - -/* Define if you have the <ndir.h> header file. */ -#undef HAVE_NDIR_H - -/* Define if you have the <netdb.h> header file. */ -#define HAVE_NETDB_H 1 - -/* Define if you have the <netinet/in.h> header file. */ -#undef HAVE_NETINET_IN_H - -/* Define if you have the <stdarg.h> header file. */ -#define HAVE_STDARG_H 1 - -/* Define if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H 1 - -/* Define if you have the <sys/dir.h> header file. */ -#undef HAVE_SYS_DIR_H - -/* Define if you have the <sys/mman.h> header file. */ -#undef HAVE_SYS_MMAN_H - -/* Define if you have the <sys/ndir.h> header file. */ -#undef HAVE_SYS_NDIR_H - -/* Define if you have the <sys/select.h> header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define if you have the <sys/socket.h> header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define if you have the <time.h> header file. */ -#define HAVE_TIME_H 1 - -/* Define if you have the <unistd.h> header file. */ -#define HAVE_UNISTD_H 1 - -/* Define if you have the <zlib.h> header file. */ -#undef HAVE_ZLIB_H - -/* Define if you have the inet library (-linet). */ -#undef HAVE_LIBINET - -/* Define if you have the nsl library (-lnsl). */ -#undef HAVE_LIBNSL - -/* Define if you have the socket library (-lsocket). */ -#undef HAVE_LIBSOCKET - -/* Name of package */ -#undef PACKAGE - -/* Version number of package */ -#undef VERSION - +/* config.h */ + +#define VMS 1 + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +#undef PACKAGE +#undef VERSION +#undef HAVE_LIBZ +#undef HAVE_LIBM +#undef HAVE_ISINF +#if defined(_IEEE_FP) && (__CRTL_VER >= 60200000) +# define HAVE_ISNAN 1 +#endif +#undef HAVE_LIBHISTORY +#undef HAVE_LIBREADLINE + +/* Define if you have the class function. */ +#undef HAVE_CLASS + +/* Define if you have the finite function. */ +#undef HAVE_FINITE + +/* Define if you have the fp_class function. */ +#define HAVE_FP_CLASS 1 + +/* Define if you have the fpclass function. */ +#undef HAVE_FPCLASS + +/* Define if you have the isnand function. */ +#undef HAVE_ISNAND + +/* Define if you have the localtime function. */ +#define HAVE_LOCALTIME 1 + +/* Define if you have the snprintf function. */ +#undef HAVE_SNPRINTF + +/* Define if you have the strdup function. */ +#define HAVE_STRDUP 1 + +/* Define if you have the strerror function. */ +#define HAVE_STRERROR 1 + +/* Define if you have the strftime function. */ +#define HAVE_STRFTIME 1 + +/* Define if you have the strndup function. */ +#undef HAVE_STRNDUP + +/* Define if you have the <arpa/inet.h> header file. */ +#undef HAVE_ARPA_INET_H + +/* Define if you have the <ctype.h> header file. */ +#define HAVE_CTYPE_H 1 + +/* Define if you have the <dirent.h> header file. */ +#define HAVE_DIRENT_H 1 + +/* Define if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + +/* Define if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the <float.h> header file. */ +#define HAVE_FLOAT_H 1 + +/* Define if you have the <fp_class.h> header file. */ +#define HAVE_FP_CLASS_H 1 + +/* Define if you have the <ieeefp.h> header file. */ +#undef HAVE_IEEEFP_H + +/* Define if you have the <malloc.h> header file. */ +#undef HAVE_MALLOC_H + +/* Define if you have the <math.h> header file. */ +#define HAVE_MATH_H 1 + +/* Define if you have the <nan.h> header file. */ +#undef HAVE_NAN_H + +/* Define if you have the <ndir.h> header file. */ +#undef HAVE_NDIR_H + +/* Define if you have the <netdb.h> header file. */ +#define HAVE_NETDB_H 1 + +/* Define if you have the <netinet/in.h> header file. */ +#undef HAVE_NETINET_IN_H + +/* Define if you have the <stdarg.h> header file. */ +#define HAVE_STDARG_H 1 + +/* Define if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have the <sys/dir.h> header file. */ +#undef HAVE_SYS_DIR_H + +/* Define if you have the <sys/mman.h> header file. */ +#undef HAVE_SYS_MMAN_H + +/* Define if you have the <sys/ndir.h> header file. */ +#undef HAVE_SYS_NDIR_H + +/* Define if you have the <sys/select.h> header file. */ +#undef HAVE_SYS_SELECT_H + +/* Define if you have the <sys/socket.h> header file. */ +#undef HAVE_SYS_SOCKET_H + +/* Define if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define if you have the <sys/time.h> header file. */ +#undef HAVE_SYS_TIME_H + +/* Define if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define if you have the <time.h> header file. */ +#define HAVE_TIME_H 1 + +/* Define if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define if you have the <zlib.h> header file. */ +#undef HAVE_ZLIB_H + +/* Define if you have the inet library (-linet). */ +#undef HAVE_LIBINET + +/* Define if you have the nsl library (-lnsl). */ +#undef HAVE_LIBNSL + +/* Define if you have the socket library (-lsocket). */ +#undef HAVE_LIBSOCKET + +/* Name of package */ +#undef PACKAGE + +/* Version number of package */ +#undef VERSION + +/* Up to this point this is just a hard-wired version of + * config.h. After this will be anything else we need + * that is VMS-specific. + */ + +/* For best results, compile with /NAMES=(SHORTENED), which requires + * DEC C 5.7 or later. For older compilers, the shortened names below + * are the same ones the mangler generates in C 5.7 and later. These may + * work, though there will probably be some conflicts with redefinitions + * in globals.h. + */ + +#if __DECC_VER < 57000000 +/* 0 1 2 3 0 1 2 3 + * 123456789012345678901234567890123456789 1234567890123456789012345678901 + */ +#define __xmlDoValidityCheckingDefaultValue __xmlDoValidityChecking3qad3pq$ +#define __xmlSubstituteEntitiesDefaultValue __xmlSubstituteEntities0pij13u$ +#define trio_locale_set_thousand_separator trio_locale_set_thousan259ikkk$ +#define xmlDoValidityCheckingDefaultValue xmlDoValidityCheckingDe1bcsei4$ +#define xmlParseBalancedChunkMemoryRecover xmlParseBalancedChunkMe1lu1e86$ +#define xmlParseElementChildrenContentDecl xmlParseElementChildren1mp6pcb$ +#define xmlParserInputBufferCreateFilename xmlParserInputBufferCre36lujn2$ +#define xmlRegisterDefaultInputCallbacks xmlRegisterDefaultInput3vin0cp$ +#define xmlRegisterDefaultOutputCallbacks xmlRegisterDefaultOutpu0q443dd$ +#define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDe28k2c80$ +#define xmlUCSIsAlphabeticPresentationForms xmlUCSIsAlphabeticPrese2qr24s3$ +#define xmlUCSIsArabicPresentationFormsB xmlUCSIsArabicPresentat1gajvg8$ +#define xmlUCSIsArabicPresentationFormsA xmlUCSIsArabicPresentat3sq1bti$ +#define xmlUCSIsCJKCompatibilityIdeographsSupplement xmlUCSIsCJKCompatibilit0or40ki$ +#define xmlUCSIsCJKCompatibilityIdeographs xmlUCSIsCJKCompatibilit2nodmc5$ +#define xmlUCSIsCJKSymbolsandPunctuation xmlUCSIsCJKSymbolsandPu0a3i7ra$ +#define xmlUCSIsCJKUnifiedIdeographsExtensionA xmlUCSIsCJKUnifiedIdeog11ig3fd$ +#define xmlUCSIsCJKUnifiedIdeographsExtensionB xmlUCSIsCJKUnifiedIdeog3d22n2n$ +#define xmlUCSIsCombiningDiacriticalMarks xmlUCSIsCombiningDiacri3tj3nl8$ +#define xmlUCSIsCombiningMarksforSymbols xmlUCSIsCombiningMarksf3ftqd7s$ +#define xmlUCSIsEnclosedCJKLettersandMonths xmlUCSIsEnclosedCJKLett0nq67g4$ +#define xmlUCSIsHalfwidthandFullwidthForms xmlUCSIsHalfwidthandFul047l0a1$ +#define xmlUCSIsHighPrivateUseSurrogates xmlUCSIsHighPrivateUseS071kh83$ +#define xmlUCSIsIdeographicDescriptionCharacters xmlUCSIsIdeographicDesc1rovf8g$ +#define xmlUCSIsMathematicalAlphanumericSymbols xmlUCSIsMathematicalAlp2ag8r44$ +#define xmlUCSIsOpticalCharacterRecognition xmlUCSIsOpticalCharacte1juuh06$ +#define xmlUCSIsSuperscriptsandSubscripts xmlUCSIsSuperscriptsand3fi4eup$ +#define xmlUCSIsUnifiedCanadianAboriginalSyllabics xmlUCSIsUnifiedCanadian0lbvi9b$ +#define xmlValidCtxtNormalizeAttributeValue xmlValidCtxtNormalizeAt0q11n5f$ +#define xmlXPathRegisteredVariablesCleanup xmlXPathRegisteredVaria1uvs4uc$ + +#endif + +#define xmlBufferWriteChar xmlBufferWriteChar2 diff --git a/vms/readme.vms b/vms/readme.vms index 9fe045b0..91dddeb9 100644 --- a/vms/readme.vms +++ b/vms/readme.vms @@ -13,6 +13,7 @@ That's it. Good luck! John A Fotheringham (jaf@jafsoft.com) October 2001 +Updated October 2002 by Craig A Berry (craigberry@mac.com) Installation kit ---------------- @@ -39,19 +40,17 @@ Installation kit - Don't execute BUILD_LIBXML.COM until you've done all the following - read these notes - - copied CONFIG.VMS to CONFIG.H - reviewed the configuration section of BUILD_LIBXML.COM, and in particular updated the module lists in line with MAKEFILE - - edited XMLVERSION.H so that WITH_TRIO is defined - identified the location of the include files, so that you can manually set the LIBXML logical if need be. - re-read these notes :-p instructions for all these steps are below. -- the file [.vms]config.vms should be used to replace config.h. This file - contains a number of define statements that identify the software options - required under VMS +- the file [.vms]config.vms is used in lieu of a Configure-generated config.h. + This file contains a number of define statements that identify the software + options required under VMS - The include files are in a [.INCLUDE.LIBXML] subdirectory. You need a logical "libxml" to point to this so that include statements of the @@ -104,12 +103,12 @@ The TRIO package that uses this functionality. BUILD_LIBXML.COM should do this for you. - to build in trio support you need the define WITH_TRIO to be set. This - is done by editing xmlversion.h + is done by default for VMS in xmlversion.h Compiler and linker errors -------------------------- -- the DEC C compiler will produce a number of warnings when compiling the +- the DEC C compiler may produce a number of warnings when compiling the C code. These include - Implicit function warnings. These indicate functions whose type is @@ -117,37 +116,9 @@ Compiler and linker errors configuration is not correct (e.g. for "snprintf" if you haven't edited xmlversion.h to set WITH_TRIO - These messages also occur for "read" and "write" when compiling trio.c - - uninitialised variables. Not usually a problem. You can solve this by editing the code to initialise the variables affected - and with respect to the trionan code - - - no main module for UNDERFLOW_TO_ZERO - - float overflow when compiling trionan.c STANDALONE - - You can suppress these "expected" messages by using the compile command - - $ CC /WARN=DISABLE=(FLOATOVERFL,NOMAINUFLO) - - This can be achieved by specifying "NOWARN" as the first command - parameter to BUILD_LIBXML as follows - - $ @BUILD_LIBXML NOWARN - -- the Linker will report the following error - - %LINK-W-MULDEF, symbol DECC$STRERROR multiply defined - in module DECC$SHR file SYS$COMMON:[SYSLIB]DECC$SHR.EXE;5 - - This is complaining that DECC$STRERROR is multiply defined, which in turn - is because this system symbol is getting added to LIBXML.OLB when strio.c - is compiled. - - I'm not sure what the solution for this is, but this is a fairly benign error. - - Changes made to the codebase ---------------------------- - I changed all dummy declarations in trio.c to be @@ -165,30 +136,8 @@ Changes made to the codebase This matches similar lines already added to nanohttp.c - Several variables and function names exceed the 31 character limit - used in VMS. This leads to compiler warnings. The solution adopted - has been - - a) where variables or functions are defined, set up an ifdef on VMS - to define a variable/function of a shorter name. This may need to - be done in the .h file, and in the implementation .c file - - b) use define statements to map the long name onto a shorter name. That - way all future code can refer to the function/variable by the long name, - reducing the need to add VMS-specific code everywhere. - - In the current distro, I had to do this for the following names - - in globals.c, parserinternals.c, globals.h, parser.h - xmlSubstituteEntitiesDefaultValue - xmlDoValidityCheckingDefaultValue - - in globals.c, globals.h - __xmlDoValidityCheckingDefaultValue - - in xmlio.c, xmlio.h - xmlRegisterDefaultInputCallbacks - xmlRegisterDefaultOutputCallbacks - - in xpath.c and xpathinternals.h - xmlXPathRegisteredVariablesCleanup + of the VMS linker. The solution adopted has been to use the + /NAMES=SHORTENED compiler option, which requires DEC/Compaq C 5.7 + or later. For a complete list of the names that needed shortening + and the short names generated by the compiler, see [.vms]config.vms. diff --git a/xmlIO.c b/xmlIO.c index 0972e3fa..1bff44a6 100644 --- a/xmlIO.c +++ b/xmlIO.c @@ -79,11 +79,6 @@ #endif #include <libxml/globals.h> -#ifdef VMS -#define xmlRegisterDefaultInputCallbacks xmlRegisterDefInputCallbacks -#define xmlRegisterDefaultOutputCallbacks xmlRegisterDefOutputCallbacks -#endif - /* #define VERBOSE_FAILURE */ /* #define DEBUG_EXTERNAL_ENTITIES */ /* #define DEBUG_INPUT */ @@ -1465,11 +1460,7 @@ xmlRegisterOutputCallbacks(xmlOutputMatchCallback matchFunc, * Registers the default compiled-in I/O handlers. */ void -#ifdef VMS -xmlRegisterDefInputCallbacks -#else xmlRegisterDefaultInputCallbacks -#endif (void) { if (xmlInputCallbackInitialized) return; @@ -1499,11 +1490,7 @@ xmlRegisterDefaultInputCallbacks * Registers the default compiled-in I/O handlers. */ void -#ifdef VMS -xmlRegisterDefOutputCallbacks -#else xmlRegisterDefaultOutputCallbacks -#endif (void) { if (xmlOutputCallbackInitialized) return; @@ -1706,8 +1693,6 @@ xmlOutputBufferClose(xmlOutputBufferPtr out) { * @URI: a C string containing the URI or filename * @enc: the charset encoding if known * - * VMS version of xmlParserInputBufferCreateFilename() - * * Returns the new parser input or NULL */ /** @@ -1724,11 +1709,7 @@ xmlOutputBufferClose(xmlOutputBufferPtr out) { * Returns the new parser input or NULL */ xmlParserInputBufferPtr -#ifdef VMS -xmlParserInputBufferCreateFname -#else xmlParserInputBufferCreateFilename -#endif (const char *URI, xmlCharEncoding enc) { xmlParserInputBufferPtr ret; int i = 0; diff --git a/xpath.c b/xpath.c index eac09371..7a39f74b 100644 --- a/xpath.c +++ b/xpath.c @@ -12,8 +12,6 @@ * * Author: daniel@veillard.com * - * 14 Nov 2000 ht - truncated declaration of xmlXPathEvalRelativeLocationPath - * for VMS */ #define IN_LIBXML @@ -6913,12 +6911,7 @@ xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs) { static void xmlXPathCompileExpr(xmlXPathParserContextPtr ctxt); static void xmlXPathCompPredicate(xmlXPathParserContextPtr ctxt, int filter); static void xmlXPathCompLocationPath(xmlXPathParserContextPtr ctxt); -#ifdef VMS -static void xmlXPathCompRelLocationPath(xmlXPathParserContextPtr ctxt); -#define xmlXPathCompRelativeLocationPath xmlXPathCompRelLocationPath -#else static void xmlXPathCompRelativeLocationPath(xmlXPathParserContextPtr ctxt); -#endif static xmlChar * xmlXPathParseNameComplex(xmlXPathParserContextPtr ctxt, int qualified); @@ -8568,11 +8561,7 @@ eval_predicates: * Compile a relative location path. */ static void -#ifdef VMS -xmlXPathCompRelLocationPath -#else xmlXPathCompRelativeLocationPath -#endif (xmlXPathParserContextPtr ctxt) { SKIP_BLANKS; if ((CUR == '/') && (NXT(1) == '/')) {