From fdrake@users.sourceforge.net Wed Sep 4 00:19:32 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Tue, 03 Sep 2002 16:19:32 -0700 Subject: [Expat-checkins] expat Makefile.in,1.38,1.39 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv2833 Modified Files: Makefile.in Log Message: Update to Karl's version of this script, and use the latest version of the tests from the W3C. Index: Makefile.in =================================================================== RCS file: /cvsroot/expat/expat/Makefile.in,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- Makefile.in 23 Aug 2002 21:53:29 -0000 1.38 +++ Makefile.in 3 Sep 2002 23:19:30 -0000 1.39 @@ -148,13 +148,14 @@ tests/runtests: tests/runtests.o tests/chardata.o $(LIBRARY) $(LINK_EXE) $^ -lcheck -tests/xmltest.zip: - cd tests && wget ftp://ftp.jclark.com/pub/xml/xmltest.zip +tests/xmlts.zip: + wget --output-document=tests/xmlts.zip \ + http://www.w3.org/XML/Test/xmlts20020606.zip -tests/xmltest: tests/xmltest.zip - cd tests && unzip -q xmltest.zip +tests/XML-Test-Suite: tests/xmlts.zip + cd tests && unzip -q xmlts.zip -run-xmltest: xmlwf/xmlwf tests/xmltest +run-xmltest: xmlwf/xmlwf tests/XML-Test-Suite tests/xmltest.sh .SUFFIXES: .c .lo .o From fdrake@users.sourceforge.net Wed Sep 4 00:19:32 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Tue, 03 Sep 2002 16:19:32 -0700 Subject: [Expat-checkins] expat/tests .cvsignore,1.3,1.4 xmltest.sh,1.1,1.2 Message-ID: Update of /cvsroot/expat/expat/tests In directory usw-pr-cvs1:/tmp/cvs-serv2833/tests Modified Files: .cvsignore xmltest.sh Log Message: Update to Karl's version of this script, and use the latest version of the tests from the W3C. Index: .cvsignore =================================================================== RCS file: /cvsroot/expat/expat/tests/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- .cvsignore 29 Apr 2002 21:31:18 -0000 1.3 +++ .cvsignore 3 Sep 2002 23:19:30 -0000 1.4 @@ -1,5 +1,5 @@ Makefile runtests -xmltest -xmltest.zip +xmlts.zip +XML-Test-Suite .libs Index: xmltest.sh =================================================================== RCS file: /cvsroot/expat/expat/tests/xmltest.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- xmltest.sh 29 Apr 2002 21:31:18 -0000 1.1 +++ xmltest.sh 3 Sep 2002 23:19:30 -0000 1.2 @@ -1,48 +1,127 @@ #! /bin/sh -VERBOSE='' +# EXPAT TEST SCRIPT FOR W3C XML TEST SUITE -if [ "$1" = '-v' -o "$1" = '--verbose' ] ; then - VERBOSE="$1" - shift -fi +# This script can be used to exercise Expat against the +# w3c.org xml test suite, available from +# http://www.w3.org/XML/Test/xmlts20020606.zip. -if [ ! "$1" = '' ] ; then - ERRORS=0 - if [ "$VERBOSE" ] ; then - OUTPUT="/tmp/$$.out" +# To run this script, first set XMLWF so that xmlwf can be +# found, then set the output directory with OUTPUT. + +# The script lists all test cases where Expat shows a discrepancy +# from the expected result. Test cases where only the canonical +# output differs are prefixed with "Output differs:", and a diff file +# is generated in the appropriate subdirectory under $OUTPUT. + +# The script does not use "invalid" test cases for validating parsers. +# If there are output files provided, the script will use +# output from xmlwf and compare the desired output against it. +# However, one has to take into account that the canonical output +# produced by xmlwf conforms to an older definition of canonical XML +# and does not generate notation declarations. + +MYDIR="`dirname \"$0\"`" +cd "$MYDIR" +MYDIR="`pwd`" +XMLWF="`dirname \"$MYDIR\"`/xmlwf/xmlwf" +# XMLWF=/usr/local/bin/xmlwf +# XMLWF=f:/Libraries/XML/expat/xmlwf/release/xmlwf +TS="$MYDIR/XML-Test-Suite" +# OUTPUT must terminate with the directory separater. +OUTPUT="$TS/out/" +# OUTPUT=/home/tmp/xml-testsuite-out/ +# OUTPUT=f:/Libraries/XML/XML-Test-Suite/out/ + +RunXmlwfNotWF() { + $XMLWF $1 $2 > outfile || return $? + read outdata < outfile + if test "$outdata" = "" ; then + echo "Well formed: $3$2" + return 1 + else + return 0 + fi +} + +RunXmlwfWF() { + $XMLWF $1 -d "$OUTPUT$3" $2 > outfile || return $? + read outdata < outfile + if test "$outdata" = "" ; then + if [ -f out/$2 ] ; then + diff "$OUTPUT$3$2" out/$2 > outfile + if [ -s outfile ] ; then + cp outfile $OUTPUT$3${2}.diff + echo "Output differs: $3$2" + return 1 + fi + fi + return 0 + else + echo "In $3: $outdata" + return 1 + fi +} + +SUCCESS=0 +ERROR=0 + +cd "$TS/xmlconf" +for xmldir in ibm/valid/P*/ \ + xmltest/valid/ext-sa/ \ + xmltest/valid/not-sa/ \ + xmltest/valid/sa/ \ + sun/valid/ ; do + cd "$TS/xmlconf/$xmldir" + mkdir -p "$OUTPUT$xmldir" + for xmlfile in *.xml ; do + if RunXmlwfWF -p "$xmlfile" "$xmldir" ; then + SUCCESS=`expr $SUCCESS + 1` + else + ERROR=`expr $ERROR + 1` + fi + done + rm outfile +done + +cd "$TS/xmlconf/oasis" +mkdir -p "$OUTPUT"oasis/ +for xmlfile in *pass*.xml ; do + if RunXmlwfWF -p "$xmlfile" "oasis/" ; then + SUCCESS=`expr $SUCCESS + 1` else - OUTPUT="/dev/null" - fi - while [ "$1" ] ; do - FILE="`basename \"$1\"`" - DIR="`dirname \"$1\"`" - DIR="`dirname \"$DIR\"`" - ../xmlwf/xmlwf -d /tmp "$DIR/$FILE" - diff -u "$DIR/out/$FILE" "/tmp/$FILE" >$OUTPUT - ERR=$? - rm "/tmp/$FILE" - if [ ! "$ERR" = 0 ] ; then - ERRORS=`expr $ERRORS + 1` - echo "$DIR/$FILE ... Error" - cat $OUTPUT - elif [ "$VERBOSE" ] ; then - echo "$DIR/$FILE ... Ok" - fi - shift - done - if [ "$VERBOSE" ] ; then - rm $OUTPUT - fi - if [ ! "$ERRORS" = '0' ] ; then - echo " Errors: $ERRORS" - exit 1 + ERROR=`expr $ERROR + 1` fi -else - SCRIPTDIR="`dirname \"$0\"`" - cd "$SCRIPTDIR" - find xmltest -name \*.xml | grep /out/ | xargs ./xmltest.sh $VERBOSE - if [ ! "$?" = "0" ] ; then - exit 1 +done +rm outfile + +cd "$TS/xmlconf" +for xmldir in ibm/not-wf/P*/ \ + ibm/not-wf/misc/ \ + xmltest/not-wf/ext-sa/ \ + xmltest/not-wf/not-sa/ \ + xmltest/not-wf/sa/ \ + sun/not-wf/ ; do + cd "$TS/xmlconf/$xmldir" + for xmlfile in *.xml ; do + if RunXmlwfNotWF -p "$xmlfile" "$xmldir" ; then + SUCCESS=`expr $SUCCESS + 1` + else + ERROR=`expr $ERROR + 1` + fi + done + rm outfile +done + +cd "$TS/xmlconf/oasis" +for xmlfile in *fail*.xml ; do + if RunXmlwfNotWF -p "$xmlfile" "oasis/" ; then + SUCCESS=`expr $SUCCESS + 1` + else + ERROR=`expr $ERROR + 1` fi -fi +done +rm outfile + +echo "Passed: $SUCCESS" +echo "Failed: $ERROR" From kwaclaw@users.sourceforge.net Wed Sep 4 04:04:46 2002 From: kwaclaw@users.sourceforge.net (Karl Waclawek) Date: Tue, 03 Sep 2002 20:04:46 -0700 Subject: [Expat-checkins] expat/tests xmltest.sh,1.2,1.3 Message-ID: Update of /cvsroot/expat/expat/tests In directory usw-pr-cvs1:/tmp/cvs-serv6844 Modified Files: xmltest.sh Log Message: Included "invalid" test cases, to check if the parser reports them as well-formed without errors. Index: xmltest.sh =================================================================== RCS file: /cvsroot/expat/expat/tests/xmltest.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- xmltest.sh 3 Sep 2002 23:19:30 -0000 1.2 +++ xmltest.sh 4 Sep 2002 03:04:44 -0000 1.3 @@ -14,7 +14,6 @@ # output differs are prefixed with "Output differs:", and a diff file # is generated in the appropriate subdirectory under $OUTPUT. -# The script does not use "invalid" test cases for validating parsers. # If there are output files provided, the script will use # output from xmlwf and compare the desired output against it. # However, one has to take into account that the canonical output @@ -26,12 +25,11 @@ MYDIR="`pwd`" XMLWF="`dirname \"$MYDIR\"`/xmlwf/xmlwf" # XMLWF=/usr/local/bin/xmlwf -# XMLWF=f:/Libraries/XML/expat/xmlwf/release/xmlwf TS="$MYDIR/XML-Test-Suite" -# OUTPUT must terminate with the directory separater. +# OUTPUT must terminate with the directory separator. OUTPUT="$TS/out/" # OUTPUT=/home/tmp/xml-testsuite-out/ -# OUTPUT=f:/Libraries/XML/XML-Test-Suite/out/ + RunXmlwfNotWF() { $XMLWF $1 $2 > outfile || return $? @@ -66,12 +64,20 @@ SUCCESS=0 ERROR=0 +########################## +# well-formed test cases # +########################## + cd "$TS/xmlconf" for xmldir in ibm/valid/P*/ \ + ibm/invalid/P*/ \ xmltest/valid/ext-sa/ \ xmltest/valid/not-sa/ \ + xmltest/invalid/ \ + xmltest/invalid/not-sa/ \ xmltest/valid/sa/ \ - sun/valid/ ; do + sun/valid/ \ + sun/invalid/ ; do cd "$TS/xmlconf/$xmldir" mkdir -p "$OUTPUT$xmldir" for xmlfile in *.xml ; do @@ -94,6 +100,10 @@ fi done rm outfile + +############################## +# not well-formed test cases # +############################## cd "$TS/xmlconf" for xmldir in ibm/not-wf/P*/ \ From fdrake@users.sourceforge.net Wed Sep 4 16:46:37 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 08:46:37 -0700 Subject: [Expat-checkins] htdocs/dev cvs.html,1.5,1.6 trackers.html,1.5,1.6 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv26501/dev Modified Files: cvs.html trackers.html Log Message: Abstract some of the styling information out of the individual documents. Index: cvs.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/cvs.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- cvs.html 29 Aug 2002 18:23:42 -0000 1.5 +++ cvs.html 4 Sep 2002 15:46:35 -0000 1.6 @@ -58,12 +58,12 @@ are:

-
expat
+
expat
This contains the C source code for the library, xmlwf, example applications, and test suite. This is what most people will be interested in.
-
htdocs
+
htdocs
The content for www.libexpat.org is located in this module.
Index: trackers.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/trackers.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- trackers.html 29 Aug 2002 18:13:36 -0000 1.5 +++ trackers.html 4 Sep 2002 15:46:35 -0000 1.6 @@ -192,7 +192,7 @@ Expat, but the quirky behavior... well, we should be aware of it.

-
Who is "Nobody"?
+
Who is "Nobody"?
That depends on who initially submitted the report.

The most important thing to know is that SourceForge asks From fdrake@users.sourceforge.net Wed Sep 4 16:46:37 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 08:46:37 -0700 Subject: [Expat-checkins] htdocs index.html,1.27,1.28 style.css,1.4,1.5 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv26501 Modified Files: index.html style.css Log Message: Abstract some of the styling information out of the individual documents. Index: index.html =================================================================== RCS file: /cvsroot/expat/htdocs/index.html,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- index.html 29 Aug 2002 18:00:51 -0000 1.27 +++ index.html 4 Sep 2002 15:46:34 -0000 1.28 @@ -49,8 +49,8 @@

News

-
12 July 2002
- Expat 1.95.4 released.
+
12 July 2002, + Expat 1.95.4 released.
    @@ -76,8 +76,8 @@ update to 1.95.4.

-
3 June 2002
- Expat 1.95.3 released.
+
3 June 2002, + Expat 1.95.3 released.
    Index: style.css =================================================================== RCS file: /cvsroot/expat/htdocs/style.css,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- style.css 8 Jul 2002 15:34:04 -0000 1.4 +++ style.css 4 Sep 2002 15:46:35 -0000 1.5 @@ -12,6 +12,8 @@ .banner h2 { font-size: 200%; } .content { padding: 2em; } +dl dt { font-weight: bold; } + .content thead { background-color: rgb(110,139,61); color: rgb(255,236,176); } From fdrake@users.sourceforge.net Wed Sep 4 16:47:42 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 08:47:42 -0700 Subject: [Expat-checkins] htdocs/dev roadmap.html,NONE,1.1 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv26996 Added Files: roadmap.html Log Message: Add HTML version of the roadmap document currently in development. --- NEW FILE: roadmap.html --- Expat Development Roadmap

    PROPOSAL

    This is a proposed roadmap for the further development of Expat. The primary purpose for making this proposal is to determine whether our ideas for continued development are aligned with the needs of the community. We welcome comment both from Expat users, would-be users, and members of the XML community who have decided against using Expat for technical reasons directly related to Expat.

    Goals

    We do not plan to alter the goals of the Expat project. We intend to continue to develop Expat to have the following qualities:

    • Fast
    • Conformant to XML 1.0 and Namespaces
    • Easy to use from C
    • Easy to wrap / bind for non-C languages
    • Sufficient to build DOM and SAX on top of (any final specification for XML)
    • Modest memory footprint
    • Portable

    Non-Goals

    • Parsing anything that isn't XML
    • DOM (any level)
    • SAX (any version)
    • Data bindings
    • Watching the kids

    Historical Background

    James Clark initially developed Expat, releasing three stable versions, identified as versions 1.0, 1.1, and 1.2. Clark Cooper created a forked version of Expat based on Expat 1.1, for use in the XML::Parser extension module for Perl.

    As James Clark's interests shifted, and his development moved to the Java environment, the authors of 3rd party language bindings found it increasingly difficult to integrate Expat with their languages, and other developers found it difficult to get fixes accepted into Expat and released. A small group of extension authors were gathered by Paul Prescod in the hope that Expat could be formed into a more readily usable library for both direct use in C-language applications and indirect use from other languages. This group was led by Clark Cooper and Fred Drake, and received sanction to take over maintenance of Expat from James Clark. The project is hosted on SourceForge. This group made their first release as Expat 1.95.0 in September 2000.

    Since that time, incremental releases of Expat have been made on a sporadic schedule, improving functionality and portability with each release.

    Expat Development Roadmap

    Now that our goals and non-goals have been spelled out, let's take a look at how we should get there from where we are now. This will be broken down into two stages: near future activities and far future activities. In spite of the somewhat temporal labeling of these categories, please realize that no actual scheduling has been done, nor is that considered relevant at this time. Actual time to meet these goals is dependent on the availability of resources to work on Expat. Parallel development may also happen, depending on the specific interests of contributers.

    Near Future Activity

    The target of the current line of development will be to release Expat 2.0. The intent is that once Expat 2.0 is released, most of the development activity for this line will be maintenance, and will be driven by user-provided problem reports. These are the goals for goals we have specific to the release of Expat 2.0:

    • Stabilize the current API with some minor revisions to make error reporting more explicit to allow better reporting and diagnosis.
    • Introduce a new feature-test macro, XML_MINIMAL, parallel to XML_DTD, XML_UNICODE, and XML_UNICODE_WCHAR_T. Defining the new feature when compiling Expat will cause functions that are not relevant to the rest of the feature macros. (For example, if XML_DTD is not set but XML_MINIMAL is, the functions that set handlers for DTD-related events won't be included at all.) This is intended to make it easier to use Expat in small-memory devices.
    • API revisions will be made to improve the runtime discoverability of Expat capabilities.
    • Improve portability and performance.
    • Substantially improve regression tests.
    • Improve documentation.
    • Full support for 64-bit platforms. (There are some known decoding problems currently.)

    When we're confident that the minor API changes are "right", we'll finallize the API and release Expat 2.0. Should additional functions be required as evolutionary improvements, the minor version number will be incremented, but all existing functions will be maintained for backward compatibility. Releases that are strictly bug fixes will have the same minor version number and will gain a "micro" version number (sometimes called a "patch level").

    Far Future Activity

    Once Expat 2.0 has been released, it will be maintained on a CVS branch. The head of CVS will be used to develop Expat 3.0. The changes in Expat 3.0 will be more substantial and will include important API changes. At this time, we're looking at the following changes:

    More powerful event API

    The new API will be sufficiently detailed that a complete and detailed DOM structure can be built, including both internal and external entity boundaries in parsed character data content and attribute value content.

    This API will of necessity be somewhat more complex than the current API, but we expect the current API can be implemented on top of the new API. For users for whom the Expat 2.0 API is sufficiently powerful, this API will remain available.

    New encoding support

    A new library may be added to the Expat package that provides a flexible architecture for defining new encodings, and provides a large range of common encodings. (It should be possible to develop this so that it supports both Expat 2.0 and Expat 3.0.)

    Another approach which will be considered will be to support Expat's requirements for decoders using one of the existing open source encoding support libraries that meets Expat's requirements for portability. Possible technical approaches would include implementing an adapter, and developing such an external library to include direct support for the kind of interface support Expat needs.

    XML 1.1, if it ever happens

    Well, we're hoping, but it's not time to code for this yet.

    Additional goals may be added during the development of Expat 3.0; it's just too early to tell.

    SourceForge
                 Logo
    From fdrake@users.sourceforge.net Wed Sep 4 18:06:09 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 10:06:09 -0700 Subject: [Expat-checkins] htdocs/dev roadmap.html,1.1,1.2 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv24046 Modified Files: roadmap.html Log Message: Small elaboration of what the new API needs to support. Index: roadmap.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/roadmap.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- roadmap.html 4 Sep 2002 15:47:40 -0000 1.1 +++ roadmap.html 4 Sep 2002 17:06:06 -0000 1.2 @@ -157,8 +157,9 @@

    The new API will be sufficiently detailed that a complete and detailed DOM structure can be built, including both internal and - external entity boundaries in parsed character data content and - attribute value content.

    + external entity boundaries in parsed character data content, + attribute value content, and entity values (such as found in + internal entity declarations).

    This API will of necessity be somewhat more complex than the current API, but we expect the current API can be implemented on top From fdrake@users.sourceforge.net Wed Sep 4 18:25:39 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 10:25:39 -0700 Subject: [Expat-checkins] htdocs/dev roadmap.html,1.2,1.3 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv29815 Modified Files: roadmap.html Log Message: Added text about the pull/suspend model for parsing; not sure this is in the right section. Index: roadmap.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/roadmap.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- roadmap.html 4 Sep 2002 17:06:06 -0000 1.2 +++ roadmap.html 4 Sep 2002 17:25:37 -0000 1.3 @@ -167,6 +167,24 @@ sufficiently powerful, this API will remain available.

    +
    Support for either pull or suspendable parsing
    +
    +

    The revised API will need to support some way to interrupt + processing without having to parse all XML text passed to the parser + so far. This can be done by either using a pull-based model or a + push-based model (similar to the current API) with the added ability + to suspend parsing on request.

    + +

    The specific API will depend on the model selected; either a + pull-based model or an suspension model can support each other with + little additional work, and the current push model can be built on + top of either.

    + +

    The specific model and API will be discussed on the expat-discuss + mailing list.

    + +
    New encoding support

    A new library may be added to the Expat package that provides a From fdrake@users.sourceforge.net Wed Sep 4 18:27:00 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 10:27:00 -0700 Subject: [Expat-checkins] htdocs/dev roadmap.html,1.3,1.4 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv30168 Modified Files: roadmap.html Log Message: Don't hedge; call it what it is. Index: roadmap.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/roadmap.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- roadmap.html 4 Sep 2002 17:25:37 -0000 1.3 +++ roadmap.html 4 Sep 2002 17:26:58 -0000 1.4 @@ -169,11 +169,11 @@

    Support for either pull or suspendable parsing
    -

    The revised API will need to support some way to interrupt - processing without having to parse all XML text passed to the parser - so far. This can be done by either using a pull-based model or a - push-based model (similar to the current API) with the added ability - to suspend parsing on request.

    +

    The new API will need to support some way to interrupt processing + without having to parse all XML text passed to the parser so far. + This can be done by either using a pull-based model or a push-based + model (similar to the current API) with the added ability to suspend + parsing on request.

    The specific API will depend on the model selected; either a pull-based model or an suspension model can support each other with From fdrake@users.sourceforge.net Thu Sep 5 02:48:28 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 18:48:28 -0700 Subject: [Expat-checkins] expat/xmlwf xmlwf.c,1.64,1.65 Message-ID: Update of /cvsroot/expat/expat/xmlwf In directory usw-pr-cvs1:/tmp/cvs-serv24507/xmlwf Modified Files: xmlwf.c Log Message: Elaborate the XML_GetFeatureList() API a bit, and add additional info that may be needed by a hughly flexible client. (Or at least used to check that the Expat that it links to matches client expectations.) Index: xmlwf.c =================================================================== RCS file: /cvsroot/expat/expat/xmlwf/xmlwf.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- xmlwf.c 29 Aug 2002 04:54:04 -0000 1.64 +++ xmlwf.c 5 Sep 2002 01:48:26 -0000 1.65 @@ -609,17 +609,19 @@ prog = s + 1; ++s; } - ftprintf(stdout, T("%s using %s"), prog, XML_ExpatVersion()); - if (features == NULL || features[0].feature == XML_FEATURE_END) - ftprintf(stdout, T("\n")); - else { + ftprintf(stdout, T("%s using %s\n"), prog, XML_ExpatVersion()); + if (features != NULL && features[0].feature != XML_FEATURE_END) { int i = 1; - ftprintf(stdout, T(" (%s"), features[0].name); + ftprintf(stdout, T("%s"), features[0].name); + if (features[0].value) + ftprintf(stdout, T("=%ld"), features[0].value); while (features[i].feature != XML_FEATURE_END) { ftprintf(stdout, T(", %s"), features[i].name); + if (features[i].value) + ftprintf(stdout, T("=%ld"), features[i].value); ++i; } - ftprintf(stdout, T(")\n")); + ftprintf(stdout, T("\n")); } } From fdrake@users.sourceforge.net Thu Sep 5 02:48:27 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 18:48:27 -0700 Subject: [Expat-checkins] expat/doc reference.html,1.32,1.33 Message-ID: Update of /cvsroot/expat/expat/doc In directory usw-pr-cvs1:/tmp/cvs-serv24507/doc Modified Files: reference.html Log Message: Elaborate the XML_GetFeatureList() API a bit, and add additional info that may be needed by a hughly flexible client. (Or at least used to check that the Expat that it links to matches client expectations.) Index: reference.html =================================================================== RCS file: /cvsroot/expat/expat/doc/reference.html,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- reference.html 29 Aug 2002 15:57:08 -0000 1.32 +++ reference.html 5 Sep 2002 01:48:24 -0000 1.33 @@ -1712,12 +1712,17 @@ XML_FEATURE_END = 0, XML_FEATURE_UNICODE, XML_FEATURE_UNICODE_WCHAR_T, - XML_FEATURE_DTD + XML_FEATURE_DTD, + XML_FEATURE_CONTEXT_BYTES, + XML_FEATURE_MIN_SIZE, + XML_FEATURE_SIZEOF_XML_CHAR, + XML_FEATURE_SIZEOF_XML_LCHAR }; typedef struct { enum XML_FeatureEnum feature; XML_LChar *name; + long int value; } XML_Feature;

    @@ -1730,12 +1735,31 @@

    The return value is an array of XML_Feature, terminated by a record with a feature of XML_FEATURE_END and name of NULL, -identifying the feature-test macros Expat was compiled with. Since -an application that requires this kind of information needs to -determine the type of character the name points to, -records for the XML_UNICODE and -XML_UNICODE_WCHAR_T features will be located at the -beginning of the list, if they are present at all.

    +identifying the feature-test macros Expat was compiled with. Since an +application that requires this kind of information needs to determine +the type of character the name points to, records for the +XML_FEATURE_SIZEOF_XML_CHAR and +XML_FEATURE_SIZEOF_XML_LCHAR will be located at the +beginning of the list, followed by XML_FEATURE_UNICODE +and XML_FEATURE_UNICODE_WCHAR_T, if they are present at +all.

    + +

    Some features have an associated value. If there isn't an +associated value, the value field is set to 0. At this +time, the following features have been defined to have values:

    + +
    +
    XML_FEATURE_SIZEOF_XML_CHAR
    +
    The number of bytes occupied by one XML_Char + character.
    +
    XML_FEATURE_SIZEOF_XML_LCHAR
    +
    The number of bytes occupied by one XML_LChar + character.
    +
    XML_FEATURE_CONTEXT_BYTES
    +
    The maximum number of characters of context which can be + reported by XML_GetInputContext.
    +

    From fdrake@users.sourceforge.net Thu Sep 5 02:48:28 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 18:48:28 -0700 Subject: [Expat-checkins] expat/lib expat.h,1.40,1.41 xmlparse.c,1.83,1.84 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv24507/lib Modified Files: expat.h xmlparse.c Log Message: Elaborate the XML_GetFeatureList() API a bit, and add additional info that may be needed by a hughly flexible client. (Or at least used to check that the Expat that it links to matches client expectations.) Index: expat.h =================================================================== RCS file: /cvsroot/expat/expat/lib/expat.h,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- expat.h 29 Aug 2002 15:29:52 -0000 1.40 +++ expat.h 5 Sep 2002 01:48:25 -0000 1.41 @@ -875,13 +875,18 @@ XML_FEATURE_END = 0, XML_FEATURE_UNICODE, XML_FEATURE_UNICODE_WCHAR_T, - XML_FEATURE_DTD + XML_FEATURE_DTD, + XML_FEATURE_CONTEXT_BYTES, + XML_FEATURE_MIN_SIZE, + XML_FEATURE_SIZEOF_XML_CHAR, + XML_FEATURE_SIZEOF_XML_LCHAR /* Additional features must be added to the end of this enum. */ }; typedef struct { enum XML_FeatureEnum feature; XML_LChar *name; + long int value; } XML_Feature; XMLPARSEAPI(const XML_Feature *) Index: xmlparse.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v retrieving revision 1.83 retrieving revision 1.84 diff -u -d -r1.83 -r1.84 --- xmlparse.c 31 Aug 2002 02:27:20 -0000 1.83 +++ xmlparse.c 5 Sep 2002 01:48:26 -0000 1.84 @@ -1607,19 +1607,30 @@ const XML_Feature * XML_GetFeatureList(void) { - static const XML_Feature features[] = { + static XML_Feature features[] = { + {XML_FEATURE_SIZEOF_XML_CHAR, XML_L("sizeof(XML_Char)")}, + {XML_FEATURE_SIZEOF_XML_LCHAR, XML_L("sizeof(XML_LChar)")}, #ifdef XML_UNICODE - {XML_FEATURE_UNICODE, XML_L("XML_UNICODE")}, + {XML_FEATURE_UNICODE, XML_L("XML_UNICODE")}, #endif #ifdef XML_UNICODE_WCHAR_T - {XML_FEATURE_UNICODE_WCHAR_T, XML_L("XML_UNICODE_WCHAR_T")}, + {XML_FEATURE_UNICODE_WCHAR_T, XML_L("XML_UNICODE_WCHAR_T")}, #endif #ifdef XML_DTD - {XML_FEATURE_DTD, XML_L("XML_DTD")}, + {XML_FEATURE_DTD, XML_L("XML_DTD")}, #endif - {XML_FEATURE_END, NULL} +#ifdef XML_CONTEXT_BYTES + {XML_FEATURE_CONTEXT_BYTES, XML_L("XML_CONTEXT_BYTES"), + XML_CONTEXT_BYTES}, +#endif +#ifdef XML_MIN_SIZE + {XML_FEATURE_MIN_SIZE, XML_L("XML_MIN_SIZE")}, +#endif + {XML_FEATURE_END, NULL} }; + features[0].value = sizeof(XML_Char); + features[1].value = sizeof(XML_LChar); return features; } From fdrake@users.sourceforge.net Thu Sep 5 05:46:26 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 21:46:26 -0700 Subject: [Expat-checkins] expat configure.in,1.32,1.33 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv3732 Modified Files: configure.in Log Message: Update the version/compatibility information for the API. Update the email address for bug reports. Index: configure.in =================================================================== RCS file: /cvsroot/expat/expat/configure.in,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- configure.in 12 Jul 2002 15:49:33 -0000 1.32 +++ configure.in 5 Sep 2002 04:46:24 -0000 1.33 @@ -26,7 +26,7 @@ define([expat_version], ifdef([__gnu__], [esyscmd(conftools/get-version.sh lib/expat.h)], [1.95.x])) -AC_INIT(expat, expat_version, expat-bugs@lists.sourceforge.net) +AC_INIT(expat, expat_version, expat-bugs@mail.libexpat.org) undefine([expat_version]) AC_CONFIG_SRCDIR(Makefile.in) @@ -44,9 +44,9 @@ dnl If the API changes incompatibly set LIBAGE back to 0 dnl -LIBCURRENT=3 +LIBCURRENT=4 LIBREVISION=0 -LIBAGE=3 +LIBAGE=4 AC_CONFIG_HEADER(expat_config.h) From fdrake@users.sourceforge.net Thu Sep 5 05:17:28 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 21:17:28 -0700 Subject: [Expat-checkins] expat expat.spec,1.7,1.8 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv30504 Modified Files: expat.spec Log Message: Update RPM spec file for Expat 1.95.5. Index: expat.spec =================================================================== RCS file: /cvsroot/expat/expat/expat.spec,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- expat.spec 29 Jun 2002 15:24:30 -0000 1.7 +++ expat.spec 5 Sep 2002 04:17:25 -0000 1.8 @@ -1,4 +1,4 @@ -%define version 1.95.4 +%define version 1.95.5 %define release 1 Summary: Expat is an XML 1.0 parser written in C. @@ -7,13 +7,13 @@ Release: %{release} Copyright: MIT/X Group: Utilities/parsers -URL: http://expat.sourceforge.net/ +URL: http://www.libexpat.org/ Source: http://download.sourceforge.net/expat/expat-%{version}.tar.gz BuildRoot: /var/tmp/%{name}-buildroot %description Expat is an XML 1.0 parser written in C by James Clark. It aims to be -fully conforming. It is currently not a validating XML parser. +fully conforming. It is not a validating XML parser. %prep %setup @@ -31,13 +31,19 @@ install -D xmlwf/xmlwf $RPM_BUILD_ROOT/usr/bin/xmlwf %files -%doc COPYING Changes MANIFEST README doc/reference.html doc/style.css +%doc COPYING Changes MANIFEST README doc/reference.html doc/style.css doc/valid-xhtml10.png /usr/bin/xmlwf /usr/lib /usr/include/expat.h /usr/man/man1/xmlwf.1.gz %changelog +* Wed Sep 4 2002 Fred L. Drake, Jr. +[Release 1.95.5-1] +- Updated for the 1.95.5 release. +- Updated URL for Expat home page to point to www.libexpat.org. +- Added "Valid XHTML 1.0" icon to the installed documentation. + * Sat Jun 29 2002 Fred L. Drake, Jr. [Release 1.95.4-1] - Updated for the 1.95.4 release. From fdrake@users.sourceforge.net Thu Sep 5 02:56:32 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 18:56:32 -0700 Subject: [Expat-checkins] expat/lib internal.h,NONE,1.1 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv26289/lib Added Files: internal.h Log Message: Added new header for common internal definitions. These are all performance- related at the moment. --- NEW FILE: internal.h --- /* internal.h Internal definitions used by Expat. This is not needed to compile client code. The following definitions are made: FASTCALL -- Used for most internal functions to specify that the fastest possible calling convention be used. inline -- Used for selected internal functions for which inlining may improve performance on some platforms. */ #if defined(__GNUC__) #define FASTCALL __attribute__((stdcall, regparm(3))) #elif defined(WIN32) #define FASTCALL __fastcall #else #define FASTCALL #endif #ifndef XML_MIN_SIZE #if !defined(__cplusplus) && !defined(inline) #ifdef __GNUC__ #define inline __inline #endif /* __GNUC__ */ #endif #endif /* XML_MIN_SIZE */ #ifdef __cplusplus #define inline inline #else #ifndef inline #define inline #endif #endif From fdrake@users.sourceforge.net Thu Sep 5 02:58:29 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 18:58:29 -0700 Subject: [Expat-checkins] expat/lib xmlparse.c,1.84,1.85 xmlrole.c,1.12,1.13 xmlrole.h,1.7,1.8 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv26733/lib Modified Files: xmlparse.c xmlrole.c xmlrole.h Log Message: Use the FASTCALL macro for many of the internal functions. Index: xmlparse.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v retrieving revision 1.84 retrieving revision 1.85 diff -u -d -r1.84 -r1.85 --- xmlparse.c 5 Sep 2002 01:48:26 -0000 1.84 +++ xmlparse.c 5 Sep 2002 01:58:27 -0000 1.85 @@ -95,6 +95,7 @@ #endif /* HAVE_MEMMOVE */ #include "xmltok.h" +#include "internal.h" #include "xmlrole.h" typedef const XML_Char *KEY; @@ -271,10 +272,10 @@ ENTITY *entity; } OPEN_INTERNAL_ENTITY; -typedef enum XML_Error Processor(XML_Parser parser, - const char *start, - const char *end, - const char **endPtr); +typedef enum XML_Error FASTCALL Processor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr); static Processor prologProcessor; static Processor prologInitProcessor; @@ -294,114 +295,121 @@ static Processor externalEntityInitProcessor3; static Processor externalEntityContentProcessor; -static enum XML_Error +static enum XML_Error FASTCALL handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName); -static enum XML_Error +static enum XML_Error FASTCALL processXmlDecl(XML_Parser parser, int isGeneralTextEntity, const char *, const char *); -static enum XML_Error +static enum XML_Error FASTCALL initializeEncoding(XML_Parser parser); -static enum XML_Error +static enum XML_Error FASTCALL doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, int tok, const char *next, const char **nextPtr); -static enum XML_Error +static enum XML_Error FASTCALL processInternalParamEntity(XML_Parser parser, ENTITY *entity); -static enum XML_Error +static enum XML_Error FASTCALL doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, const char *start, const char *end, const char **endPtr); -static enum XML_Error +static enum XML_Error FASTCALL doCdataSection(XML_Parser parser, const ENCODING *, const char **startPtr, const char *end, const char **nextPtr); #ifdef XML_DTD -static enum XML_Error +static enum XML_Error FASTCALL doIgnoreSection(XML_Parser parser, const ENCODING *, const char **startPtr, const char *end, const char **nextPtr); #endif /* XML_DTD */ -static enum XML_Error +static enum XML_Error FASTCALL storeAtts(XML_Parser parser, const ENCODING *, const char *s, TAG_NAME *tagNamePtr, BINDING **bindingsPtr); -static int +static int FASTCALL addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, const XML_Char *uri, BINDING **bindingsPtr); -static int +static int FASTCALL defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *, XML_Bool isCdata, XML_Bool isId, const XML_Char *dfltValue, XML_Parser parser); -static enum XML_Error +static enum XML_Error FASTCALL storeAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, const char *, const char *, STRING_POOL *); -static enum XML_Error +static enum XML_Error FASTCALL appendAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, const char *, const char *, STRING_POOL *); -static ATTRIBUTE_ID * +static ATTRIBUTE_ID * FASTCALL getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static int +static int FASTCALL setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *); -static enum XML_Error +static enum XML_Error FASTCALL storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static int +static int FASTCALL reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static int +static int FASTCALL reportComment(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static void +static void FASTCALL reportDefault(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static const XML_Char *getContext(XML_Parser parser); -static XML_Bool setContext(XML_Parser parser, const XML_Char *context); -static void normalizePublicId(XML_Char *s); -static void dtdInit(DTD *, XML_Parser parser); +static const XML_Char * FASTCALL getContext(XML_Parser parser); +static XML_Bool FASTCALL +setContext(XML_Parser parser, const XML_Char *context); +static void FASTCALL normalizePublicId(XML_Char *s); +static void FASTCALL dtdInit(DTD *, XML_Parser parser); /* do not call if parentParser != NULL */ -static void dtdReset(DTD *, XML_Parser parser); -static void dtdDestroy(DTD *, XML_Parser parser); +static void FASTCALL dtdReset(DTD *, XML_Parser parser); +static void FASTCALL dtdDestroy(DTD *, XML_Parser parser); -static int dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser); +static int FASTCALL dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser); -static int copyEntityTable(HASH_TABLE *, STRING_POOL *, const HASH_TABLE *, - XML_Parser parser); +static int FASTCALL copyEntityTable(HASH_TABLE *, STRING_POOL *, + const HASH_TABLE *, XML_Parser parser); #ifdef XML_DTD -static void dtdSwap(DTD *, DTD *); +static void FASTCALL dtdSwap(DTD *, DTD *); #endif /* XML_DTD */ -static NAMED *lookup(HASH_TABLE *table, KEY name, size_t createSize); +static NAMED * FASTCALL +lookup(HASH_TABLE *table, KEY name, size_t createSize); -static void hashTableInit(HASH_TABLE *, XML_Memory_Handling_Suite *ms); +static void FASTCALL +hashTableInit(HASH_TABLE *, XML_Memory_Handling_Suite *ms); -static void hashTableClear(HASH_TABLE *); -static void hashTableDestroy(HASH_TABLE *); -static void hashTableIterInit(HASH_TABLE_ITER *, const HASH_TABLE *); -static NAMED *hashTableIterNext(HASH_TABLE_ITER *); -static void poolInit(STRING_POOL *, XML_Memory_Handling_Suite *ms); -static void poolClear(STRING_POOL *); -static void poolDestroy(STRING_POOL *); -static XML_Char *poolAppend(STRING_POOL *pool, const ENCODING *enc, - const char *ptr, const char *end); -static XML_Char *poolStoreString(STRING_POOL *pool, const ENCODING *enc, - const char *ptr, const char *end); +static void FASTCALL hashTableClear(HASH_TABLE *); +static void FASTCALL hashTableDestroy(HASH_TABLE *); +static void FASTCALL hashTableIterInit(HASH_TABLE_ITER *, const HASH_TABLE *); +static NAMED * FASTCALL hashTableIterNext(HASH_TABLE_ITER *); +static void FASTCALL poolInit(STRING_POOL *, XML_Memory_Handling_Suite *ms); +static void FASTCALL poolClear(STRING_POOL *); +static void FASTCALL poolDestroy(STRING_POOL *); +static XML_Char * FASTCALL +poolAppend(STRING_POOL *pool, const ENCODING *enc, + const char *ptr, const char *end); +static XML_Char * FASTCALL +poolStoreString(STRING_POOL *pool, const ENCODING *enc, + const char *ptr, const char *end); -static XML_Bool poolGrow(STRING_POOL *pool); +static XML_Bool FASTCALL poolGrow(STRING_POOL *pool); -static int nextScaffoldPart(XML_Parser parser); -static XML_Content *build_model(XML_Parser parser); +static int FASTCALL nextScaffoldPart(XML_Parser parser); +static XML_Content * FASTCALL build_model(XML_Parser parser); -static const XML_Char *poolCopyString(STRING_POOL *pool, const XML_Char *s); -static const XML_Char *poolCopyStringN(STRING_POOL *pool, const XML_Char *s, - int n); -static const XML_Char *poolAppendString(STRING_POOL *pool, const XML_Char *s); -static ELEMENT_TYPE * getElementType(XML_Parser Paraser, - const ENCODING *enc, - const char *ptr, - const char *end); +static const XML_Char * FASTCALL +poolCopyString(STRING_POOL *pool, const XML_Char *s); +static const XML_Char * FASTCALL +poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n); +static const XML_Char * FASTCALL +poolAppendString(STRING_POOL *pool, const XML_Char *s); +static ELEMENT_TYPE * FASTCALL +getElementType(XML_Parser Paraser, const ENCODING *enc, + const char *ptr, const char *end); -static void parserInit(XML_Parser parser, const XML_Char *encodingName); +static void FASTCALL +parserInit(XML_Parser parser, const XML_Char *encodingName); #define poolStart(pool) ((pool)->start) #define poolEnd(pool) ((pool)->ptr) @@ -719,7 +727,7 @@ return parser; } -static void +static void FASTCALL parserInit(XML_Parser parser, const XML_Char *encodingName) { processor = prologInitProcessor; @@ -791,7 +799,7 @@ } /* moves list of bindings to freeBindingList */ -static void +static void FASTCALL moveToFreeBindingList(XML_Parser parser, BINDING *bindings) { while (bindings) { @@ -966,7 +974,7 @@ return parser; } -static void +static void FASTCALL destroyBindings(BINDING *bindings, XML_Parser parser) { for (;;) { @@ -1639,7 +1647,7 @@ processed, and not yet closed, we need to store tag->rawName in a more permanent location, since the parse buffer is about to be discarded. */ -static XML_Bool +static XML_Bool FASTCALL storeRawNames(XML_Parser parser) { TAG *tag = tagStack; @@ -1674,7 +1682,7 @@ return XML_TRUE; } -static enum XML_Error +static enum XML_Error FASTCALL contentProcessor(XML_Parser parser, const char *start, const char *end, @@ -1689,7 +1697,7 @@ return result; } -static enum XML_Error +static enum XML_Error FASTCALL externalEntityInitProcessor(XML_Parser parser, const char *start, const char *end, @@ -1702,7 +1710,7 @@ return externalEntityInitProcessor2(parser, start, end, endPtr); } -static enum XML_Error +static enum XML_Error FASTCALL externalEntityInitProcessor2(XML_Parser parser, const char *start, const char *end, @@ -1742,7 +1750,7 @@ return externalEntityInitProcessor3(parser, start, end, endPtr); } -static enum XML_Error +static enum XML_Error FASTCALL externalEntityInitProcessor3(XML_Parser parser, const char *start, const char *end, @@ -1779,7 +1787,7 @@ return externalEntityContentProcessor(parser, start, end, endPtr); } -static enum XML_Error +static enum XML_Error FASTCALL externalEntityContentProcessor(XML_Parser parser, const char *start, const char *end, @@ -1794,7 +1802,7 @@ return result; } -static enum XML_Error +static enum XML_Error FASTCALL doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, @@ -2248,7 +2256,7 @@ /* If tagNamePtr is non-null, build a real list of attributes, otherwise just check the attributes for well-formedness. */ -static enum XML_Error +static enum XML_Error FASTCALL storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr, TAG_NAME *tagNamePtr, BINDING **bindingsPtr) @@ -2502,7 +2510,7 @@ return XML_ERROR_NONE; } -static int +static int FASTCALL addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, const XML_Char *uri, BINDING **bindingsPtr) { @@ -2557,7 +2565,7 @@ /* The idea here is to avoid using stack for each CDATA section when the whole file is parsed with one call. */ -static enum XML_Error +static enum XML_Error FASTCALL cdataSectionProcessor(XML_Parser parser, const char *start, const char *end, @@ -2581,7 +2589,7 @@ /* startPtr gets set to non-null is the section is closed, and to null if the section is not yet closed. */ -static enum XML_Error +static enum XML_Error FASTCALL doCdataSection(XML_Parser parser, const ENCODING *enc, const char **startPtr, @@ -2679,7 +2687,7 @@ /* The idea here is to avoid using stack for each IGNORE section when the whole file is parsed with one call. */ -static enum XML_Error +static enum XML_Error FASTCALL ignoreSectionProcessor(XML_Parser parser, const char *start, const char *end, @@ -2697,7 +2705,7 @@ /* startPtr gets set to non-null is the section is closed, and to null if the section is not yet closed. */ -static enum XML_Error +static enum XML_Error FASTCALL doIgnoreSection(XML_Parser parser, const ENCODING *enc, const char **startPtr, @@ -2753,7 +2761,7 @@ #endif /* XML_DTD */ -static enum XML_Error +static enum XML_Error FASTCALL initializeEncoding(XML_Parser parser) { const char *s; @@ -2782,7 +2790,7 @@ return handleUnknownEncoding(parser, protocolEncodingName); } -static enum XML_Error +static enum XML_Error FASTCALL processXmlDecl(XML_Parser parser, int isGeneralTextEntity, const char *s, const char *next) { @@ -2867,7 +2875,7 @@ return XML_ERROR_NONE; } -static enum XML_Error +static enum XML_Error FASTCALL handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName) { if (unknownEncodingHandler) { @@ -2906,7 +2914,7 @@ return XML_ERROR_UNKNOWN_ENCODING; } -static enum XML_Error +static enum XML_Error FASTCALL prologInitProcessor(XML_Parser parser, const char *s, const char *end, @@ -2921,7 +2929,7 @@ #ifdef XML_DTD -static enum XML_Error +static enum XML_Error FASTCALL externalParEntInitProcessor(XML_Parser parser, const char *s, const char *end, @@ -2945,7 +2953,7 @@ } } -static enum XML_Error +static enum XML_Error FASTCALL entityValueInitProcessor(XML_Parser parser, const char *s, const char *end, @@ -2999,7 +3007,7 @@ } } -static enum XML_Error +static enum XML_Error FASTCALL externalParEntProcessor(XML_Parser parser, const char *s, const char *end, @@ -3040,7 +3048,7 @@ return doProlog(parser, encoding, s, end, tok, next, nextPtr); } -static enum XML_Error +static enum XML_Error FASTCALL entityValueProcessor(XML_Parser parser, const char *s, const char *end, @@ -3077,7 +3085,7 @@ #endif /* XML_DTD */ -static enum XML_Error +static enum XML_Error FASTCALL prologProcessor(XML_Parser parser, const char *s, const char *end, @@ -3088,7 +3096,7 @@ return doProlog(parser, encoding, s, end, tok, next, nextPtr); } -static enum XML_Error +static enum XML_Error FASTCALL doProlog(XML_Parser parser, const ENCODING *enc, const char *s, @@ -4020,7 +4028,7 @@ /* not reached */ } -static enum XML_Error +static enum XML_Error FASTCALL epilogProcessor(XML_Parser parser, const char *s, const char *end, @@ -4082,7 +4090,7 @@ #ifdef XML_DTD -static enum XML_Error +static enum XML_Error FASTCALL processInternalParamEntity(XML_Parser parser, ENTITY *entity) { const char *s, *end, *next; @@ -4106,7 +4114,7 @@ #endif /* XML_DTD */ -static enum XML_Error +static enum XML_Error FASTCALL errorProcessor(XML_Parser parser, const char *s, const char *end, @@ -4115,7 +4123,7 @@ return errorCode; } -static enum XML_Error +static enum XML_Error FASTCALL storeAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, const char *ptr, const char *end, STRING_POOL *pool) @@ -4131,7 +4139,7 @@ return XML_ERROR_NONE; } -static enum XML_Error +static enum XML_Error FASTCALL appendAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, const char *ptr, const char *end, STRING_POOL *pool) @@ -4278,7 +4286,7 @@ /* not reached */ } -static enum XML_Error +static enum XML_Error FASTCALL storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *entityTextPtr, @@ -4443,7 +4451,7 @@ return result; } -static void +static void FASTCALL normalizeLines(XML_Char *s) { XML_Char *p; @@ -4466,7 +4474,7 @@ *p = XML_T('\0'); } -static int +static int FASTCALL reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, const char *start, const char *end) { @@ -4495,7 +4503,7 @@ return 1; } -static int +static int FASTCALL reportComment(XML_Parser parser, const ENCODING *enc, const char *start, const char *end) { @@ -4517,7 +4525,7 @@ return 1; } -static void +static void FASTCALL reportDefault(XML_Parser parser, const ENCODING *enc, const char *s, const char *end) { @@ -4545,7 +4553,7 @@ } -static int +static int FASTCALL defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, XML_Bool isId, const XML_Char *value, XML_Parser parser) { @@ -4588,7 +4596,7 @@ return 1; } -static int +static int FASTCALL setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *elementType) { const XML_Char *name; @@ -4617,7 +4625,7 @@ return 1; } -static ATTRIBUTE_ID * +static ATTRIBUTE_ID * FASTCALL getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start, const char *end) { @@ -4677,7 +4685,7 @@ #define CONTEXT_SEP XML_T('\f') -static const XML_Char * +static const XML_Char * FASTCALL getContext(XML_Parser parser) { HASH_TABLE_ITER iter; @@ -4745,7 +4753,7 @@ return tempPool.start; } -static XML_Bool +static XML_Bool FASTCALL setContext(XML_Parser parser, const XML_Char *context) { const XML_Char *s = context; @@ -4805,7 +4813,7 @@ return XML_TRUE; } -static void +static void FASTCALL normalizePublicId(XML_Char *publicId) { XML_Char *p = publicId; @@ -4827,7 +4835,7 @@ *p = XML_T('\0'); } -static void +static void FASTCALL dtdInit(DTD *p, XML_Parser parser) { XML_Memory_Handling_Suite *ms = &parser->m_mem; @@ -4861,7 +4869,7 @@ #ifdef XML_DTD -static void +static void FASTCALL dtdSwap(DTD *p1, DTD *p2) { DTD tem; @@ -4872,7 +4880,7 @@ #endif /* XML_DTD */ -static void +static void FASTCALL dtdReset(DTD *p, XML_Parser parser) { HASH_TABLE_ITER iter; @@ -4918,7 +4926,7 @@ p->standalone = XML_FALSE; } -static void +static void FASTCALL dtdDestroy(DTD *p, XML_Parser parser) { HASH_TABLE_ITER iter; @@ -4952,7 +4960,7 @@ /* Do a deep copy of the DTD. Return 0 for out of memory; non-zero otherwise. The new DTD has already been initialized. */ -static int +static int FASTCALL dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser) { HASH_TABLE_ITER iter; @@ -5082,7 +5090,7 @@ return 1; } /* End dtdCopy */ -static int +static int FASTCALL copyEntityTable(HASH_TABLE *newTable, STRING_POOL *newPool, const HASH_TABLE *oldTable, @@ -5151,7 +5159,7 @@ #define INIT_SIZE 64 -static int +static int FASTCALL keyeq(KEY s1, KEY s2) { for (; *s1 == *s2; s1++, s2++) @@ -5160,7 +5168,7 @@ return 0; } -static unsigned long +static unsigned long FASTCALL hash(KEY s) { unsigned long h = 0; @@ -5169,7 +5177,7 @@ return h; } -static NAMED * +static NAMED * FASTCALL lookup(HASH_TABLE *table, KEY name, size_t createSize) { size_t i; @@ -5233,7 +5241,7 @@ return table->v[i]; } -static void +static void FASTCALL hashTableClear(HASH_TABLE *table) { size_t i; @@ -5248,7 +5256,7 @@ table->used = 0; } -static void +static void FASTCALL hashTableDestroy(HASH_TABLE *table) { size_t i; @@ -5261,7 +5269,7 @@ table->mem->free_fcn(table->v); } -static void +static void FASTCALL hashTableInit(HASH_TABLE *p, XML_Memory_Handling_Suite *ms) { p->size = 0; @@ -5271,14 +5279,14 @@ p->mem = ms; } -static void +static void FASTCALL hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table) { iter->p = table->v; iter->end = iter->p + table->size; } -static NAMED * +static NAMED * FASTCALL hashTableIterNext(HASH_TABLE_ITER *iter) { while (iter->p != iter->end) { @@ -5289,7 +5297,7 @@ return NULL; } -static void +static void FASTCALL poolInit(STRING_POOL *pool, XML_Memory_Handling_Suite *ms) { pool->blocks = NULL; @@ -5300,7 +5308,7 @@ pool->mem = ms; } -static void +static void FASTCALL poolClear(STRING_POOL *pool) { if (!pool->freeBlocks) @@ -5320,7 +5328,7 @@ pool->end = NULL; } -static void +static void FASTCALL poolDestroy(STRING_POOL *pool) { BLOCK *p = pool->blocks; @@ -5337,7 +5345,7 @@ } } -static XML_Char * +static XML_Char * FASTCALL poolAppend(STRING_POOL *pool, const ENCODING *enc, const char *ptr, const char *end) { @@ -5353,7 +5361,7 @@ return pool->start; } -static const XML_Char * +static const XML_Char * FASTCALL poolCopyString(STRING_POOL *pool, const XML_Char *s) { do { @@ -5365,7 +5373,7 @@ return s; } -static const XML_Char * +static const XML_Char * FASTCALL poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n) { if (!pool->ptr && !poolGrow(pool)) @@ -5379,7 +5387,7 @@ return s; } -static const XML_Char * +static const XML_Char * FASTCALL poolAppendString(STRING_POOL *pool, const XML_Char *s) { while (*s) { @@ -5390,7 +5398,7 @@ return pool->start; } -static XML_Char * +static XML_Char * FASTCALL poolStoreString(STRING_POOL *pool, const ENCODING *enc, const char *ptr, const char *end) { @@ -5402,7 +5410,7 @@ return pool->start; } -static XML_Bool +static XML_Bool FASTCALL poolGrow(STRING_POOL *pool) { if (pool->freeBlocks) { @@ -5464,7 +5472,7 @@ return XML_TRUE; } -static int +static int FASTCALL nextScaffoldPart(XML_Parser parser) { CONTENT_SCAFFOLD * me; @@ -5510,7 +5518,7 @@ return next; } -static void +static void FASTCALL build_node(XML_Parser parser, int src_node, XML_Content *dest, @@ -5547,7 +5555,7 @@ } } -static XML_Content * +static XML_Content * FASTCALL build_model (XML_Parser parser) { XML_Content *ret; @@ -5567,7 +5575,7 @@ return ret; } -static ELEMENT_TYPE * +static ELEMENT_TYPE * FASTCALL getElementType(XML_Parser parser, const ENCODING *enc, const char *ptr, Index: xmlrole.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlrole.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- xmlrole.c 22 Aug 2002 14:52:44 -0000 1.12 +++ xmlrole.c 5 Sep 2002 01:58:27 -0000 1.13 @@ -10,6 +10,7 @@ #include #endif /* ndef COMPILED_FROM_DSP */ +#include "internal.h" #include "xmlrole.h" #include "ascii.h" @@ -84,11 +85,11 @@ #define setTopLevel(state) ((state)->handler = internalSubset) #endif /* not XML_DTD */ -typedef int PROLOG_HANDLER(PROLOG_STATE *state, - int tok, - const char *ptr, - const char *end, - const ENCODING *enc); +typedef int FASTCALL PROLOG_HANDLER(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc); static PROLOG_HANDLER prolog0, prolog1, prolog2, @@ -108,9 +109,9 @@ declClose, error; -static int common(PROLOG_STATE *state, int tok); +static int FASTCALL common(PROLOG_STATE *state, int tok); -static int +static int FASTCALL prolog0(PROLOG_STATE *state, int tok, const char *ptr, @@ -147,7 +148,7 @@ return common(state, tok); } -static int +static int FASTCALL prolog1(PROLOG_STATE *state, int tok, const char *ptr, @@ -178,7 +179,7 @@ return common(state, tok); } -static int +static int FASTCALL prolog2(PROLOG_STATE *state, int tok, const char *ptr, @@ -199,7 +200,7 @@ return common(state, tok); } -static int +static int FASTCALL doctype0(PROLOG_STATE *state, int tok, const char *ptr, @@ -217,7 +218,7 @@ return common(state, tok); } -static int +static int FASTCALL doctype1(PROLOG_STATE *state, int tok, const char *ptr, @@ -247,7 +248,7 @@ return common(state, tok); } -static int +static int FASTCALL doctype2(PROLOG_STATE *state, int tok, const char *ptr, @@ -264,7 +265,7 @@ return common(state, tok); } -static int +static int FASTCALL doctype3(PROLOG_STATE *state, int tok, const char *ptr, @@ -281,7 +282,7 @@ return common(state, tok); } -static int +static int FASTCALL doctype4(PROLOG_STATE *state, int tok, const char *ptr, @@ -301,7 +302,7 @@ return common(state, tok); } -static int +static int FASTCALL doctype5(PROLOG_STATE *state, int tok, const char *ptr, @@ -318,7 +319,7 @@ return common(state, tok); } -static int +static int FASTCALL internalSubset(PROLOG_STATE *state, int tok, const char *ptr, @@ -373,7 +374,7 @@ #ifdef XML_DTD -static int +static int FASTCALL externalSubset0(PROLOG_STATE *state, int tok, const char *ptr, @@ -386,7 +387,7 @@ return externalSubset1(state, tok, ptr, end, enc); } -static int +static int FASTCALL externalSubset1(PROLOG_STATE *state, int tok, const char *ptr, @@ -418,7 +419,7 @@ #endif /* XML_DTD */ -static int +static int FASTCALL entity0(PROLOG_STATE *state, int tok, const char *ptr, @@ -438,7 +439,7 @@ return common(state, tok); } -static int +static int FASTCALL entity1(PROLOG_STATE *state, int tok, const char *ptr, @@ -455,7 +456,7 @@ return common(state, tok); } -static int +static int FASTCALL entity2(PROLOG_STATE *state, int tok, const char *ptr, @@ -483,7 +484,7 @@ return common(state, tok); } -static int +static int FASTCALL entity3(PROLOG_STATE *state, int tok, const char *ptr, @@ -500,7 +501,7 @@ return common(state, tok); } -static int +static int FASTCALL entity4(PROLOG_STATE *state, int tok, const char *ptr, @@ -517,7 +518,7 @@ return common(state, tok); } -static int +static int FASTCALL entity5(PROLOG_STATE *state, int tok, const char *ptr, @@ -540,7 +541,7 @@ return common(state, tok); } -static int +static int FASTCALL entity6(PROLOG_STATE *state, int tok, const char *ptr, @@ -558,7 +559,7 @@ return common(state, tok); } -static int +static int FASTCALL entity7(PROLOG_STATE *state, int tok, const char *ptr, @@ -586,7 +587,7 @@ return common(state, tok); } -static int +static int FASTCALL entity8(PROLOG_STATE *state, int tok, const char *ptr, @@ -603,7 +604,7 @@ return common(state, tok); } -static int +static int FASTCALL entity9(PROLOG_STATE *state, int tok, const char *ptr, @@ -620,7 +621,7 @@ return common(state, tok); } -static int +static int FASTCALL entity10(PROLOG_STATE *state, int tok, const char *ptr, @@ -637,7 +638,7 @@ return common(state, tok); } -static int +static int FASTCALL notation0(PROLOG_STATE *state, int tok, const char *ptr, @@ -654,7 +655,7 @@ return common(state, tok); } -static int +static int FASTCALL notation1(PROLOG_STATE *state, int tok, const char *ptr, @@ -678,7 +679,7 @@ return common(state, tok); } -static int +static int FASTCALL notation2(PROLOG_STATE *state, int tok, const char *ptr, @@ -695,7 +696,7 @@ return common(state, tok); } -static int +static int FASTCALL notation3(PROLOG_STATE *state, int tok, const char *ptr, @@ -713,7 +714,7 @@ return common(state, tok); } -static int +static int FASTCALL notation4(PROLOG_STATE *state, int tok, const char *ptr, @@ -734,7 +735,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist0(PROLOG_STATE *state, int tok, const char *ptr, @@ -752,7 +753,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist1(PROLOG_STATE *state, int tok, const char *ptr, @@ -773,7 +774,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist2(PROLOG_STATE *state, int tok, const char *ptr, @@ -814,7 +815,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist3(PROLOG_STATE *state, int tok, const char *ptr, @@ -833,7 +834,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist4(PROLOG_STATE *state, int tok, const char *ptr, @@ -853,7 +854,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist5(PROLOG_STATE *state, int tok, const char *ptr, @@ -870,7 +871,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist6(PROLOG_STATE *state, int tok, const char *ptr, @@ -887,7 +888,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist7(PROLOG_STATE *state, int tok, const char *ptr, @@ -908,7 +909,7 @@ } /* default value */ -static int +static int FASTCALL attlist8(PROLOG_STATE *state, int tok, const char *ptr, @@ -948,7 +949,7 @@ return common(state, tok); } -static int +static int FASTCALL attlist9(PROLOG_STATE *state, int tok, const char *ptr, @@ -965,7 +966,7 @@ return common(state, tok); } -static int +static int FASTCALL element0(PROLOG_STATE *state, int tok, const char *ptr, @@ -983,7 +984,7 @@ return common(state, tok); } -static int +static int FASTCALL element1(PROLOG_STATE *state, int tok, const char *ptr, @@ -1013,7 +1014,7 @@ return common(state, tok); } -static int +static int FASTCALL element2(PROLOG_STATE *state, int tok, const char *ptr, @@ -1053,7 +1054,7 @@ return common(state, tok); } -static int +static int FASTCALL element3(PROLOG_STATE *state, int tok, const char *ptr, @@ -1078,7 +1079,7 @@ return common(state, tok); } -static int +static int FASTCALL element4(PROLOG_STATE *state, int tok, const char *ptr, @@ -1096,7 +1097,7 @@ return common(state, tok); } -static int +static int FASTCALL element5(PROLOG_STATE *state, int tok, const char *ptr, @@ -1117,7 +1118,7 @@ return common(state, tok); } -static int +static int FASTCALL element6(PROLOG_STATE *state, int tok, const char *ptr, @@ -1147,7 +1148,7 @@ return common(state, tok); } -static int +static int FASTCALL element7(PROLOG_STATE *state, int tok, const char *ptr, @@ -1197,7 +1198,7 @@ #ifdef XML_DTD -static int +static int FASTCALL condSect0(PROLOG_STATE *state, int tok, const char *ptr, @@ -1221,7 +1222,7 @@ return common(state, tok); } -static int +static int FASTCALL condSect1(PROLOG_STATE *state, int tok, const char *ptr, @@ -1239,7 +1240,7 @@ return common(state, tok); } -static int +static int FASTCALL condSect2(PROLOG_STATE *state, int tok, const char *ptr, @@ -1258,7 +1259,7 @@ #endif /* XML_DTD */ -static int +static int FASTCALL declClose(PROLOG_STATE *state, int tok, const char *ptr, @@ -1275,7 +1276,7 @@ return common(state, tok); } -static int +static int FASTCALL error(PROLOG_STATE *state, int tok, const char *ptr, @@ -1285,7 +1286,7 @@ return XML_ROLE_NONE; } -static int +static int FASTCALL common(PROLOG_STATE *state, int tok) { #ifdef XML_DTD Index: xmlrole.h =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlrole.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- xmlrole.h 22 Aug 2002 14:52:44 -0000 1.7 +++ xmlrole.h 5 Sep 2002 01:58:27 -0000 1.8 @@ -85,11 +85,11 @@ }; typedef struct prolog_state { - int (*handler)(struct prolog_state *state, - int tok, - const char *ptr, - const char *end, - const ENCODING *enc); + int FASTCALL (*handler)(struct prolog_state *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc); unsigned level; int role_none; #ifdef XML_DTD From fdrake@users.sourceforge.net Thu Sep 5 02:58:29 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 18:58:29 -0700 Subject: [Expat-checkins] expat Makefile.in,1.39,1.40 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv26733 Modified Files: Makefile.in Log Message: Use the FASTCALL macro for many of the internal functions. Index: Makefile.in =================================================================== RCS file: /cvsroot/expat/expat/Makefile.in,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- Makefile.in 3 Sep 2002 23:19:30 -0000 1.39 +++ Makefile.in 5 Sep 2002 01:58:26 -0000 1.40 @@ -116,10 +116,10 @@ $(LINK_LIB) $(LIB_OBJS) lib/xmlparse.lo: lib/xmlparse.c lib/expat.h lib/xmlrole.h lib/xmltok.h \ - $(top_builddir)/expat_config.h + $(top_builddir)/expat_config.h lib/internal.h lib/xmlrole.lo: lib/xmlrole.c lib/ascii.h lib/xmlrole.h \ - $(top_builddir)/expat_config.h + $(top_builddir)/expat_config.h lib/internal.h lib/xmltok.lo: lib/xmltok.c lib/xmltok_impl.c lib/xmltok_ns.c \ lib/ascii.h lib/asciitab.h lib/iasciitab.h lib/latin1tab.h \ From fdrake@users.sourceforge.net Thu Sep 5 03:00:59 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 19:00:59 -0700 Subject: [Expat-checkins] expat Changes,1.25,1.26 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv27326 Modified Files: Changes Log Message: Predict a release date. Add a note about the internal calling convention magic. Index: Changes =================================================================== RCS file: /cvsroot/expat/expat/Changes,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- Changes 29 Aug 2002 18:06:31 -0000 1.25 +++ Changes 5 Sep 2002 02:00:56 -0000 1.26 @@ -1,4 +1,4 @@ -Release 1.95.5 someday +Release 1.95.5 Fri Sep 6 2002 - Added XML_UseForeignDTD() for improved SAX2 support. - Added XML_GetFeatureList(). - Defined XML_Bool type and the values XML_TRUE and XML_FALSE. @@ -14,6 +14,8 @@ - Reduced line-length for all source code and headers to be no longer than 80 characters, to help with AS/400 support. - Reduced memory copying during parsing (SF patch #600964). + - Modified the calling convention used internally where the + compiler supports a faster convention. - Fixed a variety of bugs: see SF issues 580793, 434664, 483514, 580503, 581069, 584041, 584183, 584832, 585537, 596555, 596678, 598352, 598944, 599715, 600479, 600971. From fdrake@users.sourceforge.net Thu Sep 5 04:08:03 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 20:08:03 -0700 Subject: [Expat-checkins] htdocs/dev roadmap.html,1.4,1.5 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv15636 Modified Files: roadmap.html Log Message: Added the date of the last update. Index: roadmap.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/roadmap.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- roadmap.html 4 Sep 2002 17:26:58 -0000 1.4 +++ roadmap.html 5 Sep 2002 03:08:01 -0000 1.5 @@ -17,6 +17,8 @@

    PROPOSAL

    +

    Updated 4 September 2002.

    +

    This is a proposed roadmap for the further development of Expat. The primary purpose for making this proposal is to determine whether our ideas for continued development are aligned with the needs of the From fdrake@users.sourceforge.net Thu Sep 5 04:20:13 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 20:20:13 -0700 Subject: [Expat-checkins] htdocs style.css,1.5,1.6 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv18957 Modified Files: style.css Log Message: Add the proper way of dealing with page margins. This is better than the browser-specific tags currently in the pages, and works on some browsers that don't support those extensions. Index: style.css =================================================================== RCS file: /cvsroot/expat/htdocs/style.css,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- style.css 4 Sep 2002 15:46:35 -0000 1.5 +++ style.css 5 Sep 2002 03:20:11 -0000 1.6 @@ -1,3 +1,8 @@ +html { border: 0px; + margin: 0px; + padding: 0px; + } + .corner { width: 200px; height: 80px; text-align: center; From fdrake@users.sourceforge.net Thu Sep 5 04:34:49 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 20:34:49 -0700 Subject: [Expat-checkins] expat README,1.20,1.21 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv21621 Modified Files: README Log Message: Update information about the Expat mailing lists, and the version number. Index: README =================================================================== RCS file: /cvsroot/expat/expat/README,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- README 29 Aug 2002 16:46:59 -0000 1.20 +++ README 5 Sep 2002 03:34:47 -0000 1.21 @@ -1,5 +1,5 @@ - Expat, Release 1.95.4 + Expat, Release 1.95.5 This is Expat, a C library for parsing XML, written by James Clark. Expat is a stream-oriented XML parser. This means that you register @@ -103,10 +103,10 @@ The homepage for this project is http://www.libexpat.org/. There are links there to connect you to the bug reports page. If you need to report a bug when you don't have access to a browser, you may also -send a bug report by email to expat-bugs@lists.sourceforge.net. +send a bug report by email to expat-bugs@mail.libexpat.org. Discussion related to the direction of future expat development takes -place on expat-discuss@lists.sourceforge.net. Archives of this list -may be found at: +place on expat-discuss@mail.libexpat.org. Archives of this list and +other Expat-related lists may be found at: - http://sourceforge.net/mailarchive/forum.php?forum_id=6385 + http://mail.libexpat.org/mailman-21/listinfo/ From fdrake@users.sourceforge.net Thu Sep 5 04:06:50 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 20:06:50 -0700 Subject: [Expat-checkins] htdocs/dev index.html,1.8,1.9 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv15475 Modified Files: index.html Log Message: Add link to the roadmap document. Index: index.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/index.html,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- index.html 29 Aug 2002 18:07:03 -0000 1.8 +++ index.html 5 Sep 2002 03:06:48 -0000 1.9 @@ -26,6 +26,9 @@ 1.95.4 +

  • Development roadmap sketching the + directions for future development.
  • +
  • CVS instructions for developers and occasional contributors.
  • From fdrake@users.sourceforge.net Thu Sep 5 04:14:48 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Wed, 04 Sep 2002 20:14:48 -0700 Subject: [Expat-checkins] htdocs index.html,1.28,1.29 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv17435 Modified Files: index.html Log Message: Added a news item about the roadmap document. This is important for the future development efforts. Index: index.html =================================================================== RCS file: /cvsroot/expat/htdocs/index.html,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- index.html 4 Sep 2002 15:46:34 -0000 1.28 +++ index.html 5 Sep 2002 03:14:45 -0000 1.29 @@ -49,6 +49,16 @@

    News

    +
    4 September 2002, + Development roadmap published. +
    +
    +
      +
    • The initial version of the development roadmap was released + for comment.
    • +
    +

    +

    12 July 2002, Expat 1.95.4 released.
    From kwaclaw@thestar.ca Thu Sep 5 15:53:01 2002 From: kwaclaw@thestar.ca (Karl Waclawek) Date: Thu, 5 Sep 2002 10:53:01 -0400 Subject: [Expat-checkins] expat/lib xmlparse.c,1.84,1.85 xmlrole.c,1.12,1.13 xmlrole.h,1.7,1.8 References: Message-ID: <003f01c254eb$ef3634b0$9e539696@citkwaclaww2k> Fred, You did lots of work yesterday/this morning!!! In xmlrole.h I had to change the PROLOG_STATE declaration like this, to make it compile under VC++: /* from FASTCALL (*handler) to (FASTCALL * handler) */ typedef struct prolog_state { int (FASTCALL *handler) (struct prolog_state *state, int tok, const char *ptr, const char *end, const ENCODING *enc); unsigned level; int role_none; #ifdef XML_DTD unsigned includeLevel; int documentEntity; int inEntityValue; #endif /* XML_DTD */ } PROLOG_STATE; Would that work under gcc too? Also, are you still going to add FASTCALL to xmltok.h/c, xmltok_impl.c and xmltok_ns.c? Y Karl ----- Original Message ----- From: "Fred L. Drake" To: Sent: Wednesday, September 04, 2002 9:58 PM Subject: [Expat-checkins] expat/lib xmlparse.c,1.84,1.85 xmlrole.c,1.12,1.13 xmlrole.h,1.7,1.8 > Update of /cvsroot/expat/expat/lib > In directory usw-pr-cvs1:/tmp/cvs-serv26733/lib > > Modified Files: > xmlparse.c xmlrole.c xmlrole.h > Log Message: > Use the FASTCALL macro for many of the internal functions. > > Index: xmlparse.c > =================================================================== > RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v > retrieving revision 1.84 > retrieving revision 1.85 > diff -u -d -r1.84 -r1.85 > --- xmlparse.c 5 Sep 2002 01:48:26 -0000 1.84 > +++ xmlparse.c 5 Sep 2002 01:58:27 -0000 1.85 > @@ -95,6 +95,7 @@ > #endif /* HAVE_MEMMOVE */ > > #include "xmltok.h" > +#include "internal.h" > #include "xmlrole.h" > > typedef const XML_Char *KEY; > @@ -271,10 +272,10 @@ > ENTITY *entity; > } OPEN_INTERNAL_ENTITY; > > -typedef enum XML_Error Processor(XML_Parser parser, > - const char *start, > - const char *end, > - const char **endPtr); > +typedef enum XML_Error FASTCALL Processor(XML_Parser parser, > + const char *start, > + const char *end, > + const char **endPtr); > > static Processor prologProcessor; > static Processor prologInitProcessor; > @@ -294,114 +295,121 @@ > static Processor externalEntityInitProcessor3; > static Processor externalEntityContentProcessor; > > -static enum XML_Error > +static enum XML_Error FASTCALL > handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName); > -static enum XML_Error > +static enum XML_Error FASTCALL > processXmlDecl(XML_Parser parser, int isGeneralTextEntity, > const char *, const char *); > -static enum XML_Error > +static enum XML_Error FASTCALL > initializeEncoding(XML_Parser parser); > -static enum XML_Error > +static enum XML_Error FASTCALL > doProlog(XML_Parser parser, const ENCODING *enc, const char *s, > const char *end, int tok, const char *next, const char **nextPtr); > -static enum XML_Error > +static enum XML_Error FASTCALL > processInternalParamEntity(XML_Parser parser, ENTITY *entity); > -static enum XML_Error > +static enum XML_Error FASTCALL > doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, > const char *start, const char *end, const char **endPtr); > -static enum XML_Error > +static enum XML_Error FASTCALL > doCdataSection(XML_Parser parser, const ENCODING *, const char **startPtr, > const char *end, const char **nextPtr); > #ifdef XML_DTD > -static enum XML_Error > +static enum XML_Error FASTCALL > doIgnoreSection(XML_Parser parser, const ENCODING *, const char **startPtr, > const char *end, const char **nextPtr); > #endif /* XML_DTD */ > -static enum XML_Error > +static enum XML_Error FASTCALL > storeAtts(XML_Parser parser, const ENCODING *, > const char *s, TAG_NAME *tagNamePtr, BINDING **bindingsPtr); > -static int > +static int FASTCALL > addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, > const XML_Char *uri, BINDING **bindingsPtr); > > -static int > +static int FASTCALL > defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *, > XML_Bool isCdata, XML_Bool isId, const XML_Char *dfltValue, > XML_Parser parser); > > -static enum XML_Error > +static enum XML_Error FASTCALL > storeAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, > const char *, const char *, STRING_POOL *); > -static enum XML_Error > +static enum XML_Error FASTCALL > appendAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, > const char *, const char *, STRING_POOL *); > -static ATTRIBUTE_ID * > +static ATTRIBUTE_ID * FASTCALL > getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start, > const char *end); > -static int > +static int FASTCALL > setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *); > -static enum XML_Error > +static enum XML_Error FASTCALL > storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *start, > const char *end); > -static int > +static int FASTCALL > reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, > const char *start, const char *end); > -static int > +static int FASTCALL > reportComment(XML_Parser parser, const ENCODING *enc, const char *start, > const char *end); > -static void > +static void FASTCALL > reportDefault(XML_Parser parser, const ENCODING *enc, const char *start, > const char *end); > > -static const XML_Char *getContext(XML_Parser parser); > -static XML_Bool setContext(XML_Parser parser, const XML_Char *context); > -static void normalizePublicId(XML_Char *s); > -static void dtdInit(DTD *, XML_Parser parser); > +static const XML_Char * FASTCALL getContext(XML_Parser parser); > +static XML_Bool FASTCALL > +setContext(XML_Parser parser, const XML_Char *context); > +static void FASTCALL normalizePublicId(XML_Char *s); > +static void FASTCALL dtdInit(DTD *, XML_Parser parser); > > /* do not call if parentParser != NULL */ > -static void dtdReset(DTD *, XML_Parser parser); > -static void dtdDestroy(DTD *, XML_Parser parser); > +static void FASTCALL dtdReset(DTD *, XML_Parser parser); > +static void FASTCALL dtdDestroy(DTD *, XML_Parser parser); > > -static int dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser); > +static int FASTCALL dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser); > > -static int copyEntityTable(HASH_TABLE *, STRING_POOL *, const HASH_TABLE *, > - XML_Parser parser); > +static int FASTCALL copyEntityTable(HASH_TABLE *, STRING_POOL *, > + const HASH_TABLE *, XML_Parser parser); > > #ifdef XML_DTD > -static void dtdSwap(DTD *, DTD *); > +static void FASTCALL dtdSwap(DTD *, DTD *); > #endif /* XML_DTD */ > > -static NAMED *lookup(HASH_TABLE *table, KEY name, size_t createSize); > +static NAMED * FASTCALL > +lookup(HASH_TABLE *table, KEY name, size_t createSize); > > -static void hashTableInit(HASH_TABLE *, XML_Memory_Handling_Suite *ms); > +static void FASTCALL > +hashTableInit(HASH_TABLE *, XML_Memory_Handling_Suite *ms); > > -static void hashTableClear(HASH_TABLE *); > -static void hashTableDestroy(HASH_TABLE *); > -static void hashTableIterInit(HASH_TABLE_ITER *, const HASH_TABLE *); > -static NAMED *hashTableIterNext(HASH_TABLE_ITER *); > -static void poolInit(STRING_POOL *, XML_Memory_Handling_Suite *ms); > -static void poolClear(STRING_POOL *); > -static void poolDestroy(STRING_POOL *); > -static XML_Char *poolAppend(STRING_POOL *pool, const ENCODING *enc, > - const char *ptr, const char *end); > -static XML_Char *poolStoreString(STRING_POOL *pool, const ENCODING *enc, > - const char *ptr, const char *end); > +static void FASTCALL hashTableClear(HASH_TABLE *); > +static void FASTCALL hashTableDestroy(HASH_TABLE *); > +static void FASTCALL hashTableIterInit(HASH_TABLE_ITER *, const HASH_TABLE *); > +static NAMED * FASTCALL hashTableIterNext(HASH_TABLE_ITER *); > +static void FASTCALL poolInit(STRING_POOL *, XML_Memory_Handling_Suite *ms); > +static void FASTCALL poolClear(STRING_POOL *); > +static void FASTCALL poolDestroy(STRING_POOL *); > +static XML_Char * FASTCALL > +poolAppend(STRING_POOL *pool, const ENCODING *enc, > + const char *ptr, const char *end); > +static XML_Char * FASTCALL > +poolStoreString(STRING_POOL *pool, const ENCODING *enc, > + const char *ptr, const char *end); > > -static XML_Bool poolGrow(STRING_POOL *pool); > +static XML_Bool FASTCALL poolGrow(STRING_POOL *pool); > > -static int nextScaffoldPart(XML_Parser parser); > -static XML_Content *build_model(XML_Parser parser); > +static int FASTCALL nextScaffoldPart(XML_Parser parser); > +static XML_Content * FASTCALL build_model(XML_Parser parser); > > -static const XML_Char *poolCopyString(STRING_POOL *pool, const XML_Char *s); > -static const XML_Char *poolCopyStringN(STRING_POOL *pool, const XML_Char *s, > - int n); > -static const XML_Char *poolAppendString(STRING_POOL *pool, const XML_Char *s); > -static ELEMENT_TYPE * getElementType(XML_Parser Paraser, > - const ENCODING *enc, > - const char *ptr, > - const char *end); > +static const XML_Char * FASTCALL > +poolCopyString(STRING_POOL *pool, const XML_Char *s); > +static const XML_Char * FASTCALL > +poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n); > +static const XML_Char * FASTCALL > +poolAppendString(STRING_POOL *pool, const XML_Char *s); > +static ELEMENT_TYPE * FASTCALL > +getElementType(XML_Parser Paraser, const ENCODING *enc, > + const char *ptr, const char *end); > > -static void parserInit(XML_Parser parser, const XML_Char *encodingName); > +static void FASTCALL > +parserInit(XML_Parser parser, const XML_Char *encodingName); > > #define poolStart(pool) ((pool)->start) > #define poolEnd(pool) ((pool)->ptr) > @@ -719,7 +727,7 @@ > return parser; > } > > -static void > +static void FASTCALL > parserInit(XML_Parser parser, const XML_Char *encodingName) > { > processor = prologInitProcessor; > @@ -791,7 +799,7 @@ > } > > /* moves list of bindings to freeBindingList */ > -static void > +static void FASTCALL > moveToFreeBindingList(XML_Parser parser, BINDING *bindings) > { > while (bindings) { > @@ -966,7 +974,7 @@ > return parser; > } > > -static void > +static void FASTCALL > destroyBindings(BINDING *bindings, XML_Parser parser) > { > for (;;) { > @@ -1639,7 +1647,7 @@ > processed, and not yet closed, we need to store tag->rawName in a more > permanent location, since the parse buffer is about to be discarded. > */ > -static XML_Bool > +static XML_Bool FASTCALL > storeRawNames(XML_Parser parser) > { > TAG *tag = tagStack; > @@ -1674,7 +1682,7 @@ > return XML_TRUE; > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > contentProcessor(XML_Parser parser, > const char *start, > const char *end, > @@ -1689,7 +1697,7 @@ > return result; > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > externalEntityInitProcessor(XML_Parser parser, > const char *start, > const char *end, > @@ -1702,7 +1710,7 @@ > return externalEntityInitProcessor2(parser, start, end, endPtr); > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > externalEntityInitProcessor2(XML_Parser parser, > const char *start, > const char *end, > @@ -1742,7 +1750,7 @@ > return externalEntityInitProcessor3(parser, start, end, endPtr); > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > externalEntityInitProcessor3(XML_Parser parser, > const char *start, > const char *end, > @@ -1779,7 +1787,7 @@ > return externalEntityContentProcessor(parser, start, end, endPtr); > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > externalEntityContentProcessor(XML_Parser parser, > const char *start, > const char *end, > @@ -1794,7 +1802,7 @@ > return result; > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > doContent(XML_Parser parser, > int startTagLevel, > const ENCODING *enc, > @@ -2248,7 +2256,7 @@ > /* If tagNamePtr is non-null, build a real list of attributes, > otherwise just check the attributes for well-formedness. > */ > -static enum XML_Error > +static enum XML_Error FASTCALL > storeAtts(XML_Parser parser, const ENCODING *enc, > const char *attStr, TAG_NAME *tagNamePtr, > BINDING **bindingsPtr) > @@ -2502,7 +2510,7 @@ > return XML_ERROR_NONE; > } > > -static int > +static int FASTCALL > addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, > const XML_Char *uri, BINDING **bindingsPtr) > { > @@ -2557,7 +2565,7 @@ > /* The idea here is to avoid using stack for each CDATA section when > the whole file is parsed with one call. > */ > -static enum XML_Error > +static enum XML_Error FASTCALL > cdataSectionProcessor(XML_Parser parser, > const char *start, > const char *end, > @@ -2581,7 +2589,7 @@ > /* startPtr gets set to non-null is the section is closed, and to null if > the section is not yet closed. > */ > -static enum XML_Error > +static enum XML_Error FASTCALL > doCdataSection(XML_Parser parser, > const ENCODING *enc, > const char **startPtr, > @@ -2679,7 +2687,7 @@ > /* The idea here is to avoid using stack for each IGNORE section when > the whole file is parsed with one call. > */ > -static enum XML_Error > +static enum XML_Error FASTCALL > ignoreSectionProcessor(XML_Parser parser, > const char *start, > const char *end, > @@ -2697,7 +2705,7 @@ > /* startPtr gets set to non-null is the section is closed, and to null > if the section is not yet closed. > */ > -static enum XML_Error > +static enum XML_Error FASTCALL > doIgnoreSection(XML_Parser parser, > const ENCODING *enc, > const char **startPtr, > @@ -2753,7 +2761,7 @@ > > #endif /* XML_DTD */ > > -static enum XML_Error > +static enum XML_Error FASTCALL > initializeEncoding(XML_Parser parser) > { > const char *s; > @@ -2782,7 +2790,7 @@ > return handleUnknownEncoding(parser, protocolEncodingName); > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > processXmlDecl(XML_Parser parser, int isGeneralTextEntity, > const char *s, const char *next) > { > @@ -2867,7 +2875,7 @@ > return XML_ERROR_NONE; > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName) > { > if (unknownEncodingHandler) { > @@ -2906,7 +2914,7 @@ > return XML_ERROR_UNKNOWN_ENCODING; > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > prologInitProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -2921,7 +2929,7 @@ > > #ifdef XML_DTD > > -static enum XML_Error > +static enum XML_Error FASTCALL > externalParEntInitProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -2945,7 +2953,7 @@ > } > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > entityValueInitProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -2999,7 +3007,7 @@ > } > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > externalParEntProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -3040,7 +3048,7 @@ > return doProlog(parser, encoding, s, end, tok, next, nextPtr); > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > entityValueProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -3077,7 +3085,7 @@ > > #endif /* XML_DTD */ > > -static enum XML_Error > +static enum XML_Error FASTCALL > prologProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -3088,7 +3096,7 @@ > return doProlog(parser, encoding, s, end, tok, next, nextPtr); > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > doProlog(XML_Parser parser, > const ENCODING *enc, > const char *s, > @@ -4020,7 +4028,7 @@ > /* not reached */ > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > epilogProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -4082,7 +4090,7 @@ > > #ifdef XML_DTD > > -static enum XML_Error > +static enum XML_Error FASTCALL > processInternalParamEntity(XML_Parser parser, ENTITY *entity) > { > const char *s, *end, *next; > @@ -4106,7 +4114,7 @@ > > #endif /* XML_DTD */ > > -static enum XML_Error > +static enum XML_Error FASTCALL > errorProcessor(XML_Parser parser, > const char *s, > const char *end, > @@ -4115,7 +4123,7 @@ > return errorCode; > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > storeAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, > const char *ptr, const char *end, > STRING_POOL *pool) > @@ -4131,7 +4139,7 @@ > return XML_ERROR_NONE; > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > appendAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, > const char *ptr, const char *end, > STRING_POOL *pool) > @@ -4278,7 +4286,7 @@ > /* not reached */ > } > > -static enum XML_Error > +static enum XML_Error FASTCALL > storeEntityValue(XML_Parser parser, > const ENCODING *enc, > const char *entityTextPtr, > @@ -4443,7 +4451,7 @@ > return result; > } > > -static void > +static void FASTCALL > normalizeLines(XML_Char *s) > { > XML_Char *p; > @@ -4466,7 +4474,7 @@ > *p = XML_T('\0'); > } > > -static int > +static int FASTCALL > reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, > const char *start, const char *end) > { > @@ -4495,7 +4503,7 @@ > return 1; > } > > -static int > +static int FASTCALL > reportComment(XML_Parser parser, const ENCODING *enc, > const char *start, const char *end) > { > @@ -4517,7 +4525,7 @@ > return 1; > } > > -static void > +static void FASTCALL > reportDefault(XML_Parser parser, const ENCODING *enc, > const char *s, const char *end) > { > @@ -4545,7 +4553,7 @@ > } > > > -static int > +static int FASTCALL > defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, > XML_Bool isId, const XML_Char *value, XML_Parser parser) > { > @@ -4588,7 +4596,7 @@ > return 1; > } > > -static int > +static int FASTCALL > setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *elementType) > { > const XML_Char *name; > @@ -4617,7 +4625,7 @@ > return 1; > } > > -static ATTRIBUTE_ID * > +static ATTRIBUTE_ID * FASTCALL > getAttributeId(XML_Parser parser, const ENCODING *enc, > const char *start, const char *end) > { > @@ -4677,7 +4685,7 @@ > > #define CONTEXT_SEP XML_T('\f') > > -static const XML_Char * > +static const XML_Char * FASTCALL > getContext(XML_Parser parser) > { > HASH_TABLE_ITER iter; > @@ -4745,7 +4753,7 @@ > return tempPool.start; > } > > -static XML_Bool > +static XML_Bool FASTCALL > setContext(XML_Parser parser, const XML_Char *context) > { > const XML_Char *s = context; > @@ -4805,7 +4813,7 @@ > return XML_TRUE; > } > > -static void > +static void FASTCALL > normalizePublicId(XML_Char *publicId) > { > XML_Char *p = publicId; > @@ -4827,7 +4835,7 @@ > *p = XML_T('\0'); > } > > -static void > +static void FASTCALL > dtdInit(DTD *p, XML_Parser parser) > { > XML_Memory_Handling_Suite *ms = &parser->m_mem; > @@ -4861,7 +4869,7 @@ > > #ifdef XML_DTD > > -static void > +static void FASTCALL > dtdSwap(DTD *p1, DTD *p2) > { > DTD tem; > @@ -4872,7 +4880,7 @@ > > #endif /* XML_DTD */ > > -static void > +static void FASTCALL > dtdReset(DTD *p, XML_Parser parser) > { > HASH_TABLE_ITER iter; > @@ -4918,7 +4926,7 @@ > p->standalone = XML_FALSE; > } > > -static void > +static void FASTCALL > dtdDestroy(DTD *p, XML_Parser parser) > { > HASH_TABLE_ITER iter; > @@ -4952,7 +4960,7 @@ > /* Do a deep copy of the DTD. Return 0 for out of memory; non-zero otherwise. > The new DTD has already been initialized. > */ > -static int > +static int FASTCALL > dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser) > { > HASH_TABLE_ITER iter; > @@ -5082,7 +5090,7 @@ > return 1; > } /* End dtdCopy */ > > -static int > +static int FASTCALL > copyEntityTable(HASH_TABLE *newTable, > STRING_POOL *newPool, > const HASH_TABLE *oldTable, > @@ -5151,7 +5159,7 @@ > > #define INIT_SIZE 64 > > -static int > +static int FASTCALL > keyeq(KEY s1, KEY s2) > { > for (; *s1 == *s2; s1++, s2++) > @@ -5160,7 +5168,7 @@ > return 0; > } > > -static unsigned long > +static unsigned long FASTCALL > hash(KEY s) > { > unsigned long h = 0; > @@ -5169,7 +5177,7 @@ > return h; > } > > -static NAMED * > +static NAMED * FASTCALL > lookup(HASH_TABLE *table, KEY name, size_t createSize) > { > size_t i; > @@ -5233,7 +5241,7 @@ > return table->v[i]; > } > > -static void > +static void FASTCALL > hashTableClear(HASH_TABLE *table) > { > size_t i; > @@ -5248,7 +5256,7 @@ > table->used = 0; > } > > -static void > +static void FASTCALL > hashTableDestroy(HASH_TABLE *table) > { > size_t i; > @@ -5261,7 +5269,7 @@ > table->mem->free_fcn(table->v); > } > > -static void > +static void FASTCALL > hashTableInit(HASH_TABLE *p, XML_Memory_Handling_Suite *ms) > { > p->size = 0; > @@ -5271,14 +5279,14 @@ > p->mem = ms; > } > > -static void > +static void FASTCALL > hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table) > { > iter->p = table->v; > iter->end = iter->p + table->size; > } > > -static NAMED * > +static NAMED * FASTCALL > hashTableIterNext(HASH_TABLE_ITER *iter) > { > while (iter->p != iter->end) { > @@ -5289,7 +5297,7 @@ > return NULL; > } > > -static void > +static void FASTCALL > poolInit(STRING_POOL *pool, XML_Memory_Handling_Suite *ms) > { > pool->blocks = NULL; > @@ -5300,7 +5308,7 @@ > pool->mem = ms; > } > > -static void > +static void FASTCALL > poolClear(STRING_POOL *pool) > { > if (!pool->freeBlocks) > @@ -5320,7 +5328,7 @@ > pool->end = NULL; > } > > -static void > +static void FASTCALL > poolDestroy(STRING_POOL *pool) > { > BLOCK *p = pool->blocks; > @@ -5337,7 +5345,7 @@ > } > } > > -static XML_Char * > +static XML_Char * FASTCALL > poolAppend(STRING_POOL *pool, const ENCODING *enc, > const char *ptr, const char *end) > { > @@ -5353,7 +5361,7 @@ > return pool->start; > } > > -static const XML_Char * > +static const XML_Char * FASTCALL > poolCopyString(STRING_POOL *pool, const XML_Char *s) > { > do { > @@ -5365,7 +5373,7 @@ > return s; > } > > -static const XML_Char * > +static const XML_Char * FASTCALL > poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n) > { > if (!pool->ptr && !poolGrow(pool)) > @@ -5379,7 +5387,7 @@ > return s; > } > > -static const XML_Char * > +static const XML_Char * FASTCALL > poolAppendString(STRING_POOL *pool, const XML_Char *s) > { > while (*s) { > @@ -5390,7 +5398,7 @@ > return pool->start; > } > > -static XML_Char * > +static XML_Char * FASTCALL > poolStoreString(STRING_POOL *pool, const ENCODING *enc, > const char *ptr, const char *end) > { > @@ -5402,7 +5410,7 @@ > return pool->start; > } > > -static XML_Bool > +static XML_Bool FASTCALL > poolGrow(STRING_POOL *pool) > { > if (pool->freeBlocks) { > @@ -5464,7 +5472,7 @@ > return XML_TRUE; > } > > -static int > +static int FASTCALL > nextScaffoldPart(XML_Parser parser) > { > CONTENT_SCAFFOLD * me; > @@ -5510,7 +5518,7 @@ > return next; > } > > -static void > +static void FASTCALL > build_node(XML_Parser parser, > int src_node, > XML_Content *dest, > @@ -5547,7 +5555,7 @@ > } > } > > -static XML_Content * > +static XML_Content * FASTCALL > build_model (XML_Parser parser) > { > XML_Content *ret; > @@ -5567,7 +5575,7 @@ > return ret; > } > > -static ELEMENT_TYPE * > +static ELEMENT_TYPE * FASTCALL > getElementType(XML_Parser parser, > const ENCODING *enc, > const char *ptr, > > Index: xmlrole.c > =================================================================== > RCS file: /cvsroot/expat/expat/lib/xmlrole.c,v > retrieving revision 1.12 > retrieving revision 1.13 > diff -u -d -r1.12 -r1.13 > --- xmlrole.c 22 Aug 2002 14:52:44 -0000 1.12 > +++ xmlrole.c 5 Sep 2002 01:58:27 -0000 1.13 > @@ -10,6 +10,7 @@ > #include > #endif /* ndef COMPILED_FROM_DSP */ > > +#include "internal.h" > #include "xmlrole.h" > #include "ascii.h" > > @@ -84,11 +85,11 @@ > #define setTopLevel(state) ((state)->handler = internalSubset) > #endif /* not XML_DTD */ > > -typedef int PROLOG_HANDLER(PROLOG_STATE *state, > - int tok, > - const char *ptr, > - const char *end, > - const ENCODING *enc); > +typedef int FASTCALL PROLOG_HANDLER(PROLOG_STATE *state, > + int tok, > + const char *ptr, > + const char *end, > + const ENCODING *enc); > > static PROLOG_HANDLER > prolog0, prolog1, prolog2, > @@ -108,9 +109,9 @@ > declClose, > error; > > -static int common(PROLOG_STATE *state, int tok); > +static int FASTCALL common(PROLOG_STATE *state, int tok); > > -static int > +static int FASTCALL > prolog0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -147,7 +148,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > prolog1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -178,7 +179,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > prolog2(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -199,7 +200,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > doctype0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -217,7 +218,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > doctype1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -247,7 +248,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > doctype2(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -264,7 +265,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > doctype3(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -281,7 +282,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > doctype4(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -301,7 +302,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > doctype5(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -318,7 +319,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > internalSubset(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -373,7 +374,7 @@ > > #ifdef XML_DTD > > -static int > +static int FASTCALL > externalSubset0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -386,7 +387,7 @@ > return externalSubset1(state, tok, ptr, end, enc); > } > > -static int > +static int FASTCALL > externalSubset1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -418,7 +419,7 @@ > > #endif /* XML_DTD */ > > -static int > +static int FASTCALL > entity0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -438,7 +439,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -455,7 +456,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity2(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -483,7 +484,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity3(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -500,7 +501,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity4(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -517,7 +518,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity5(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -540,7 +541,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity6(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -558,7 +559,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity7(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -586,7 +587,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity8(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -603,7 +604,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity9(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -620,7 +621,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > entity10(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -637,7 +638,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > notation0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -654,7 +655,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > notation1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -678,7 +679,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > notation2(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -695,7 +696,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > notation3(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -713,7 +714,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > notation4(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -734,7 +735,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -752,7 +753,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -773,7 +774,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist2(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -814,7 +815,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist3(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -833,7 +834,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist4(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -853,7 +854,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist5(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -870,7 +871,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist6(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -887,7 +888,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist7(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -908,7 +909,7 @@ > } > > /* default value */ > -static int > +static int FASTCALL > attlist8(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -948,7 +949,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > attlist9(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -965,7 +966,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -983,7 +984,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1013,7 +1014,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element2(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1053,7 +1054,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element3(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1078,7 +1079,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element4(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1096,7 +1097,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element5(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1117,7 +1118,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element6(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1147,7 +1148,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > element7(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1197,7 +1198,7 @@ > > #ifdef XML_DTD > > -static int > +static int FASTCALL > condSect0(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1221,7 +1222,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > condSect1(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1239,7 +1240,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > condSect2(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1258,7 +1259,7 @@ > > #endif /* XML_DTD */ > > -static int > +static int FASTCALL > declClose(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1275,7 +1276,7 @@ > return common(state, tok); > } > > -static int > +static int FASTCALL > error(PROLOG_STATE *state, > int tok, > const char *ptr, > @@ -1285,7 +1286,7 @@ > return XML_ROLE_NONE; > } > > -static int > +static int FASTCALL > common(PROLOG_STATE *state, int tok) > { > #ifdef XML_DTD > > Index: xmlrole.h > =================================================================== > RCS file: /cvsroot/expat/expat/lib/xmlrole.h,v > retrieving revision 1.7 > retrieving revision 1.8 > diff -u -d -r1.7 -r1.8 > --- xmlrole.h 22 Aug 2002 14:52:44 -0000 1.7 > +++ xmlrole.h 5 Sep 2002 01:58:27 -0000 1.8 > @@ -85,11 +85,11 @@ > }; > > typedef struct prolog_state { > - int (*handler)(struct prolog_state *state, > - int tok, > - const char *ptr, > - const char *end, > - const ENCODING *enc); > + int FASTCALL (*handler)(struct prolog_state *state, > + int tok, > + const char *ptr, > + const char *end, > + const ENCODING *enc); > unsigned level; > int role_none; > #ifdef XML_DTD > > > > _______________________________________________ > Expat-checkins mailing list > Expat-checkins@libexpat.org > http://mail.libexpat.org/mailman-21/listinfo/expat-checkins Get to know us http://www.thestar.com - Canada's largest daily newspaper online http://www.toronto.com - All you need to know about T.O. http://www.workopolis.com - Canada's biggest job site http://www.torontostartv.com - Webcasting & Production http://www.newinhomes.com - Ontario's Largest New Home & Condo Website http://www.waymoresports.com - Canada's most comprehensive sports site http://www.tmgtv.ca - Torstar Media Group Television From fdrake@acm.org Thu Sep 5 16:11:58 2002 From: fdrake@acm.org (Fred L. Drake, Jr.) Date: Thu, 5 Sep 2002 11:11:58 -0400 Subject: [Expat-checkins] expat/lib xmlparse.c,1.84,1.85 xmlrole.c,1.12,1.13 xmlrole.h,1.7,1.8 In-Reply-To: <003f01c254eb$ef3634b0$9e539696@citkwaclaww2k> References: <003f01c254eb$ef3634b0$9e539696@citkwaclaww2k> Message-ID: <15735.29758.697666.902059@grendel.zope.com> Karl Waclawek writes: > You did lots of work yesterday/this morning!!! One of my kids had a friend sleep over, so I couldn't sleep safely anyway. ;-) > In xmlrole.h I had to change the PROLOG_STATE declaration like this, > to make it compile under VC++: ... > Would that work under gcc too? Yes, that works, and I think it's easier to understand as well. Go ahead and check it in. > Also, are you still going to add FASTCALL to xmltok.h/c, > xmltok_impl.c and xmltok_ns.c? I played with that a little bit last night, but lost my patience at about that time. So I didn't get back to it. I can spend a little time on that today. I haven't actually spent any time with the benchmarks yet; have you? I'll try to get to that as well; it would be nice to know if we get any actual benefits. -Fred -- Fred L. Drake, Jr. PythonLabs at Zope Corporation From kwaclaw@users.sourceforge.net Thu Sep 5 16:25:09 2002 From: kwaclaw@users.sourceforge.net (Karl Waclawek) Date: Thu, 05 Sep 2002 08:25:09 -0700 Subject: [Expat-checkins] expat/lib xmlrole.h,1.8,1.9 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv12806 Modified Files: xmlrole.h Log Message: Make FASTCALL function pointer declaration compile under VC++. Index: xmlrole.h =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlrole.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- xmlrole.h 5 Sep 2002 01:58:27 -0000 1.8 +++ xmlrole.h 5 Sep 2002 15:25:06 -0000 1.9 @@ -85,7 +85,7 @@ }; typedef struct prolog_state { - int FASTCALL (*handler)(struct prolog_state *state, + int (FASTCALL *handler) (struct prolog_state *state, int tok, const char *ptr, const char *end, From kwaclaw@users.sourceforge.net Thu Sep 5 19:21:09 2002 From: kwaclaw@users.sourceforge.net (Karl Waclawek) Date: Thu, 05 Sep 2002 11:21:09 -0700 Subject: [Expat-checkins] expat/lib xmlparse.c,1.85,1.86 xmltok.c,1.23,1.24 xmltok.h,1.5,1.6 xmltok_impl.c,1.7,1.8 xmltok_ns.c,1.4,1.5 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv14783 Modified Files: xmlparse.c xmltok.c xmltok.h xmltok_impl.c xmltok_ns.c Log Message: Fred and I added FASTCALL directives to xmltok.c and related files. Index: xmlparse.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v retrieving revision 1.85 retrieving revision 1.86 diff -u -d -r1.85 -r1.86 --- xmlparse.c 5 Sep 2002 01:58:27 -0000 1.85 +++ xmlparse.c 5 Sep 2002 18:21:00 -0000 1.86 @@ -94,8 +94,8 @@ #endif /* HAVE_BCOPY */ #endif /* HAVE_MEMMOVE */ -#include "xmltok.h" #include "internal.h" +#include "xmltok.h" #include "xmlrole.h" typedef const XML_Char *KEY; @@ -899,7 +899,7 @@ int oldParamEntityParsing = paramEntityParsing; int oldInEntityValue = prologState.inEntityValue; #endif - int oldns_triplets = ns_triplets; + XML_Bool oldns_triplets = ns_triplets; /* Note that the magical uses of the pre-processor to make field access look more like C++ require that `parser' be overwritten Index: xmltok.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmltok.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- xmltok.c 27 Aug 2002 00:28:48 -0000 1.23 +++ xmltok.c 5 Sep 2002 18:21:01 -0000 1.24 @@ -10,6 +10,7 @@ #include #endif /* ndef COMPILED_FROM_DSP */ +#include "internal.h" #include "xmltok.h" #include "nametab.h" @@ -111,19 +112,19 @@ || \ ((*p) == 0xF4 ? (p)[1] > 0x8F : ((p)[1] & 0xC0) == 0xC0))) -static int +static int FASTCALL isNever(const ENCODING *enc, const char *p) { return 0; } -static int +static int FASTCALL utf8_isName2(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING2(namePages, (const unsigned char *)p); } -static int +static int FASTCALL utf8_isName3(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING3(namePages, (const unsigned char *)p); @@ -131,13 +132,13 @@ #define utf8_isName4 isNever -static int +static int FASTCALL utf8_isNmstrt2(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING2(nmstrtPages, (const unsigned char *)p); } -static int +static int FASTCALL utf8_isNmstrt3(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING3(nmstrtPages, (const unsigned char *)p); @@ -145,19 +146,19 @@ #define utf8_isNmstrt4 isNever -static int +static int FASTCALL utf8_isInvalid2(const ENCODING *enc, const char *p) { return UTF8_INVALID2((const unsigned char *)p); } -static int +static int FASTCALL utf8_isInvalid3(const ENCODING *enc, const char *p) { return UTF8_INVALID3((const unsigned char *)p); } -static int +static int FASTCALL utf8_isInvalid4(const ENCODING *enc, const char *p) { return UTF8_INVALID4((const unsigned char *)p); @@ -167,21 +168,21 @@ ENCODING enc; unsigned char type[256]; #ifdef XML_MIN_SIZE - int (*byteType)(const ENCODING *, const char *); - int (*isNameMin)(const ENCODING *, const char *); - int (*isNmstrtMin)(const ENCODING *, const char *); - int (*byteToAscii)(const ENCODING *, const char *); - int (*charMatches)(const ENCODING *, const char *, int); + int (FASTCALL *byteType)(const ENCODING *, const char *); + int (FASTCALL *isNameMin)(const ENCODING *, const char *); + int (FASTCALL *isNmstrtMin)(const ENCODING *, const char *); + int (FASTCALL *byteToAscii)(const ENCODING *, const char *); + int (FASTCALL *charMatches)(const ENCODING *, const char *, int); #endif /* XML_MIN_SIZE */ - int (*isName2)(const ENCODING *, const char *); - int (*isName3)(const ENCODING *, const char *); - int (*isName4)(const ENCODING *, const char *); - int (*isNmstrt2)(const ENCODING *, const char *); - int (*isNmstrt3)(const ENCODING *, const char *); - int (*isNmstrt4)(const ENCODING *, const char *); - int (*isInvalid2)(const ENCODING *, const char *); - int (*isInvalid3)(const ENCODING *, const char *); - int (*isInvalid4)(const ENCODING *, const char *); + int (FASTCALL *isName2)(const ENCODING *, const char *); + int (FASTCALL *isName3)(const ENCODING *, const char *); + int (FASTCALL *isName4)(const ENCODING *, const char *); + int (FASTCALL *isNmstrt2)(const ENCODING *, const char *); + int (FASTCALL *isNmstrt3)(const ENCODING *, const char *); + int (FASTCALL *isNmstrt4)(const ENCODING *, const char *); + int (FASTCALL *isInvalid2)(const ENCODING *, const char *); + int (FASTCALL *isInvalid3)(const ENCODING *, const char *); + int (FASTCALL *isInvalid4)(const ENCODING *, const char *); }; #define AS_NORMAL_ENCODING(enc) ((const struct normal_encoding *) (enc)) @@ -212,7 +213,7 @@ E ## isInvalid3, \ E ## isInvalid4 -static int checkCharRefNumber(int); +static int FASTCALL checkCharRefNumber(int); #include "xmltok_impl.h" #include "ascii.h" @@ -233,7 +234,7 @@ (((struct normal_encoding *)(enc))->type[(unsigned char)*(p)]) #ifdef XML_MIN_SIZE -static int +static int FASTCALL sb_byteType(const ENCODING *enc, const char *p) { return SB_BYTE_TYPE(enc, p); @@ -247,7 +248,7 @@ #ifdef XML_MIN_SIZE #define BYTE_TO_ASCII(enc, p) \ (AS_NORMAL_ENCODING(enc)->byteToAscii(enc, p)) -static int +static int FASTCALL sb_byteToAscii(const ENCODING *enc, const char *p) { return *p; @@ -276,7 +277,7 @@ #ifdef XML_MIN_SIZE #define CHAR_MATCHES(enc, p, c) \ (AS_NORMAL_ENCODING(enc)->charMatches(enc, p, c)) -static int +static int FASTCALL sb_charMatches(const ENCODING *enc, const char *p, int c) { return *p == c; @@ -306,7 +307,7 @@ UTF8_cval4 = 0xf0 }; -static void +static void FASTCALL utf8_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -325,7 +326,7 @@ *toP = to; } -static void +static void FASTCALL utf8_toUtf16(const ENCODING *enc, const char **fromP, const char *fromLim, unsigned short **toP, const unsigned short *toLim) @@ -413,7 +414,7 @@ STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_) }; -static void +static void FASTCALL latin1_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -438,7 +439,7 @@ } } -static void +static void FASTCALL latin1_toUtf16(const ENCODING *enc, const char **fromP, const char *fromLim, unsigned short **toP, const unsigned short *toLim) @@ -471,7 +472,7 @@ STANDARD_VTABLE(sb_) }; -static void +static void FASTCALL ascii_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -504,7 +505,7 @@ STANDARD_VTABLE(sb_) }; -static int +static int FASTCALL unicode_byte_type(char hi, char lo) { switch ((unsigned char)hi) { @@ -524,7 +525,7 @@ } #define DEFINE_UTF16_TO_UTF8(E) \ -static void \ +static void FASTCALL \ E ## toUtf8(const ENCODING *enc, \ const char **fromP, const char *fromLim, \ char **toP, const char *toLim) \ @@ -587,7 +588,7 @@ } #define DEFINE_UTF16_TO_UTF16(E) \ -static void \ +static void FASTCALL \ E ## toUtf16(const ENCODING *enc, \ const char **fromP, const char *fromLim, \ unsigned short **toP, const unsigned short *toLim) \ @@ -637,31 +638,31 @@ #ifdef XML_MIN_SIZE -static int +static int FASTCALL little2_byteType(const ENCODING *enc, const char *p) { return LITTLE2_BYTE_TYPE(enc, p); } -static int +static int FASTCALL little2_byteToAscii(const ENCODING *enc, const char *p) { return LITTLE2_BYTE_TO_ASCII(enc, p); } -static int +static int FASTCALL little2_charMatches(const ENCODING *enc, const char *p, int c) { return LITTLE2_CHAR_MATCHES(enc, p, c); } -static int +static int FASTCALL little2_isNameMin(const ENCODING *enc, const char *p) { return LITTLE2_IS_NAME_CHAR_MINBPC(enc, p); } -static int +static int FASTCALL little2_isNmstrtMin(const ENCODING *enc, const char *p) { return LITTLE2_IS_NMSTRT_CHAR_MINBPC(enc, p); @@ -776,31 +777,31 @@ #ifdef XML_MIN_SIZE -static int +static int FASTCALL big2_byteType(const ENCODING *enc, const char *p) { return BIG2_BYTE_TYPE(enc, p); } -static int +static int FASTCALL big2_byteToAscii(const ENCODING *enc, const char *p) { return BIG2_BYTE_TO_ASCII(enc, p); } -static int +static int FASTCALL big2_charMatches(const ENCODING *enc, const char *p, int c) { return BIG2_CHAR_MATCHES(enc, p, c); } -static int +static int FASTCALL big2_isNameMin(const ENCODING *enc, const char *p) { return BIG2_IS_NAME_CHAR_MINBPC(enc, p); } -static int +static int FASTCALL big2_isNmstrtMin(const ENCODING *enc, const char *p) { return BIG2_IS_NMSTRT_CHAR_MINBPC(enc, p); @@ -903,7 +904,7 @@ #undef PREFIX -static int +static int FASTCALL streqci(const char *s1, const char *s2) { for (;;) { @@ -921,14 +922,14 @@ return 1; } -static void +static void FASTCALL initUpdatePosition(const ENCODING *enc, const char *ptr, const char *end, POSITION *pos) { normal_updatePosition(&utf8_encoding.enc, ptr, end, pos); } -static int +static int FASTCALL toAscii(const ENCODING *enc, const char *ptr, const char *end) { char buf[1]; @@ -940,7 +941,7 @@ return buf[0]; } -static int +static int FASTCALL isSpace(int c) { switch (c) { @@ -956,7 +957,7 @@ /* Return 1 if there's just optional white space or there's an S followed by name=val. */ -static int +static int FASTCALL parsePseudoAttribute(const ENCODING *enc, const char *ptr, const char *end, @@ -1154,7 +1155,7 @@ return 1; } -static int +static int FASTCALL checkCharRefNumber(int result) { switch (result >> 8) { @@ -1244,7 +1245,7 @@ return sizeof(struct unknown_encoding); } -static int +static int FASTCALL unknown_isName(const ENCODING *enc, const char *p) { const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); @@ -1254,7 +1255,7 @@ return UCS2_GET_NAMING(namePages, c >> 8, c & 0xFF); } -static int +static int FASTCALL unknown_isNmstrt(const ENCODING *enc, const char *p) { const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); @@ -1264,7 +1265,7 @@ return UCS2_GET_NAMING(nmstrtPages, c >> 8, c & 0xFF); } -static int +static int FASTCALL unknown_isInvalid(const ENCODING *enc, const char *p) { const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); @@ -1272,7 +1273,7 @@ return (c & ~0xFFFF) || checkCharRefNumber(c) < 0; } -static void +static void FASTCALL unknown_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -1306,7 +1307,7 @@ } } -static void +static void FASTCALL unknown_toUtf16(const ENCODING *enc, const char **fromP, const char *fromLim, unsigned short **toP, const unsigned short *toLim) @@ -1442,7 +1443,7 @@ '\0' }; -static int +static int FASTCALL getEncodingIndex(const char *name) { static const char *encodingNames[] = { @@ -1477,7 +1478,7 @@ */ -static int +static int FASTCALL initScan(const ENCODING **encodingTable, const INIT_ENCODING *enc, int state, Index: xmltok.h =================================================================== RCS file: /cvsroot/expat/expat/lib/xmltok.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- xmltok.h 1 Jul 2002 16:46:08 -0000 1.5 +++ xmltok.h 5 Sep 2002 18:21:01 -0000 1.6 @@ -125,41 +125,49 @@ struct encoding; typedef struct encoding ENCODING; -struct encoding { - int (*scanners[XML_N_STATES])(const ENCODING *, +typedef int (FASTCALL *SCANNER)(const ENCODING *, const char *, const char *, const char **); - int (*literalScanners[XML_N_LITERAL_TYPES])(const ENCODING *, - const char *, - const char *, - const char **); - int (*sameName)(const ENCODING *, - const char *, const char *); - int (*nameMatchesAscii)(const ENCODING *, - const char *, const char *, const char *); - int (*nameLength)(const ENCODING *, const char *); - const char *(*skipS)(const ENCODING *, const char *); - int (*getAtts)(const ENCODING *enc, const char *ptr, - int attsMax, ATTRIBUTE *atts); - int (*charRefNumber)(const ENCODING *enc, const char *ptr); - int (*predefinedEntityName)(const ENCODING *, const char *, const char *); - void (*updatePosition)(const ENCODING *, - const char *ptr, - const char *end, - POSITION *); - int (*isPublicId)(const ENCODING *enc, const char *ptr, const char *end, - const char **badPtr); - void (*utf8Convert)(const ENCODING *enc, - const char **fromP, - const char *fromLim, - char **toP, - const char *toLim); - void (*utf16Convert)(const ENCODING *enc, - const char **fromP, - const char *fromLim, - unsigned short **toP, - const unsigned short *toLim); + +struct encoding { + SCANNER scanners[XML_N_STATES]; + SCANNER literalScanners[XML_N_LITERAL_TYPES]; + int (FASTCALL *sameName)(const ENCODING *, + const char *, + const char *); + int (FASTCALL *nameMatchesAscii)(const ENCODING *, + const char *, + const char *, + const char *); + int (FASTCALL *nameLength)(const ENCODING *, const char *); + const char *(FASTCALL *skipS)(const ENCODING *, const char *); + int (FASTCALL *getAtts)(const ENCODING *enc, + const char *ptr, + int attsMax, + ATTRIBUTE *atts); + int (FASTCALL *charRefNumber)(const ENCODING *enc, const char *ptr); + int (FASTCALL *predefinedEntityName)(const ENCODING *, + const char *, + const char *); + void (FASTCALL *updatePosition)(const ENCODING *, + const char *ptr, + const char *end, + POSITION *); + int (FASTCALL *isPublicId)(const ENCODING *enc, + const char *ptr, + const char *end, + const char **badPtr); + void (FASTCALL *utf8Convert)(const ENCODING *enc, + const char **fromP, + const char *fromLim, + char **toP, + const char *toLim); + void (FASTCALL *utf16Convert)(const ENCODING *enc, + const char **fromP, + const char *fromLim, + unsigned short **toP, + const unsigned short *toLim); int minBytesPerChar; char isUtf8; char isUtf16; Index: xmltok_impl.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmltok_impl.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- xmltok_impl.c 31 Aug 2002 02:27:20 -0000 1.7 +++ xmltok_impl.c 5 Sep 2002 18:21:01 -0000 1.8 @@ -86,7 +86,7 @@ /* ptr points to character following " Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv17031 Modified Files: roadmap.html Log Message: Add a note to the prolog directing discussion to the expat-discuss list. Index: roadmap.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/roadmap.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- roadmap.html 5 Sep 2002 03:08:01 -0000 1.5 +++ roadmap.html 5 Sep 2002 03:13:05 -0000 1.6 @@ -26,6 +26,10 @@ and members of the XML community who have decided against using Expat for technical reasons directly related to Expat.

    +

    Discussion of this document should be directed to the expat-discuss +mailing list.

    +

    Goals

    From fdrake@users.sourceforge.net Thu Sep 5 21:27:49 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Thu, 05 Sep 2002 13:27:49 -0700 Subject: [Expat-checkins] htdocs/dev relreqs-1-95-5.html,1.2,1.3 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv29289 Modified Files: relreqs-1-95-5.html Log Message: Refer to the roadmap document until I can update this page; hopefully tonight. Index: relreqs-1-95-5.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/relreqs-1-95-5.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- relreqs-1-95-5.html 29 Aug 2002 18:07:03 -0000 1.2 +++ relreqs-1-95-5.html 5 Sep 2002 20:27:46 -0000 1.3 @@ -15,6 +15,10 @@ +

    This document is partially obsolete! Please see +the roadmap document until this document is +updated.

    +

    The following are the currently-planned release requirements for Expat 1.95.5. Items will not be removed from this page; if a requirement is dropped or delayed, it will be moved to the appropriate From kwaclaw@users.sourceforge.net Thu Sep 5 21:27:53 2002 From: kwaclaw@users.sourceforge.net (Karl Waclawek) Date: Thu, 05 Sep 2002 13:27:53 -0700 Subject: [Expat-checkins] htdocs index.html,1.29,1.30 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv29327 Modified Files: index.html Log Message: Updated link. Index: index.html =================================================================== RCS file: /cvsroot/expat/htdocs/index.html,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- index.html 5 Sep 2002 03:14:45 -0000 1.29 +++ index.html 5 Sep 2002 20:27:51 -0000 1.30 @@ -145,9 +145,9 @@ providing object-oriented wrappers for Expat. The wrappers use some MFC-biased naming, but look interesting.

  • - SAX in C++ -- a SAX interface for C++ programmers, with - implementations based on several parsers, including Expat.
  • + Arabica -- an XML Parser toolkit for C++ programmers, with + SAX2 implementations based on several parsers, including Expat.
  • C++ interface to Expat (old; not updated since Expat 1.2)
  • From fdrake@users.sourceforge.net Thu Sep 5 21:18:47 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Thu, 05 Sep 2002 13:18:47 -0700 Subject: [Expat-checkins] htdocs/dev roadmap.html,1.6,1.7 Message-ID: Update of /cvsroot/expat/htdocs/dev In directory usw-pr-cvs1:/tmp/cvs-serv25808 Modified Files: roadmap.html Log Message: Make it clear that "Namespaces in XML 1.1" is included when we talk about XML 1.1. Index: roadmap.html =================================================================== RCS file: /cvsroot/expat/htdocs/dev/roadmap.html,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- roadmap.html 5 Sep 2002 03:13:05 -0000 1.6 +++ roadmap.html 5 Sep 2002 20:18:45 -0000 1.7 @@ -17,7 +17,7 @@

    PROPOSAL

    -

    Updated 4 September 2002.

    +

    Updated 5 September 2002.

    This is a proposed roadmap for the further development of Expat. The primary purpose for making this proposal is to determine whether our @@ -207,7 +207,9 @@ needs.

    -
    XML 1.1, if it ever happens
    +
    XML 1.1 (including Namespaces in XML + 1.1), if it ever happens

    Well, we're hoping, but it's not time to code for this yet.

    From fdrake@users.sourceforge.net Thu Sep 5 22:02:20 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Thu, 05 Sep 2002 14:02:20 -0700 Subject: [Expat-checkins] expat MANIFEST,1.15,1.16 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv10338 Modified Files: MANIFEST Log Message: Add the new, internal header file. Index: MANIFEST =================================================================== RCS file: /cvsroot/expat/expat/MANIFEST,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- MANIFEST 5 Jun 2002 04:13:10 -0000 1.15 +++ MANIFEST 5 Sep 2002 21:02:17 -0000 1.16 @@ -25,6 +25,7 @@ lib/asciitab.h lib/expat.h lib/iasciitab.h +lib/internal.h lib/latin1tab.h lib/nametab.h lib/utf8tab.h From fdrake@users.sourceforge.net Thu Sep 5 22:25:44 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Thu, 05 Sep 2002 14:25:44 -0700 Subject: [Expat-checkins] expat MANIFEST,1.16,1.17 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv19800 Modified Files: MANIFEST Log Message: Let's make at least one distribution try to be complete. Index: MANIFEST =================================================================== RCS file: /cvsroot/expat/expat/MANIFEST,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- MANIFEST 5 Sep 2002 21:02:17 -0000 1.16 +++ MANIFEST 5 Sep 2002 21:25:41 -0000 1.17 @@ -6,6 +6,25 @@ configure configure.in expat_config.h.in +bcb5/ExpatGroup.bpg +bcb5/ReadMe.txt +bcb5/elements.bpf +bcb5/elements.bpr +bcb5/elements.mak +bcb5/libexpat.bpf +bcb5/libexpat.bpr +bcb5/libexpat.mak +bcb5/libexpatw.bpf +bcb5/libexpatw.bpr +bcb5/libexpatw.mak +bcb5/makefile.mak +bcb5/outline.bpf +bcb5/outline.bpr +bcb5/outline.mak +bcb5/setup.bat +bcb5/xmlwf.bpf +bcb5/xmlwf.bpr +bcb5/xmlwf.mak conftools/PrintPath conftools/ac_c_bigendian_cross.m4 conftools/config.guess @@ -17,6 +36,7 @@ conftools/mkinstalldirs doc/reference.html doc/style.css +doc/valid-xhtml0.png doc/xmlwf.1 doc/xmlwf.sgml examples/elements.c @@ -46,6 +66,8 @@ vms/descrip.mms vms/expat_config.h vms/README.vms +win32/expat.iss +win32/MANIFEST.txt xmlwf/codepage.c xmlwf/codepage.h xmlwf/ct.c From fdrake@users.sourceforge.net Thu Sep 5 22:29:14 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Thu, 05 Sep 2002 14:29:14 -0700 Subject: [Expat-checkins] expat MANIFEST,1.17,1.18 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv21103 Modified Files: MANIFEST Log Message: Stupid typo. Index: MANIFEST =================================================================== RCS file: /cvsroot/expat/expat/MANIFEST,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- MANIFEST 5 Sep 2002 21:25:41 -0000 1.17 +++ MANIFEST 5 Sep 2002 21:29:12 -0000 1.18 @@ -36,7 +36,7 @@ conftools/mkinstalldirs doc/reference.html doc/style.css -doc/valid-xhtml0.png +doc/valid-xhtml10.png doc/xmlwf.1 doc/xmlwf.sgml examples/elements.c From fdrake@users.sourceforge.net Fri Sep 6 21:30:47 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 06 Sep 2002 13:30:47 -0700 Subject: [Expat-checkins] expat/win32 expat.iss,1.12,1.13 Message-ID: Update of /cvsroot/expat/expat/win32 In directory usw-pr-cvs1:/tmp/cvs-serv7870 Modified Files: expat.iss Log Message: Install the static libs and the PNG icon for the documentaiton. Index: expat.iss =================================================================== RCS file: /cvsroot/expat/expat/win32/expat.iss,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- expat.iss 12 Jul 2002 02:51:56 -0000 1.12 +++ expat.iss 6 Sep 2002 20:30:45 -0000 1.13 @@ -7,15 +7,15 @@ [Setup] AppName=expat AppId=expat -AppVersion=1.95.4 -AppVerName=expat 1.95.4 +AppVersion=1.95.5 +AppVerName=expat 1.95.5 AppCopyright=Copyright © 1998-2002 Thai Open Source Software Center, Clark Cooper, and the Expat maintainers -DefaultDirName={sd}\Expat-1.95.4 +DefaultDirName={sd}\Expat-1.95.5 AppPublisher=The Expat Developers AppPublisherURL=http://www.libexpat.org/ AppSupportURL=http://www.libexpat.org/ AppUpdatesURL=http://www.libexpat.org/ -UninstallDisplayName=Expat XML Parser (version 1.95.4) +UninstallDisplayName=Expat XML Parser (version 1.95.5) UninstallFilesDir={app}\Uninstall Compression=bzip/9 @@ -27,30 +27,33 @@ DisableReadyPage=yes [Files] -CopyMode: alwaysoverwrite; Source: xmlwf\Release\*.exe; DestDir: "{app}" -CopyMode: alwaysoverwrite; Source: win32\MANIFEST.txt; DestDir: "{app}" -CopyMode: alwaysoverwrite; Source: Changes; DestDir: "{app}"; DestName: Changes.txt -CopyMode: alwaysoverwrite; Source: COPYING; DestDir: "{app}"; DestName: COPYING.txt -CopyMode: alwaysoverwrite; Source: README; DestDir: "{app}"; DestName: README.txt -CopyMode: alwaysoverwrite; Source: doc\*.html; DestDir: "{app}\Doc" -CopyMode: alwaysoverwrite; Source: doc\*.css; DestDir: "{app}\Doc" -CopyMode: alwaysoverwrite; Source: lib\Release\*.dll; DestDir: "{app}\Libs" -CopyMode: alwaysoverwrite; Source: lib\Release\*.lib; DestDir: "{app}\Libs" -CopyMode: alwaysoverwrite; Source: lib\Release-w\*.dll; DestDir: "{app}\Libs" -CopyMode: alwaysoverwrite; Source: lib\Release-w\*.lib; DestDir: "{app}\Libs" -CopyMode: alwaysoverwrite; Source: expat.dsw; DestDir: "{app}\Source" -CopyMode: alwaysoverwrite; Source: bcb5\*.*; DestDir: "{app}\Source\bcb5" -CopyMode: alwaysoverwrite; Source: lib\*.c; DestDir: "{app}\Source\lib" -CopyMode: alwaysoverwrite; Source: lib\*.h; DestDir: "{app}\Source\lib" -CopyMode: alwaysoverwrite; Source: lib\*.dsp; DestDir: "{app}\Source\lib" -CopyMode: alwaysoverwrite; Source: examples\*.c; DestDir: "{app}\Source\examples" -CopyMode: alwaysoverwrite; Source: examples\*.dsp; DestDir: "{app}\Source\examples" -CopyMode: alwaysoverwrite; Source: tests\*.c; DestDir: "{app}\Source\tests" -CopyMode: alwaysoverwrite; Source: tests\*.h; DestDir: "{app}\Source\tests" -CopyMode: alwaysoverwrite; Source: tests\README.txt; DestDir: "{app}\Source\tests" -CopyMode: alwaysoverwrite; Source: xmlwf\*.c*; DestDir: "{app}\Source\xmlwf" -CopyMode: alwaysoverwrite; Source: xmlwf\*.h; DestDir: "{app}\Source\xmlwf" -CopyMode: alwaysoverwrite; Source: xmlwf\*.dsp; DestDir: "{app}\Source\xmlwf" +CopyMode: alwaysoverwrite; Source: xmlwf\Release\*.exe; DestDir: "{app}" +CopyMode: alwaysoverwrite; Source: win32\MANIFEST.txt; DestDir: "{app}" +CopyMode: alwaysoverwrite; Source: Changes; DestDir: "{app}"; DestName: Changes.txt +CopyMode: alwaysoverwrite; Source: COPYING; DestDir: "{app}"; DestName: COPYING.txt +CopyMode: alwaysoverwrite; Source: README; DestDir: "{app}"; DestName: README.txt +CopyMode: alwaysoverwrite; Source: doc\*.html; DestDir: "{app}\Doc" +CopyMode: alwaysoverwrite; Source: doc\*.css; DestDir: "{app}\Doc" +CopyMode: alwaysoverwrite; Source: doc\*.png; DestDir: "{app}\Doc" +CopyMode: alwaysoverwrite; Source: lib\Release\*.dll; DestDir: "{app}\Libs" +CopyMode: alwaysoverwrite; Source: lib\Release\*.lib; DestDir: "{app}\Libs" +CopyMode: alwaysoverwrite; Source: lib\Release-w\*.dll; DestDir: "{app}\Libs" +CopyMode: alwaysoverwrite; Source: lib\Release-w\*.lib; DestDir: "{app}\Libs" +CopyMode: alwaysoverwrite; Source: lib\Release_static\*.lib; DestDir: "{app}\StaticLibs" +CopyMode: alwaysoverwrite; Source: lib\Release-w_static\*.lib; DestDir: "{app}\StaticLibs" +CopyMode: alwaysoverwrite; Source: expat.dsw; DestDir: "{app}\Source" +CopyMode: alwaysoverwrite; Source: bcb5\*.*; DestDir: "{app}\Source\bcb5" +CopyMode: alwaysoverwrite; Source: lib\*.c; DestDir: "{app}\Source\lib" +CopyMode: alwaysoverwrite; Source: lib\*.h; DestDir: "{app}\Source\lib" +CopyMode: alwaysoverwrite; Source: lib\*.dsp; DestDir: "{app}\Source\lib" +CopyMode: alwaysoverwrite; Source: examples\*.c; DestDir: "{app}\Source\examples" +CopyMode: alwaysoverwrite; Source: examples\*.dsp; DestDir: "{app}\Source\examples" +CopyMode: alwaysoverwrite; Source: tests\*.c; DestDir: "{app}\Source\tests" +CopyMode: alwaysoverwrite; Source: tests\*.h; DestDir: "{app}\Source\tests" +CopyMode: alwaysoverwrite; Source: tests\README.txt; DestDir: "{app}\Source\tests" +CopyMode: alwaysoverwrite; Source: xmlwf\*.c*; DestDir: "{app}\Source\xmlwf" +CopyMode: alwaysoverwrite; Source: xmlwf\*.h; DestDir: "{app}\Source\xmlwf" +CopyMode: alwaysoverwrite; Source: xmlwf\*.dsp; DestDir: "{app}\Source\xmlwf" [Messages] WelcomeLabel1=Welcome to the Expat XML Parser Setup Wizard From fdrake@users.sourceforge.net Fri Sep 6 21:32:12 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 06 Sep 2002 13:32:12 -0700 Subject: [Expat-checkins] expat/win32 MANIFEST.txt,1.3,1.4 Message-ID: Update of /cvsroot/expat/expat/win32 In directory usw-pr-cvs1:/tmp/cvs-serv8358 Modified Files: MANIFEST.txt Log Message: Add the static libraries to the manifest of installed files for Windows. Index: MANIFEST.txt =================================================================== RCS file: /cvsroot/expat/expat/win32/MANIFEST.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- MANIFEST.txt 12 Jul 2002 05:06:17 -0000 1.3 +++ MANIFEST.txt 6 Sep 2002 20:32:10 -0000 1.4 @@ -13,7 +13,9 @@ \Doc\ API documentation for developers. - \Libs\ Pre-compiled libraries for developers. + \Libs\ Pre-compiled dynamic libraries for developers. + + \StaticLibs\ Pre-compiled static libraries for developers. \Source\ Source code, which may interest some developers, including a workspace for Microsft Visual C++. From fdrake@users.sourceforge.net Fri Sep 6 22:29:48 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 06 Sep 2002 14:29:48 -0700 Subject: [Expat-checkins] expat/lib internal.h,1.1,1.2 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv29336 Modified Files: internal.h Log Message: Disable FASTCALL on Windows since it turned out not to be as effective as hoped. Leaving the definition in the file so we'll know what it was that didn't work, and hopefully find something better in the future. Index: internal.h =================================================================== RCS file: /cvsroot/expat/expat/lib/internal.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- internal.h 5 Sep 2002 01:56:29 -0000 1.1 +++ internal.h 6 Sep 2002 21:29:46 -0000 1.2 @@ -15,8 +15,14 @@ #if defined(__GNUC__) #define FASTCALL __attribute__((stdcall, regparm(3))) #elif defined(WIN32) -#define FASTCALL __fastcall -#else +/* XXX This seems to have an unexpected negative effect on Windows so + we'll disable it for now on that platform. It may be reconsidered + for a future release if it can be made more effective. +*/ +/* #define FASTCALL __fastcall */ +#endif + +#ifndef FASTCALL #define FASTCALL #endif From fdrake@users.sourceforge.net Fri Sep 6 22:32:22 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 06 Sep 2002 14:32:22 -0700 Subject: [Expat-checkins] expat Changes,1.26,1.27 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv30270 Modified Files: Changes Log Message: Revised one of the change notes slightly. Index: Changes =================================================================== RCS file: /cvsroot/expat/expat/Changes,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- Changes 5 Sep 2002 02:00:56 -0000 1.26 +++ Changes 6 Sep 2002 21:32:19 -0000 1.27 @@ -14,8 +14,8 @@ - Reduced line-length for all source code and headers to be no longer than 80 characters, to help with AS/400 support. - Reduced memory copying during parsing (SF patch #600964). - - Modified the calling convention used internally where the - compiler supports a faster convention. + - Modified the calling convention used internally on Unix + where the compiler supports a faster convention. - Fixed a variety of bugs: see SF issues 580793, 434664, 483514, 580503, 581069, 584041, 584183, 584832, 585537, 596555, 596678, 598352, 598944, 599715, 600479, 600971. From fdrake@users.sourceforge.net Fri Sep 6 22:49:59 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 06 Sep 2002 14:49:59 -0700 Subject: [Expat-checkins] htdocs index.html,1.30,1.31 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv3903/htdocs Modified Files: index.html Log Message: A last-minute report suggests a problem with this using at least some versions of egcs, so disable FASTCALL for GCC as well. We are now not using this for any platform. ;-( Index: index.html =================================================================== RCS file: /cvsroot/expat/htdocs/index.html,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- index.html 5 Sep 2002 20:27:51 -0000 1.30 +++ index.html 6 Sep 2002 21:49:57 -0000 1.31 @@ -49,6 +49,36 @@

    News

    +
    6 September 2002, + Expat 1.95.5 released. +
    +
    +
      +
    • Added XML_UseForeignDTD() for improved SAX2 + support.
    • +
    • Added XML_GetFeatureList().
    • +
    • Defined XML_Bool type and the values + XML_TRUE and XML_FALSE.
    • +
    • Use an incomplete struct instead of a void* + for the parser.
    • +
    • Fixed UTF-8 decoding bug that caused legal UTF-8 to be + rejected.
    • +
    • Finally fixed bug where default handler would report DTD + events that were already handled by another handler. + Initial patch contributed by Darryl Miller.
    • +
    • Removed unnecessary DllMain() function that + caused static linking into a DLL to be difficult.
    • +
    • Added VC++ projects for building static libraries.
    • +
    • Reduced line-length for all source code and headers to be + no longer than 80 characters, to help with AS/400 + support.
    • +
    • Reduced memory copying during parsing (SF patch #600964).
    • +
    • Fixed a variety of bugs: see SF issues 580793, 434664, + 483514, 580503, 581069, 584041, 584183, 584832, 585537, + 596555, 596678, 598352, 598944, 599715, 600479, 600971.
    • +
    +

    +

    4 September 2002, Development roadmap published.
    From fdrake@users.sourceforge.net Fri Sep 6 22:49:58 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 06 Sep 2002 14:49:58 -0700 Subject: [Expat-checkins] expat Changes,1.27,1.28 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv3903/expat Modified Files: Changes Log Message: A last-minute report suggests a problem with this using at least some versions of egcs, so disable FASTCALL for GCC as well. We are now not using this for any platform. ;-( Index: Changes =================================================================== RCS file: /cvsroot/expat/expat/Changes,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- Changes 6 Sep 2002 21:32:19 -0000 1.27 +++ Changes 6 Sep 2002 21:49:56 -0000 1.28 @@ -14,8 +14,6 @@ - Reduced line-length for all source code and headers to be no longer than 80 characters, to help with AS/400 support. - Reduced memory copying during parsing (SF patch #600964). - - Modified the calling convention used internally on Unix - where the compiler supports a faster convention. - Fixed a variety of bugs: see SF issues 580793, 434664, 483514, 580503, 581069, 584041, 584183, 584832, 585537, 596555, 596678, 598352, 598944, 599715, 600479, 600971. From fdrake@users.sourceforge.net Fri Sep 6 22:49:59 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 06 Sep 2002 14:49:59 -0700 Subject: [Expat-checkins] expat/lib internal.h,1.2,1.3 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv3903/expat/lib Modified Files: internal.h Log Message: A last-minute report suggests a problem with this using at least some versions of egcs, so disable FASTCALL for GCC as well. We are now not using this for any platform. ;-( Index: internal.h =================================================================== RCS file: /cvsroot/expat/expat/lib/internal.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- internal.h 6 Sep 2002 21:29:46 -0000 1.2 +++ internal.h 6 Sep 2002 21:49:56 -0000 1.3 @@ -13,7 +13,10 @@ */ #if defined(__GNUC__) -#define FASTCALL __attribute__((stdcall, regparm(3))) +/* Last minute instability reported with egcs on a RedHat Linux 7.3 + box; argh! +*/ +/* #define FASTCALL __attribute__((stdcall, regparm(3))) */ #elif defined(WIN32) /* XXX This seems to have an unexpected negative effect on Windows so we'll disable it for now on that platform. It may be reconsidered From fdrake@users.sourceforge.net Thu Sep 19 21:19:34 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Thu, 19 Sep 2002 13:19:34 -0700 Subject: [Expat-checkins] expat Changes,1.28,1.29 Message-ID: Update of /cvsroot/expat/expat In directory usw-pr-cvs1:/tmp/cvs-serv10281 Modified Files: Changes Log Message: Fix a name. Index: Changes =================================================================== RCS file: /cvsroot/expat/expat/Changes,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- Changes 6 Sep 2002 21:49:56 -0000 1.28 +++ Changes 19 Sep 2002 20:19:31 -0000 1.29 @@ -7,7 +7,7 @@ - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected. - Finally fixed bug where default handler would report DTD events that were already handled by another handler. - Initial patch contributed by Darryl Miller. + Initial patch contributed by Darryl Miles. - Removed unnecessary DllMain() function that caused static linking into a DLL to be difficult. - Added VC++ projects for building static libraries. From fdrake@users.sourceforge.net Thu Sep 19 21:19:54 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Thu, 19 Sep 2002 13:19:54 -0700 Subject: [Expat-checkins] htdocs index.html,1.31,1.32 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv10421 Modified Files: index.html Log Message: Fix a name. Index: index.html =================================================================== RCS file: /cvsroot/expat/htdocs/index.html,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- index.html 6 Sep 2002 21:49:57 -0000 1.31 +++ index.html 19 Sep 2002 20:19:51 -0000 1.32 @@ -65,7 +65,7 @@ rejected.
  • Finally fixed bug where default handler would report DTD events that were already handled by another handler. - Initial patch contributed by Darryl Miller.
  • + Initial patch contributed by Darryl Miles.
  • Removed unnecessary DllMain() function that caused static linking into a DLL to be difficult.
  • Added VC++ projects for building static libraries.
  • From kwaclaw@users.sourceforge.net Fri Sep 20 04:42:45 2002 From: kwaclaw@users.sourceforge.net (Karl Waclawek) Date: Thu, 19 Sep 2002 20:42:45 -0700 Subject: [Expat-checkins] expat/lib xmltok_ns.c,1.5,1.6 xmltok_impl.c,1.8,1.9 xmltok.h,1.6,1.7 xmltok.c,1.24,1.25 xmlrole.h,1.9,1.10 xmlrole.c,1.13,1.14 xmlparse.c,1.86,1.87 internal.h,1.3,1.4 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv30574 Modified Files: xmltok_ns.c xmltok_impl.c xmltok.h xmltok.c xmlrole.h xmlrole.c xmlparse.c internal.h Log Message: Changed calling convention macros to differentiate between different types of function calls - see comments in internal.h. Index: xmltok_ns.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmltok_ns.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- xmltok_ns.c 5 Sep 2002 18:21:01 -0000 1.5 +++ xmltok_ns.c 20 Sep 2002 03:42:43 -0000 1.6 @@ -29,7 +29,7 @@ &ns(utf8_encoding).enc /* NO_ENC */ }; -static int FASTCALL +static int PTRCALL NS(initScanProlog)(const ENCODING *enc, const char *ptr, const char *end, const char **nextTokPtr) { @@ -37,7 +37,7 @@ XML_PROLOG_STATE, ptr, end, nextTokPtr); } -static int FASTCALL +static int PTRCALL NS(initScanContent)(const ENCODING *enc, const char *ptr, const char *end, const char **nextTokPtr) { Index: xmltok_impl.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmltok_impl.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- xmltok_impl.c 5 Sep 2002 18:21:01 -0000 1.8 +++ xmltok_impl.c 20 Sep 2002 03:42:43 -0000 1.9 @@ -86,7 +86,7 @@ /* ptr points to character following " 0x8F : ((p)[1] & 0xC0) == 0xC0))) -static int FASTCALL +static int PTRFASTCALL isNever(const ENCODING *enc, const char *p) { return 0; } -static int FASTCALL +static int PTRFASTCALL utf8_isName2(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING2(namePages, (const unsigned char *)p); } -static int FASTCALL +static int PTRFASTCALL utf8_isName3(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING3(namePages, (const unsigned char *)p); @@ -132,13 +132,13 @@ #define utf8_isName4 isNever -static int FASTCALL +static int PTRFASTCALL utf8_isNmstrt2(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING2(nmstrtPages, (const unsigned char *)p); } -static int FASTCALL +static int PTRFASTCALL utf8_isNmstrt3(const ENCODING *enc, const char *p) { return UTF8_GET_NAMING3(nmstrtPages, (const unsigned char *)p); @@ -146,19 +146,19 @@ #define utf8_isNmstrt4 isNever -static int FASTCALL +static int PTRFASTCALL utf8_isInvalid2(const ENCODING *enc, const char *p) { return UTF8_INVALID2((const unsigned char *)p); } -static int FASTCALL +static int PTRFASTCALL utf8_isInvalid3(const ENCODING *enc, const char *p) { return UTF8_INVALID3((const unsigned char *)p); } -static int FASTCALL +static int PTRFASTCALL utf8_isInvalid4(const ENCODING *enc, const char *p) { return UTF8_INVALID4((const unsigned char *)p); @@ -168,21 +168,21 @@ ENCODING enc; unsigned char type[256]; #ifdef XML_MIN_SIZE - int (FASTCALL *byteType)(const ENCODING *, const char *); - int (FASTCALL *isNameMin)(const ENCODING *, const char *); - int (FASTCALL *isNmstrtMin)(const ENCODING *, const char *); - int (FASTCALL *byteToAscii)(const ENCODING *, const char *); - int (FASTCALL *charMatches)(const ENCODING *, const char *, int); + int (PTRFASTCALL *byteType)(const ENCODING *, const char *); + int (PTRFASTCALL *isNameMin)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrtMin)(const ENCODING *, const char *); + int (PTRFASTCALL *byteToAscii)(const ENCODING *, const char *); + int (PTRCALL *charMatches)(const ENCODING *, const char *, int); #endif /* XML_MIN_SIZE */ - int (FASTCALL *isName2)(const ENCODING *, const char *); - int (FASTCALL *isName3)(const ENCODING *, const char *); - int (FASTCALL *isName4)(const ENCODING *, const char *); - int (FASTCALL *isNmstrt2)(const ENCODING *, const char *); - int (FASTCALL *isNmstrt3)(const ENCODING *, const char *); - int (FASTCALL *isNmstrt4)(const ENCODING *, const char *); - int (FASTCALL *isInvalid2)(const ENCODING *, const char *); - int (FASTCALL *isInvalid3)(const ENCODING *, const char *); - int (FASTCALL *isInvalid4)(const ENCODING *, const char *); + int (PTRFASTCALL *isName2)(const ENCODING *, const char *); + int (PTRFASTCALL *isName3)(const ENCODING *, const char *); + int (PTRFASTCALL *isName4)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrt2)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrt3)(const ENCODING *, const char *); + int (PTRFASTCALL *isNmstrt4)(const ENCODING *, const char *); + int (PTRFASTCALL *isInvalid2)(const ENCODING *, const char *); + int (PTRFASTCALL *isInvalid3)(const ENCODING *, const char *); + int (PTRFASTCALL *isInvalid4)(const ENCODING *, const char *); }; #define AS_NORMAL_ENCODING(enc) ((const struct normal_encoding *) (enc)) @@ -234,7 +234,7 @@ (((struct normal_encoding *)(enc))->type[(unsigned char)*(p)]) #ifdef XML_MIN_SIZE -static int FASTCALL +static int PTRFASTCALL sb_byteType(const ENCODING *enc, const char *p) { return SB_BYTE_TYPE(enc, p); @@ -248,7 +248,7 @@ #ifdef XML_MIN_SIZE #define BYTE_TO_ASCII(enc, p) \ (AS_NORMAL_ENCODING(enc)->byteToAscii(enc, p)) -static int FASTCALL +static int PTRFASTCALL sb_byteToAscii(const ENCODING *enc, const char *p) { return *p; @@ -277,7 +277,7 @@ #ifdef XML_MIN_SIZE #define CHAR_MATCHES(enc, p, c) \ (AS_NORMAL_ENCODING(enc)->charMatches(enc, p, c)) -static int FASTCALL +static int PTRCALL sb_charMatches(const ENCODING *enc, const char *p, int c) { return *p == c; @@ -307,7 +307,7 @@ UTF8_cval4 = 0xf0 }; -static void FASTCALL +static void PTRCALL utf8_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -326,7 +326,7 @@ *toP = to; } -static void FASTCALL +static void PTRCALL utf8_toUtf16(const ENCODING *enc, const char **fromP, const char *fromLim, unsigned short **toP, const unsigned short *toLim) @@ -414,7 +414,7 @@ STANDARD_VTABLE(sb_) NORMAL_VTABLE(utf8_) }; -static void FASTCALL +static void PTRCALL latin1_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -439,7 +439,7 @@ } } -static void FASTCALL +static void PTRCALL latin1_toUtf16(const ENCODING *enc, const char **fromP, const char *fromLim, unsigned short **toP, const unsigned short *toLim) @@ -472,7 +472,7 @@ STANDARD_VTABLE(sb_) }; -static void FASTCALL +static void PTRCALL ascii_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -505,7 +505,7 @@ STANDARD_VTABLE(sb_) }; -static int FASTCALL +static int PTRFASTCALL unicode_byte_type(char hi, char lo) { switch ((unsigned char)hi) { @@ -525,7 +525,7 @@ } #define DEFINE_UTF16_TO_UTF8(E) \ -static void FASTCALL \ +static void PTRCALL \ E ## toUtf8(const ENCODING *enc, \ const char **fromP, const char *fromLim, \ char **toP, const char *toLim) \ @@ -588,7 +588,7 @@ } #define DEFINE_UTF16_TO_UTF16(E) \ -static void FASTCALL \ +static void PTRCALL \ E ## toUtf16(const ENCODING *enc, \ const char **fromP, const char *fromLim, \ unsigned short **toP, const unsigned short *toLim) \ @@ -638,31 +638,31 @@ #ifdef XML_MIN_SIZE -static int FASTCALL +static int PTRFASTCALL little2_byteType(const ENCODING *enc, const char *p) { return LITTLE2_BYTE_TYPE(enc, p); } -static int FASTCALL +static int PTRFASTCALL little2_byteToAscii(const ENCODING *enc, const char *p) { return LITTLE2_BYTE_TO_ASCII(enc, p); } -static int FASTCALL +static int PTRCALL little2_charMatches(const ENCODING *enc, const char *p, int c) { return LITTLE2_CHAR_MATCHES(enc, p, c); } -static int FASTCALL +static int PTRFASTCALL little2_isNameMin(const ENCODING *enc, const char *p) { return LITTLE2_IS_NAME_CHAR_MINBPC(enc, p); } -static int FASTCALL +static int PTRFASTCALL little2_isNmstrtMin(const ENCODING *enc, const char *p) { return LITTLE2_IS_NMSTRT_CHAR_MINBPC(enc, p); @@ -777,31 +777,31 @@ #ifdef XML_MIN_SIZE -static int FASTCALL +static int PTRFASTCALL big2_byteType(const ENCODING *enc, const char *p) { return BIG2_BYTE_TYPE(enc, p); } -static int FASTCALL +static int PTRFASTCALL big2_byteToAscii(const ENCODING *enc, const char *p) { return BIG2_BYTE_TO_ASCII(enc, p); } -static int FASTCALL +static int PTRCALL big2_charMatches(const ENCODING *enc, const char *p, int c) { return BIG2_CHAR_MATCHES(enc, p, c); } -static int FASTCALL +static int PTRFASTCALL big2_isNameMin(const ENCODING *enc, const char *p) { return BIG2_IS_NAME_CHAR_MINBPC(enc, p); } -static int FASTCALL +static int PTRFASTCALL big2_isNmstrtMin(const ENCODING *enc, const char *p) { return BIG2_IS_NMSTRT_CHAR_MINBPC(enc, p); @@ -922,14 +922,14 @@ return 1; } -static void FASTCALL +static void PTRCALL initUpdatePosition(const ENCODING *enc, const char *ptr, const char *end, POSITION *pos) { normal_updatePosition(&utf8_encoding.enc, ptr, end, pos); } -static int FASTCALL +static int toAscii(const ENCODING *enc, const char *ptr, const char *end) { char buf[1]; @@ -957,7 +957,7 @@ /* Return 1 if there's just optional white space or there's an S followed by name=val. */ -static int FASTCALL +static int parsePseudoAttribute(const ENCODING *enc, const char *ptr, const char *end, @@ -1174,7 +1174,7 @@ return result; } -int +int FASTCALL XmlUtf8Encode(int c, char *buf) { enum { @@ -1211,7 +1211,7 @@ return 0; } -int +int FASTCALL XmlUtf16Encode(int charNum, unsigned short *buf) { if (charNum < 0) @@ -1245,7 +1245,7 @@ return sizeof(struct unknown_encoding); } -static int FASTCALL +static int PTRFASTCALL unknown_isName(const ENCODING *enc, const char *p) { const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); @@ -1255,7 +1255,7 @@ return UCS2_GET_NAMING(namePages, c >> 8, c & 0xFF); } -static int FASTCALL +static int PTRFASTCALL unknown_isNmstrt(const ENCODING *enc, const char *p) { const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); @@ -1265,7 +1265,7 @@ return UCS2_GET_NAMING(nmstrtPages, c >> 8, c & 0xFF); } -static int FASTCALL +static int PTRFASTCALL unknown_isInvalid(const ENCODING *enc, const char *p) { const struct unknown_encoding *uenc = AS_UNKNOWN_ENCODING(enc); @@ -1273,7 +1273,7 @@ return (c & ~0xFFFF) || checkCharRefNumber(c) < 0; } -static void FASTCALL +static void PTRCALL unknown_toUtf8(const ENCODING *enc, const char **fromP, const char *fromLim, char **toP, const char *toLim) @@ -1307,7 +1307,7 @@ } } -static void FASTCALL +static void PTRCALL unknown_toUtf16(const ENCODING *enc, const char **fromP, const char *fromLim, unsigned short **toP, const unsigned short *toLim) @@ -1478,7 +1478,7 @@ */ -static int FASTCALL +static int initScan(const ENCODING **encodingTable, const INIT_ENCODING *enc, int state, Index: xmlrole.h =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlrole.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- xmlrole.h 5 Sep 2002 15:25:06 -0000 1.9 +++ xmlrole.h 20 Sep 2002 03:42:43 -0000 1.10 @@ -85,7 +85,7 @@ }; typedef struct prolog_state { - int (FASTCALL *handler) (struct prolog_state *state, + int (PTRCALL *handler) (struct prolog_state *state, int tok, const char *ptr, const char *end, Index: xmlrole.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlrole.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- xmlrole.c 5 Sep 2002 01:58:27 -0000 1.13 +++ xmlrole.c 20 Sep 2002 03:42:43 -0000 1.14 @@ -85,11 +85,11 @@ #define setTopLevel(state) ((state)->handler = internalSubset) #endif /* not XML_DTD */ -typedef int FASTCALL PROLOG_HANDLER(PROLOG_STATE *state, - int tok, - const char *ptr, - const char *end, - const ENCODING *enc); +typedef int PTRCALL PROLOG_HANDLER(PROLOG_STATE *state, + int tok, + const char *ptr, + const char *end, + const ENCODING *enc); static PROLOG_HANDLER prolog0, prolog1, prolog2, @@ -111,7 +111,7 @@ static int FASTCALL common(PROLOG_STATE *state, int tok); -static int FASTCALL +static int PTRCALL prolog0(PROLOG_STATE *state, int tok, const char *ptr, @@ -148,7 +148,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL prolog1(PROLOG_STATE *state, int tok, const char *ptr, @@ -179,7 +179,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL prolog2(PROLOG_STATE *state, int tok, const char *ptr, @@ -200,7 +200,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL doctype0(PROLOG_STATE *state, int tok, const char *ptr, @@ -218,7 +218,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL doctype1(PROLOG_STATE *state, int tok, const char *ptr, @@ -248,7 +248,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL doctype2(PROLOG_STATE *state, int tok, const char *ptr, @@ -265,7 +265,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL doctype3(PROLOG_STATE *state, int tok, const char *ptr, @@ -282,7 +282,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL doctype4(PROLOG_STATE *state, int tok, const char *ptr, @@ -302,7 +302,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL doctype5(PROLOG_STATE *state, int tok, const char *ptr, @@ -319,7 +319,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL internalSubset(PROLOG_STATE *state, int tok, const char *ptr, @@ -374,7 +374,7 @@ #ifdef XML_DTD -static int FASTCALL +static int PTRCALL externalSubset0(PROLOG_STATE *state, int tok, const char *ptr, @@ -387,7 +387,7 @@ return externalSubset1(state, tok, ptr, end, enc); } -static int FASTCALL +static int PTRCALL externalSubset1(PROLOG_STATE *state, int tok, const char *ptr, @@ -419,7 +419,7 @@ #endif /* XML_DTD */ -static int FASTCALL +static int PTRCALL entity0(PROLOG_STATE *state, int tok, const char *ptr, @@ -439,7 +439,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity1(PROLOG_STATE *state, int tok, const char *ptr, @@ -456,7 +456,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity2(PROLOG_STATE *state, int tok, const char *ptr, @@ -484,7 +484,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity3(PROLOG_STATE *state, int tok, const char *ptr, @@ -501,7 +501,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity4(PROLOG_STATE *state, int tok, const char *ptr, @@ -518,7 +518,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity5(PROLOG_STATE *state, int tok, const char *ptr, @@ -541,7 +541,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity6(PROLOG_STATE *state, int tok, const char *ptr, @@ -559,7 +559,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity7(PROLOG_STATE *state, int tok, const char *ptr, @@ -587,7 +587,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity8(PROLOG_STATE *state, int tok, const char *ptr, @@ -604,7 +604,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity9(PROLOG_STATE *state, int tok, const char *ptr, @@ -621,7 +621,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL entity10(PROLOG_STATE *state, int tok, const char *ptr, @@ -638,7 +638,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL notation0(PROLOG_STATE *state, int tok, const char *ptr, @@ -655,7 +655,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL notation1(PROLOG_STATE *state, int tok, const char *ptr, @@ -679,7 +679,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL notation2(PROLOG_STATE *state, int tok, const char *ptr, @@ -696,7 +696,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL notation3(PROLOG_STATE *state, int tok, const char *ptr, @@ -714,7 +714,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL notation4(PROLOG_STATE *state, int tok, const char *ptr, @@ -735,7 +735,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist0(PROLOG_STATE *state, int tok, const char *ptr, @@ -753,7 +753,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist1(PROLOG_STATE *state, int tok, const char *ptr, @@ -774,7 +774,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist2(PROLOG_STATE *state, int tok, const char *ptr, @@ -815,7 +815,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist3(PROLOG_STATE *state, int tok, const char *ptr, @@ -834,7 +834,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist4(PROLOG_STATE *state, int tok, const char *ptr, @@ -854,7 +854,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist5(PROLOG_STATE *state, int tok, const char *ptr, @@ -871,7 +871,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist6(PROLOG_STATE *state, int tok, const char *ptr, @@ -888,7 +888,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist7(PROLOG_STATE *state, int tok, const char *ptr, @@ -909,7 +909,7 @@ } /* default value */ -static int FASTCALL +static int PTRCALL attlist8(PROLOG_STATE *state, int tok, const char *ptr, @@ -949,7 +949,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL attlist9(PROLOG_STATE *state, int tok, const char *ptr, @@ -966,7 +966,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element0(PROLOG_STATE *state, int tok, const char *ptr, @@ -984,7 +984,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element1(PROLOG_STATE *state, int tok, const char *ptr, @@ -1014,7 +1014,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element2(PROLOG_STATE *state, int tok, const char *ptr, @@ -1054,7 +1054,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element3(PROLOG_STATE *state, int tok, const char *ptr, @@ -1079,7 +1079,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element4(PROLOG_STATE *state, int tok, const char *ptr, @@ -1097,7 +1097,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element5(PROLOG_STATE *state, int tok, const char *ptr, @@ -1118,7 +1118,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element6(PROLOG_STATE *state, int tok, const char *ptr, @@ -1148,7 +1148,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL element7(PROLOG_STATE *state, int tok, const char *ptr, @@ -1198,7 +1198,7 @@ #ifdef XML_DTD -static int FASTCALL +static int PTRCALL condSect0(PROLOG_STATE *state, int tok, const char *ptr, @@ -1222,7 +1222,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL condSect1(PROLOG_STATE *state, int tok, const char *ptr, @@ -1240,7 +1240,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL condSect2(PROLOG_STATE *state, int tok, const char *ptr, @@ -1259,7 +1259,7 @@ #endif /* XML_DTD */ -static int FASTCALL +static int PTRCALL declClose(PROLOG_STATE *state, int tok, const char *ptr, @@ -1276,7 +1276,7 @@ return common(state, tok); } -static int FASTCALL +static int PTRCALL error(PROLOG_STATE *state, int tok, const char *ptr, Index: xmlparse.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- xmlparse.c 5 Sep 2002 18:21:00 -0000 1.86 +++ xmlparse.c 20 Sep 2002 03:42:43 -0000 1.87 @@ -272,10 +272,10 @@ ENTITY *entity; } OPEN_INTERNAL_ENTITY; -typedef enum XML_Error FASTCALL Processor(XML_Parser parser, - const char *start, - const char *end, - const char **endPtr); +typedef enum XML_Error PTRCALL Processor(XML_Parser parser, + const char *start, + const char *end, + const char **endPtr); static Processor prologProcessor; static Processor prologInitProcessor; @@ -295,85 +295,85 @@ static Processor externalEntityInitProcessor3; static Processor externalEntityContentProcessor; -static enum XML_Error FASTCALL +static enum XML_Error handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName); -static enum XML_Error FASTCALL +static enum XML_Error processXmlDecl(XML_Parser parser, int isGeneralTextEntity, const char *, const char *); -static enum XML_Error FASTCALL +static enum XML_Error initializeEncoding(XML_Parser parser); -static enum XML_Error FASTCALL +static enum XML_Error doProlog(XML_Parser parser, const ENCODING *enc, const char *s, const char *end, int tok, const char *next, const char **nextPtr); -static enum XML_Error FASTCALL +static enum XML_Error processInternalParamEntity(XML_Parser parser, ENTITY *entity); -static enum XML_Error FASTCALL +static enum XML_Error doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, const char *start, const char *end, const char **endPtr); -static enum XML_Error FASTCALL +static enum XML_Error doCdataSection(XML_Parser parser, const ENCODING *, const char **startPtr, const char *end, const char **nextPtr); #ifdef XML_DTD -static enum XML_Error FASTCALL +static enum XML_Error doIgnoreSection(XML_Parser parser, const ENCODING *, const char **startPtr, const char *end, const char **nextPtr); #endif /* XML_DTD */ -static enum XML_Error FASTCALL +static enum XML_Error storeAtts(XML_Parser parser, const ENCODING *, const char *s, TAG_NAME *tagNamePtr, BINDING **bindingsPtr); -static int FASTCALL +static int addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, const XML_Char *uri, BINDING **bindingsPtr); -static int FASTCALL +static int defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *, XML_Bool isCdata, XML_Bool isId, const XML_Char *dfltValue, XML_Parser parser); -static enum XML_Error FASTCALL +static enum XML_Error storeAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, const char *, const char *, STRING_POOL *); -static enum XML_Error FASTCALL +static enum XML_Error appendAttributeValue(XML_Parser parser, const ENCODING *, XML_Bool isCdata, const char *, const char *, STRING_POOL *); -static ATTRIBUTE_ID * FASTCALL +static ATTRIBUTE_ID * getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static int FASTCALL +static int setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *); -static enum XML_Error FASTCALL +static enum XML_Error storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static int FASTCALL +static int reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static int FASTCALL +static int reportComment(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static void FASTCALL +static void reportDefault(XML_Parser parser, const ENCODING *enc, const char *start, const char *end); -static const XML_Char * FASTCALL getContext(XML_Parser parser); -static XML_Bool FASTCALL +static const XML_Char * getContext(XML_Parser parser); +static XML_Bool setContext(XML_Parser parser, const XML_Char *context); static void FASTCALL normalizePublicId(XML_Char *s); -static void FASTCALL dtdInit(DTD *, XML_Parser parser); +static void dtdInit(DTD *, XML_Parser parser); /* do not call if parentParser != NULL */ -static void FASTCALL dtdReset(DTD *, XML_Parser parser); -static void FASTCALL dtdDestroy(DTD *, XML_Parser parser); +static void dtdReset(DTD *, XML_Parser parser); +static void dtdDestroy(DTD *, XML_Parser parser); -static int FASTCALL dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser); +static int dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser); -static int FASTCALL copyEntityTable(HASH_TABLE *, STRING_POOL *, - const HASH_TABLE *, XML_Parser parser); +static int copyEntityTable(HASH_TABLE *, STRING_POOL *, + const HASH_TABLE *, XML_Parser parser); #ifdef XML_DTD static void FASTCALL dtdSwap(DTD *, DTD *); #endif /* XML_DTD */ -static NAMED * FASTCALL +static NAMED * lookup(HASH_TABLE *table, KEY name, size_t createSize); static void FASTCALL @@ -386,29 +386,29 @@ static void FASTCALL poolInit(STRING_POOL *, XML_Memory_Handling_Suite *ms); static void FASTCALL poolClear(STRING_POOL *); static void FASTCALL poolDestroy(STRING_POOL *); -static XML_Char * FASTCALL +static XML_Char * poolAppend(STRING_POOL *pool, const ENCODING *enc, const char *ptr, const char *end); -static XML_Char * FASTCALL +static XML_Char * poolStoreString(STRING_POOL *pool, const ENCODING *enc, const char *ptr, const char *end); static XML_Bool FASTCALL poolGrow(STRING_POOL *pool); static int FASTCALL nextScaffoldPart(XML_Parser parser); -static XML_Content * FASTCALL build_model(XML_Parser parser); +static XML_Content * build_model(XML_Parser parser); static const XML_Char * FASTCALL poolCopyString(STRING_POOL *pool, const XML_Char *s); -static const XML_Char * FASTCALL +static const XML_Char * poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n); static const XML_Char * FASTCALL poolAppendString(STRING_POOL *pool, const XML_Char *s); -static ELEMENT_TYPE * FASTCALL +static ELEMENT_TYPE * getElementType(XML_Parser Paraser, const ENCODING *enc, const char *ptr, const char *end); -static void FASTCALL +static void parserInit(XML_Parser parser, const XML_Char *encodingName); #define poolStart(pool) ((pool)->start) @@ -727,7 +727,7 @@ return parser; } -static void FASTCALL +static void parserInit(XML_Parser parser, const XML_Char *encodingName) { processor = prologInitProcessor; @@ -1647,7 +1647,7 @@ processed, and not yet closed, we need to store tag->rawName in a more permanent location, since the parse buffer is about to be discarded. */ -static XML_Bool FASTCALL +static XML_Bool storeRawNames(XML_Parser parser) { TAG *tag = tagStack; @@ -1682,7 +1682,7 @@ return XML_TRUE; } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL contentProcessor(XML_Parser parser, const char *start, const char *end, @@ -1697,7 +1697,7 @@ return result; } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL externalEntityInitProcessor(XML_Parser parser, const char *start, const char *end, @@ -1710,7 +1710,7 @@ return externalEntityInitProcessor2(parser, start, end, endPtr); } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL externalEntityInitProcessor2(XML_Parser parser, const char *start, const char *end, @@ -1750,7 +1750,7 @@ return externalEntityInitProcessor3(parser, start, end, endPtr); } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL externalEntityInitProcessor3(XML_Parser parser, const char *start, const char *end, @@ -1787,7 +1787,7 @@ return externalEntityContentProcessor(parser, start, end, endPtr); } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL externalEntityContentProcessor(XML_Parser parser, const char *start, const char *end, @@ -1802,7 +1802,7 @@ return result; } -static enum XML_Error FASTCALL +static enum XML_Error doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, @@ -2256,7 +2256,7 @@ /* If tagNamePtr is non-null, build a real list of attributes, otherwise just check the attributes for well-formedness. */ -static enum XML_Error FASTCALL +static enum XML_Error storeAtts(XML_Parser parser, const ENCODING *enc, const char *attStr, TAG_NAME *tagNamePtr, BINDING **bindingsPtr) @@ -2510,7 +2510,7 @@ return XML_ERROR_NONE; } -static int FASTCALL +static int addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, const XML_Char *uri, BINDING **bindingsPtr) { @@ -2565,7 +2565,7 @@ /* The idea here is to avoid using stack for each CDATA section when the whole file is parsed with one call. */ -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL cdataSectionProcessor(XML_Parser parser, const char *start, const char *end, @@ -2589,7 +2589,7 @@ /* startPtr gets set to non-null is the section is closed, and to null if the section is not yet closed. */ -static enum XML_Error FASTCALL +static enum XML_Error doCdataSection(XML_Parser parser, const ENCODING *enc, const char **startPtr, @@ -2687,7 +2687,7 @@ /* The idea here is to avoid using stack for each IGNORE section when the whole file is parsed with one call. */ -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL ignoreSectionProcessor(XML_Parser parser, const char *start, const char *end, @@ -2705,7 +2705,7 @@ /* startPtr gets set to non-null is the section is closed, and to null if the section is not yet closed. */ -static enum XML_Error FASTCALL +static enum XML_Error doIgnoreSection(XML_Parser parser, const ENCODING *enc, const char **startPtr, @@ -2761,7 +2761,7 @@ #endif /* XML_DTD */ -static enum XML_Error FASTCALL +static enum XML_Error initializeEncoding(XML_Parser parser) { const char *s; @@ -2790,7 +2790,7 @@ return handleUnknownEncoding(parser, protocolEncodingName); } -static enum XML_Error FASTCALL +static enum XML_Error processXmlDecl(XML_Parser parser, int isGeneralTextEntity, const char *s, const char *next) { @@ -2875,7 +2875,7 @@ return XML_ERROR_NONE; } -static enum XML_Error FASTCALL +static enum XML_Error handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName) { if (unknownEncodingHandler) { @@ -2914,7 +2914,7 @@ return XML_ERROR_UNKNOWN_ENCODING; } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL prologInitProcessor(XML_Parser parser, const char *s, const char *end, @@ -2929,7 +2929,7 @@ #ifdef XML_DTD -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL externalParEntInitProcessor(XML_Parser parser, const char *s, const char *end, @@ -2953,7 +2953,7 @@ } } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL entityValueInitProcessor(XML_Parser parser, const char *s, const char *end, @@ -3007,7 +3007,7 @@ } } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL externalParEntProcessor(XML_Parser parser, const char *s, const char *end, @@ -3048,7 +3048,7 @@ return doProlog(parser, encoding, s, end, tok, next, nextPtr); } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL entityValueProcessor(XML_Parser parser, const char *s, const char *end, @@ -3085,7 +3085,7 @@ #endif /* XML_DTD */ -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL prologProcessor(XML_Parser parser, const char *s, const char *end, @@ -3096,7 +3096,7 @@ return doProlog(parser, encoding, s, end, tok, next, nextPtr); } -static enum XML_Error FASTCALL +static enum XML_Error doProlog(XML_Parser parser, const ENCODING *enc, const char *s, @@ -4028,7 +4028,7 @@ /* not reached */ } -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL epilogProcessor(XML_Parser parser, const char *s, const char *end, @@ -4090,7 +4090,7 @@ #ifdef XML_DTD -static enum XML_Error FASTCALL +static enum XML_Error processInternalParamEntity(XML_Parser parser, ENTITY *entity) { const char *s, *end, *next; @@ -4114,7 +4114,7 @@ #endif /* XML_DTD */ -static enum XML_Error FASTCALL +static enum XML_Error PTRCALL errorProcessor(XML_Parser parser, const char *s, const char *end, @@ -4123,7 +4123,7 @@ return errorCode; } -static enum XML_Error FASTCALL +static enum XML_Error storeAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, const char *ptr, const char *end, STRING_POOL *pool) @@ -4139,7 +4139,7 @@ return XML_ERROR_NONE; } -static enum XML_Error FASTCALL +static enum XML_Error appendAttributeValue(XML_Parser parser, const ENCODING *enc, XML_Bool isCdata, const char *ptr, const char *end, STRING_POOL *pool) @@ -4286,7 +4286,7 @@ /* not reached */ } -static enum XML_Error FASTCALL +static enum XML_Error storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *entityTextPtr, @@ -4474,7 +4474,7 @@ *p = XML_T('\0'); } -static int FASTCALL +static int reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, const char *start, const char *end) { @@ -4503,7 +4503,7 @@ return 1; } -static int FASTCALL +static int reportComment(XML_Parser parser, const ENCODING *enc, const char *start, const char *end) { @@ -4525,7 +4525,7 @@ return 1; } -static void FASTCALL +static void reportDefault(XML_Parser parser, const ENCODING *enc, const char *s, const char *end) { @@ -4553,7 +4553,7 @@ } -static int FASTCALL +static int defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *attId, XML_Bool isCdata, XML_Bool isId, const XML_Char *value, XML_Parser parser) { @@ -4596,7 +4596,7 @@ return 1; } -static int FASTCALL +static int setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *elementType) { const XML_Char *name; @@ -4625,7 +4625,7 @@ return 1; } -static ATTRIBUTE_ID * FASTCALL +static ATTRIBUTE_ID * getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start, const char *end) { @@ -4685,7 +4685,7 @@ #define CONTEXT_SEP XML_T('\f') -static const XML_Char * FASTCALL +static const XML_Char * getContext(XML_Parser parser) { HASH_TABLE_ITER iter; @@ -4753,7 +4753,7 @@ return tempPool.start; } -static XML_Bool FASTCALL +static XML_Bool setContext(XML_Parser parser, const XML_Char *context) { const XML_Char *s = context; @@ -4835,7 +4835,7 @@ *p = XML_T('\0'); } -static void FASTCALL +static void dtdInit(DTD *p, XML_Parser parser) { XML_Memory_Handling_Suite *ms = &parser->m_mem; @@ -4880,7 +4880,7 @@ #endif /* XML_DTD */ -static void FASTCALL +static void dtdReset(DTD *p, XML_Parser parser) { HASH_TABLE_ITER iter; @@ -4926,7 +4926,7 @@ p->standalone = XML_FALSE; } -static void FASTCALL +static void dtdDestroy(DTD *p, XML_Parser parser) { HASH_TABLE_ITER iter; @@ -4960,7 +4960,7 @@ /* Do a deep copy of the DTD. Return 0 for out of memory; non-zero otherwise. The new DTD has already been initialized. */ -static int FASTCALL +static int dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser) { HASH_TABLE_ITER iter; @@ -5090,7 +5090,7 @@ return 1; } /* End dtdCopy */ -static int FASTCALL +static int copyEntityTable(HASH_TABLE *newTable, STRING_POOL *newPool, const HASH_TABLE *oldTable, @@ -5177,7 +5177,7 @@ return h; } -static NAMED * FASTCALL +static NAMED * lookup(HASH_TABLE *table, KEY name, size_t createSize) { size_t i; @@ -5345,7 +5345,7 @@ } } -static XML_Char * FASTCALL +static XML_Char * poolAppend(STRING_POOL *pool, const ENCODING *enc, const char *ptr, const char *end) { @@ -5373,7 +5373,7 @@ return s; } -static const XML_Char * FASTCALL +static const XML_Char * poolCopyStringN(STRING_POOL *pool, const XML_Char *s, int n) { if (!pool->ptr && !poolGrow(pool)) @@ -5398,7 +5398,7 @@ return pool->start; } -static XML_Char * FASTCALL +static XML_Char * poolStoreString(STRING_POOL *pool, const ENCODING *enc, const char *ptr, const char *end) { @@ -5518,7 +5518,7 @@ return next; } -static void FASTCALL +static void build_node(XML_Parser parser, int src_node, XML_Content *dest, @@ -5555,7 +5555,7 @@ } } -static XML_Content * FASTCALL +static XML_Content * build_model (XML_Parser parser) { XML_Content *ret; @@ -5575,7 +5575,7 @@ return ret; } -static ELEMENT_TYPE * FASTCALL +static ELEMENT_TYPE * getElementType(XML_Parser parser, const ENCODING *enc, const char *ptr, Index: internal.h =================================================================== RCS file: /cvsroot/expat/expat/lib/internal.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- internal.h 6 Sep 2002 21:49:56 -0000 1.3 +++ internal.h 20 Sep 2002 03:42:43 -0000 1.4 @@ -3,30 +3,57 @@ Internal definitions used by Expat. This is not needed to compile client code. - The following definitions are made: + The following calling convention macros are defined for frequently + called functions: - FASTCALL -- Used for most internal functions to specify that the - fastest possible calling convention be used. + FASTCALL - Used for those internal functions that have a simple + body and a low number of arguments and local variables. - inline -- Used for selected internal functions for which inlining - may improve performance on some platforms. + PTRCALL - Used for functions called though function pointers. + + PTRFASTCALL - Like PTRCALL, but for low number of arguments. + + inline - Used for selected internal functions for which inlining + may improve performance on some platforms. + + Note: Use of these macros is based on judgement, not hard rules, + and therefore subject to change. */ #if defined(__GNUC__) -/* Last minute instability reported with egcs on a RedHat Linux 7.3 - box; argh! +/* Instability reported with egcs on a RedHat Linux 7.3. + Let's comment it out: + #define FASTCALL __attribute__((stdcall, regparm(3))) + and let's try this: */ -/* #define FASTCALL __attribute__((stdcall, regparm(3))) */ +#define FASTCALL __attribute__((regparm(3))) +#define PTRCALL +#define PTRFASTCALL __attribute__((regparm(3))) + #elif defined(WIN32) -/* XXX This seems to have an unexpected negative effect on Windows so - we'll disable it for now on that platform. It may be reconsidered - for a future release if it can be made more effective. +/* Using __fastcall seems to have an unexpected negative effect under + MS VC++, especially for function pointers, so we won't use it for + now on that platform. It may be reconsidered for a future release + if it can be made more effective. + Likely reason: __fastcall on Windows is like stdcall, therefore + the compiler cannot perform stack optimizations for call clusters. */ -/* #define FASTCALL __fastcall */ +#define FASTCALL +#define PTRCALL +#define PTRFASTCALL + #endif #ifndef FASTCALL #define FASTCALL +#endif + +#ifndef PTRCALL +#define PTRCALL +#endif + +#ifndef PTRFASTCALL +#define PTRFASTCALL #endif #ifndef XML_MIN_SIZE From fdrake@users.sourceforge.net Fri Sep 27 15:11:46 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 27 Sep 2002 07:11:46 -0700 Subject: [Expat-checkins] htdocs oldnews.html,NONE,1.1 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv18015 Added Files: oldnews.html Log Message: Archive old news off the main page so it is not so distracting. Hopefully makes the 3rd-party wrapper information more discoverable. --- NEW FILE: oldnews.html --- Old Expat News

    Current news

    12 July 2002, Expat 1.95.4 released.
    • Added support for VMS, contributed by Craig Berry. See vms/README.vms in the distrubution for more information.
    • Added Mac OS (classic) support, with a makefile for MPW, contributed by Thomas Wegner and Daryle Walker.
    • Added Borland C++ Builder 5 / BCC 5.5 support, contributed by Patrick McConnell (SF patch #538032).
    • Fixed a variety of bugs: see SF issues 441449, 563184, 564342, 566334, 566901, 569461, 570263, 575168, 579196.
    • Made skippedEntityHandler conform to SAX2 (see source comment).
    • Re-implemented WFC: Entity Declared from XML 1.0 spec and added a new error "entity declared in parameter entity": see SF bug report 569461 and SF patch 578161.
    • Re-implemented section 5.1 from XML 1.0 spec: see SF bug report 570263 and SF patch 578161.
    Expat 1.95.3 is being withdrawn due to bug #566334. If you are currently using Expat 1.95.3, please update to 1.95.4.

    3 June 2002, Expat 1.95.3 released.
    • Changed the name of the Windows DLLs from expat.dll to libexpat.dll; this fixes SF bug #432456. This is a problem only known to affect the Perl XML::Parser::Expat extension, but is very important for that extension.
    • Added a project to the MSVC workspace to create a wchar_t version of the library; the DLLs are named libexpatw.dll. (Note the addition of the "w" character in the file name.)
    • Added the XML_ParserReset() API function. This allows a parser to be re-used, reducing the number of memory allocations needed to set up a parser. This can be a substantial benefit when parsing a large number of small documents.
    • Fixed XML_SetReturnNSTriplet() to work for element names. This is now a usable feature.
    • Made the XML_UNICODE builds usable (thanks, Karl!).
    • Allow xmlwf to read from standard input.
    • Install a man page for xmlwf on Unix systems.
    • Fixed many bugs; see SF bug reports 231864, 461380, 464837, 466885, 469226, 477667, 484419, 487840, 494749, 496505, 547350. Other bugs which we can't test as easily may also have been fixed, especially in the area of build support.
    SourceForge
                 Logo
    From fdrake@users.sourceforge.net Fri Sep 27 15:13:15 2002 From: fdrake@users.sourceforge.net (Fred L. Drake) Date: Fri, 27 Sep 2002 07:13:15 -0700 Subject: [Expat-checkins] htdocs index.html,1.32,1.33 Message-ID: Update of /cvsroot/expat/htdocs In directory usw-pr-cvs1:/tmp/cvs-serv18522 Modified Files: index.html Log Message: Move the old news to a separate page, hopefully making the 3rd-party wrapper information more discoverable. Add a link to the top pointing down to the "References & Wrappers" section, for the same purpose. (Thanks, Karl!) Index: index.html =================================================================== RCS file: /cvsroot/expat/htdocs/index.html,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- index.html 19 Sep 2002 20:19:51 -0000 1.32 +++ index.html 27 Sep 2002 14:13:12 -0000 1.33 @@ -29,6 +29,9 @@ Mailing lists
  • + 3rd-party wrappers (SAX, DOM, other language bindings)
  • +
  • CVS repository ( -

    News

    +

    News

    6 September 2002, @@ -89,65 +92,11 @@

-
12 July 2002, - Expat 1.95.4 released. -
-
-
    -
  • Added support for VMS, contributed by Craig Berry. See - vms/README.vms in the distrubution for more information.
  • -
  • Added Mac OS (classic) support, with a makefile for MPW, - contributed by Thomas Wegner and Daryle Walker.
  • -
  • Added Borland C++ Builder 5 / BCC 5.5 support, contributed - by Patrick McConnell (SF patch #538032).
  • -
  • Fixed a variety of bugs: see SF issues 441449, 563184, - 564342, 566334, 566901, 569461, 570263, 575168, 579196.
  • -
  • Made skippedEntityHandler conform to SAX2 (see source - comment).
  • -
  • Re-implemented WFC: Entity Declared from XML 1.0 spec and - added a new error "entity declared in parameter entity": - see SF bug report 569461 and SF patch 578161.
  • -
  • Re-implemented section 5.1 from XML 1.0 spec: - see SF bug report 570263 and SF patch 578161.
  • -
- Expat 1.95.3 is being withdrawn due to
bug #566334. If you are currently using Expat 1.95.3, please - update to 1.95.4. -

-

-
3 June 2002, - Expat 1.95.3 released. -
-
-
    -
  • Changed the name of the Windows DLLs from expat.dll to - libexpat.dll; this fixes SF bug #432456. This is a problem - only known to affect the Perl XML::Parser::Expat extension, - but is very important for that extension.
  • -
  • Added a project to the MSVC workspace to create a wchar_t - version of the library; the DLLs are named libexpatw.dll. - (Note the addition of the "w" character in the file name.) -
  • -
  • Added the XML_ParserReset() API function. This allows a - parser to be re-used, reducing the number of memory - allocations needed to set up a parser. This can be a - substantial benefit when parsing a large number of small - documents.
  • -
  • Fixed XML_SetReturnNSTriplet() to work for element names. - This is now a usable feature.
  • -
  • Made the XML_UNICODE builds usable (thanks, Karl!).
  • -
  • Allow xmlwf to read from standard input.
  • -
  • Install a man page for xmlwf on Unix systems.
  • -
  • Fixed many bugs; see SF bug reports 231864, 461380, 464837, - 466885, 469226, 477667, 484419, 487840, 494749, 496505, - 547350. Other bugs which we can't test as easily may also - have been fixed, especially in the area of build support.
  • -
-
-

References

+

Old news archive

+ +

References & 3rd-party Wrappers

If you know of any additional articles or resources which should be linked to from this page, please send email to Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv7157 Modified Files: xmlparse.c Log Message: Fix for bug #615606. Index: xmlparse.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v retrieving revision 1.87 retrieving revision 1.88 diff -u -d -r1.87 -r1.88 --- xmlparse.c 20 Sep 2002 03:42:43 -0000 1.87 +++ xmlparse.c 28 Sep 2002 14:47:34 -0000 1.88 @@ -1670,8 +1670,12 @@ char *temp = REALLOC(tag->buf, bufSize); if (temp == NULL) return XML_FALSE; + /* if tag->name.str points to tag->buf (i.e. when namespace + processing is off) then we have to update it + */ + if (tag->name.str == (XML_Char *)tag->buf) + tag->name.str = (XML_Char *)temp; tag->buf = temp; - tag->name.str = (XML_Char *)temp; tag->bufEnd = temp + bufSize; rawNameBuf = temp + nameLen; } From kwaclaw@users.sourceforge.net Mon Sep 30 13:11:28 2002 From: kwaclaw@users.sourceforge.net (Karl Waclawek) Date: Mon, 30 Sep 2002 05:11:28 -0700 Subject: [Expat-checkins] expat/lib xmlparse.c,1.88,1.89 Message-ID: Update of /cvsroot/expat/expat/lib In directory usw-pr-cvs1:/tmp/cvs-serv4284 Modified Files: xmlparse.c Log Message: Forgot to re-establish implicit namespace context (prefix xml) in XML_ParserReset(). Index: xmlparse.c =================================================================== RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v retrieving revision 1.88 retrieving revision 1.89 diff -u -d -r1.88 -r1.89 --- xmlparse.c 28 Sep 2002 14:47:34 -0000 1.88 +++ xmlparse.c 30 Sep 2002 12:11:26 -0000 1.89 @@ -633,18 +633,18 @@ return XML_ParserCreate_MM(encodingName, NULL, tmp); } -XML_Parser +static const XML_Char implicitContext[] = { + 'x', 'm', 'l', '=', 'h', 't', 't', 'p', ':', '/', '/', + 'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/', + 'X', 'M', 'L', '/', '1', '9', '9', '8', '/', + 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', '\0' +}; + + XML_Parser XML_ParserCreate_MM(const XML_Char *encodingName, const XML_Memory_Handling_Suite *memsuite, const XML_Char *nameSep) { XML_Parser parser; - static const XML_Char implicitContext[] = { - 'x', 'm', 'l', '=', 'h', 't', 't', 'p', ':', '/', '/', - 'w', 'w', 'w', '.', 'w', '3', '.', 'o', 'r', 'g', '/', - 'X', 'M', 'L', '/', '1', '9', '9', '8', '/', - 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', '\0' - }; - if (memsuite) { XML_Memory_Handling_Suite *mtemp; @@ -835,7 +835,7 @@ poolClear(&temp2Pool); parserInit(parser, encodingName); dtdReset(&dtd, parser); - return XML_TRUE; + return setContext(parser, implicitContext); } int