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
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.
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
+
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.
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.
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.
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
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.
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
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.