Applied the VMS update patch from Craig A. Berry update Daniel
* 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
Daniel
diff --git a/ChangeLog b/ChangeLog
index 9ed4011..6612c39 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 7200a3b..e4a5226 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -3200,7 +3200,7 @@
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 8905b04..40236a2 100644
--- a/catalog.c
+++ b/catalog.c
@@ -2860,7 +2860,7 @@
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 cbc5db0..9652c9f 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -1563,7 +1563,7 @@
*
* Returns 0
*/
-int
+static int
xmlShellGrep(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED,
char *arg, xmlNodePtr node, xmlNodePtr node2 ATTRIBUTE_UNUSED)
{
@@ -1582,16 +1582,16 @@
#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 7208ee3..4e8fb2f 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 781ccc1..94470b6 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -102,6 +102,13 @@
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 90e4b1e..eca8e82 100644
--- a/doc/xmlio.html
+++ b/doc/xmlio.html
@@ -248,6 +248,7 @@
+
} </pre>
</li>
<li>And then use it to save the document:
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 8f50096..a1c8b37 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -627,15 +627,6 @@
* 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 823dae8..8507442 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 @@
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 efd902a..6759ce9 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 @@
/*
* 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 d0ef8d6..e0275b0 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 @@
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 a10b3e3..75d2221 100644
--- a/parser.c
+++ b/parser.c
@@ -2297,7 +2297,7 @@
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))
@@ -4405,15 +4405,6 @@
}
/**
- * 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 @@
* 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 ea217ad..41725d5 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -58,12 +58,6 @@
/*
* 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 cae9a43..e2cbb28 100644
--- a/python/libxml2class.txt
+++ b/python/libxml2class.txt
@@ -151,6 +151,7 @@
validateNmtokensValue()
# functions from module xmlIO
+checkFilename()
cleanupInputCallbacks()
cleanupOutputCallbacks()
fileMatch()
@@ -492,38 +493,38 @@
# 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 @@
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 @@
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 @@
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 @@
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 de9b04c..1b18ee9 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
@@ -5797,15 +5793,6 @@
}
/**
- * 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
* @string: the string to add
@@ -5814,11 +5801,7 @@
* 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 e9b62e5..73d6431 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 5d63ad7..3a65986 100644
--- a/trionan.c
+++ b/trionan.c
@@ -773,7 +773,7 @@
static TRIO_CONST char *
getClassification
-TRIO_ARGS1((type)
+TRIO_ARGS1((type),
int type)
{
switch (type) {
@@ -794,7 +794,7 @@
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 ef9ca12..5f77837 100644
--- a/uri.c
+++ b/uri.c
@@ -874,7 +874,7 @@
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 57a46e4..21e554d 100755
--- a/vms/build_libxml.com
+++ b/vms/build_libxml.com
@@ -4,34 +4,35 @@
$!
$! 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 = 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 @@
$ 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 @@
$ 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 @@
$!
$!- 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 @@
$!
$ 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 @@
$!
$!- 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 ""
$!
$ 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 @@
$!
$ 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 2bf4093..e5f3c08 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 9fe045b..91dddeb 100644
--- a/vms/readme.vms
+++ b/vms/readme.vms
@@ -13,6 +13,7 @@
John A Fotheringham (jaf@jafsoft.com)
October 2001
+Updated October 2002 by Craig A Berry (craigberry@mac.com)
Installation kit
----------------
@@ -39,19 +40,17 @@
- 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 @@
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 @@
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 @@
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 0972e3f..1bff44a 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 @@
* Registers the default compiled-in I/O handlers.
*/
void
-#ifdef VMS
-xmlRegisterDefInputCallbacks
-#else
xmlRegisterDefaultInputCallbacks
-#endif
(void) {
if (xmlInputCallbackInitialized)
return;
@@ -1499,11 +1490,7 @@
* Registers the default compiled-in I/O handlers.
*/
void
-#ifdef VMS
-xmlRegisterDefOutputCallbacks
-#else
xmlRegisterDefaultOutputCallbacks
-#endif
(void) {
if (xmlOutputCallbackInitialized)
return;
@@ -1706,8 +1693,6 @@
* @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 @@
* 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 eac0937..7a39f74 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 @@
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 @@
* Compile a relative location path.
*/
static void
-#ifdef VMS
-xmlXPathCompRelLocationPath
-#else
xmlXPathCompRelativeLocationPath
-#endif
(xmlXPathParserContextPtr ctxt) {
SKIP_BLANKS;
if ((CUR == '/') && (NXT(1) == '/')) {