Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Pragmatic solution for the new expat build requirements and the changes in the API behaviour. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | expat-2.6.2 |
Files: | files | file ages | folders |
SHA3-256: |
15375d968d9b3bbd15856c103dce7c1f |
User & Date: | rolf 2024-05-13 23:33:04 |
Context
2024-05-16
| ||
01:00 | Spread the pragmatic solution over the modules of the package. Closed-Leaf check-in: 6bc6da72d3 user: rolf tags: expat-2.6.2 | |
2024-05-13
| ||
23:33 | Pragmatic solution for the new expat build requirements and the changes in the API behaviour. check-in: 15375d968d user: rolf tags: expat-2.6.2 | |
2024-05-11
| ||
15:40 | Added the new (by expat) expected defines to the vc makefile. check-in: bed29fc890 user: rolf tags: expat-2.6.2 | |
Changes
Changes to configure.
754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 .... 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 .... 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 .... 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 |
enable_shared enable_stubs enable_64bit enable_64bit_vis enable_rpath enable_symbols enable_dtd enable_ge with_contextbytes enable_ns enable_ucmd enable_tdomalloc enable_lessns enable_schema ' ac_precious_vars='build_alias ................................................................................ --enable-stubs build and link with stub libraries. Always true for shared builds (default: on) --enable-64bit enable 64bit support (default: off) --enable-64bit-vis enable 64bit Sparc VIS support (default: off) --disable-rpath disable rpath support (default: on) --enable-symbols build with debugging symbols (default: off) --enable-dtd build expat with dtd support (default: on) --enable-ge build expat with general entities support (default: on) --enable-ns build with XML namespace support (default: on) --enable-unknown enable built-in unknown command (default: off) --enable-tdomalloc build with the tDOM allocator (default: off) --enable-lessns build with lower limit for XML ns declarations (default: off) --enable-schema build with valiation features (default: on) ................................................................................ --with-tcl directory containing tcl configuration (tclConfig.sh) --with-tcl8 Compile for Tcl8 in Tcl9 environment --with-aolserver directory with AOLserver distribution --with-expat directory with expat installation --with-entropy source of entropy to use --with-tclinclude directory containing the public Tcl header files --with-context-bytes configure expat context bytes buffer size (default: 1024) Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> ................................................................................ $as_echo "#define XML_DTD 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable expat general entities support" >&5 $as_echo_n "checking whether to enable expat general entities support... " >&6; } # Check whether --enable-ge was given. if test "${enable_ge+set}" = set; then : enableval=$enable_ge; tcl_ok=$enableval else tcl_ok=yes fi if test "${enable_ge+set}" = set; then enableval="$enable_ge" tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define XML_GE 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking expat context bytes buffer size" >&5 $as_echo_n "checking expat context bytes buffer size... " >&6; } # Check whether --with-contextbytes was given. if test "${with_contextbytes+set}" = set; then : withval=$with_contextbytes; else with_contextbytes=1024 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_contextbytes}" >&5 $as_echo "${with_contextbytes}" >&6; } cat >>confdefs.h <<_ACEOF #define XML_CONTEXT_BYTES ${with_contextbytes} _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable namespace support" >&5 $as_echo_n "checking whether to enable namespace support... " >&6; } # Check whether --enable-ns was given. if test "${enable_ns+set}" = set; then : enableval=$enable_ns; tcl_ok=$enableval |
< < < < < < < > | | < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < |
754 755 756 757 758 759 760 761 762 763 764 765 766 767 .... 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 .... 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 .... 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 |
enable_shared enable_stubs enable_64bit enable_64bit_vis enable_rpath enable_symbols enable_dtd enable_ns enable_ucmd enable_tdomalloc enable_lessns enable_schema ' ac_precious_vars='build_alias ................................................................................ --enable-stubs build and link with stub libraries. Always true for shared builds (default: on) --enable-64bit enable 64bit support (default: off) --enable-64bit-vis enable 64bit Sparc VIS support (default: off) --disable-rpath disable rpath support (default: on) --enable-symbols build with debugging symbols (default: off) --enable-dtd build expat with dtd support (default: on) --enable-ns build with XML namespace support (default: on) --enable-unknown enable built-in unknown command (default: off) --enable-tdomalloc build with the tDOM allocator (default: off) --enable-lessns build with lower limit for XML ns declarations (default: off) --enable-schema build with valiation features (default: on) ................................................................................ --with-tcl directory containing tcl configuration (tclConfig.sh) --with-tcl8 Compile for Tcl8 in Tcl9 environment --with-aolserver directory with AOLserver distribution --with-expat directory with expat installation --with-entropy source of entropy to use --with-tclinclude directory containing the public Tcl header files Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> ................................................................................ $as_echo "#define XML_DTD 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # If we expose XML_GetInputContext() at script level #TDOM_CONTEXT_BYTES $as_echo "#define XML_CONTEXT_BYTES 0" >>confdefs.h $as_echo "#define XML_GE 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable namespace support" >&5 $as_echo_n "checking whether to enable namespace support... " >&6; } # Check whether --enable-ns was given. if test "${enable_ns+set}" = set; then : enableval=$enable_ns; tcl_ok=$enableval |
Changes to configure.ac.
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 |
#TEA_PROG_WISH
#--------------------------------------------------------------------
# Add some private preprocessor options
#--------------------------------------------------------------------
TDOM_ENABLE_DTD
TDOM_ENABLE_GE
TDOM_CONTEXT_BYTES
TDOM_ENABLE_NS
TDOM_ENABLE_UNKNOWN
TDOM_ENABLE_TDOMALLOC
TDOM_ENABLE_LESS_NS
TDOM_ENABLE_SCHEMA
TDOMSHELL=tcldomsh
|
| | > > |
235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 |
#TEA_PROG_WISH #-------------------------------------------------------------------- # Add some private preprocessor options #-------------------------------------------------------------------- TDOM_ENABLE_DTD # If we expose XML_GetInputContext() at script level #TDOM_CONTEXT_BYTES AC_DEFINE(XML_CONTEXT_BYTES, 0) AC_DEFINE(XML_GE, 1) TDOM_ENABLE_NS TDOM_ENABLE_UNKNOWN TDOM_ENABLE_TDOMALLOC TDOM_ENABLE_LESS_NS TDOM_ENABLE_SCHEMA TDOMSHELL=tcldomsh |
Changes to generic/dom.c.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 .... 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 .... 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 |
| | | written by Jochen Loewer | April 5, 1999 | \--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- | Includes | \--------------------------------------------------------------------------*/ #include <tcl.h> #include <dom.h> #include <domxpath.h> #include <schema.h> #include <tclexpat.h> /* #define DEBUG */ /*---------------------------------------------------------------------------- | Debug Macros | \---------------------------------------------------------------------------*/ #ifdef DEBUG ................................................................................ info->nextFeedbackPosition = info->feedbackAfter; Tcl_ResetResult (info->interp); result = 1; if (chan == NULL) { do { done = (len < INT_MAX); status = XML_Parse (extparser, xmlstring, done ? len : INT_MAX, done); if (!done) { xmlstring += INT_MAX; len -= INT_MAX; } } while (!done && status == XML_STATUS_OK); switch (status) { case XML_STATUS_ERROR: interpResult = Tcl_GetStringResult(info->interp); if (interpResult[0] == '\0') { tcldom_reportErrorLocation ( ................................................................................ parser = XML_ExternalEntityParserCreate (parser, "forest", 0); info.parser = parser; info.currentNode = doc->rootNode; } if (channel == NULL) { do { done = (length < INT_MAX); status = XML_Parse (parser, xml, done ? length : INT_MAX, done); if (!done) { xml += INT_MAX; length -= INT_MAX; } } while (!done && status == XML_STATUS_OK); } else { Tcl_DStringInit (&dStr); if (Tcl_GetChannelOption (interp, channel, "-encoding", &dStr) != TCL_OK) { domFreeDocument (doc, NULL, NULL); |
< < > > > | | | | | | | |
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 .... 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 .... 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 |
| | | written by Jochen Loewer | April 5, 1999 | \--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- | Includes | \--------------------------------------------------------------------------*/ #include <tcl.h> #include <dom.h> #include <domxpath.h> #include <schema.h> #include <tclexpat.h> #ifndef PARSE_CHUNK_SIZE # define PARSE_CHUNK_SIZE 8096 #endif /* #define DEBUG */ /*---------------------------------------------------------------------------- | Debug Macros | \---------------------------------------------------------------------------*/ #ifdef DEBUG ................................................................................ info->nextFeedbackPosition = info->feedbackAfter; Tcl_ResetResult (info->interp); result = 1; if (chan == NULL) { do { done = (len < INT_MAX); status = XML_Parse (extparser, xmlstring, done ? len : PARSE_CHUNK_SIZE, done); if (!done) { xmlstring += PARSE_CHUNK_SIZE; len -= PARSE_CHUNK_SIZE; } } while (!done && status == XML_STATUS_OK); switch (status) { case XML_STATUS_ERROR: interpResult = Tcl_GetStringResult(info->interp); if (interpResult[0] == '\0') { tcldom_reportErrorLocation ( ................................................................................ parser = XML_ExternalEntityParserCreate (parser, "forest", 0); info.parser = parser; info.currentNode = doc->rootNode; } if (channel == NULL) { do { done = (length < PARSE_CHUNK_SIZE); status = XML_Parse (parser, xml, done ? length : PARSE_CHUNK_SIZE, done); if (!done) { xml += PARSE_CHUNK_SIZE; length -= PARSE_CHUNK_SIZE; } } while (!done && status == XML_STATUS_OK); } else { Tcl_DStringInit (&dStr); if (Tcl_GetChannelOption (interp, channel, "-encoding", &dStr) != TCL_OK) { domFreeDocument (doc, NULL, NULL); |
Changes to tdom.m4.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
tcl_ok=yes fi if test "$tcl_ok" = "yes" ; then AC_MSG_RESULT([yes]) AC_DEFINE(XML_DTD) else AC_MSG_RESULT([no]) fi ]) #------------------------------------------------------------------------ # TDOM_ENABLE_GE -- # # Allows the building with GE support # # Arguments: # None # # Results: # # Adds the following arguments to configure: # --enable-ge=yes|no # # Defines the following vars: # # Sets the following vars: # #------------------------------------------------------------------------ AC_DEFUN(TDOM_ENABLE_GE, [ AC_MSG_CHECKING([whether to enable expat general entities support]) AC_ARG_ENABLE(ge, AC_HELP_STRING([--enable-ge], [build expat with general entities support (default: on)]), [tcl_ok=$enableval], [tcl_ok=yes]) if test "${enable_ge+set}" = set; then enableval="$enable_ge" tcl_ok=$enableval else tcl_ok=yes fi if test "$tcl_ok" = "yes" ; then AC_MSG_RESULT([yes]) AC_DEFINE(XML_GE) else AC_MSG_RESULT([no]) fi ]) #------------------------------------------------------------------------ # TDOM_CONTEXT_BYTES -- # |
< < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
tcl_ok=yes fi if test "$tcl_ok" = "yes" ; then AC_MSG_RESULT([yes]) AC_DEFINE(XML_DTD) else AC_MSG_RESULT([no]) fi ]) #------------------------------------------------------------------------ # TDOM_CONTEXT_BYTES -- # |
Changes to tests/dom.test.
727 728 729 730 731 732 733 734 735 736 737 738 739 740 |
set doc [dom parse $str] set result [string length [$doc selectNodes string(/doc)]] lappend result [string length [$doc selectNodes substring(doc,2999999999)]] lappend result [$doc selectNodes substring(doc,2999999995,3)] $doc delete set result } {3000000000 2 abc} test dom-3.1 {isName} { dom isName ":foo" } {1} test dom-3.2 {isName} { dom isName "_foo" |
> > > > > > > > |
727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 |
set doc [dom parse $str] set result [string length [$doc selectNodes string(/doc)]] lappend result [string length [$doc selectNodes substring(doc,2999999999)]] lappend result [$doc selectNodes substring(doc,2999999995,3)] $doc delete set result } {3000000000 2 abc} test dom-2.47 {parse chunk ends in multbyte char} { set str "<doc>[string repeat \u1D8B 3000]</doc>" set doc [dom parse $str] set new [$doc asXML -indent none] $doc delete expr {$str eq $new ? 1 : 0} } 1 test dom-3.1 {isName} { dom isName ":foo" } {1} test dom-3.2 {isName} { dom isName "_foo" |
Changes to win/makefile.vc.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
$(TMP_DIR)\tdominit.obj
PRJ_STUBOBJS = $(TMP_DIR)\tdomStubLib.obj
PRJ_DEFINES = \
-D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE \
-DHAVE_MEMMOVE -DXML_DTD=1 -DXML_NS=1 -DTDOM_NO_UNKNOWN_CMD=1 \
-DXML_GE=1 -DXML_CONTEXT_BYTES=1024 \
-DXMLIMPORT=__declspec(dllexport)
# TBD - some of the code, like expat checks for Windows using the
# WIN32 macro. This should really be changed to check _WIN32. For now,
# define WIN32 ourselves
PRJ_DEFINES = $(PRJ_DEFINES) -DWIN32
|
| |
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
$(TMP_DIR)\tdominit.obj
PRJ_STUBOBJS = $(TMP_DIR)\tdomStubLib.obj
PRJ_DEFINES = \
-D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE \
-DHAVE_MEMMOVE -DXML_DTD=1 -DXML_NS=1 -DTDOM_NO_UNKNOWN_CMD=1 \
-DXML_GE=1 -DXML_CONTEXT_BYTES=0 \
-DXMLIMPORT=__declspec(dllexport)
# TBD - some of the code, like expat checks for Windows using the
# WIN32 macro. This should really be changed to check _WIN32. For now,
# define WIN32 ourselves
PRJ_DEFINES = $(PRJ_DEFINES) -DWIN32
|