declarations; these are needed only on an obscure platform (Windows NT
on PowerPC using GCC), and were never in previous releases of Expat.
They caused way too many spurious warnings on several platforms where
they aren't actually needed but should be ignored silently.
Removing these cannot break working code.
the use of modified default calling conventions in client code.
To deal with this issue and generally clean up the mass of macros
being used to support bits of the machinery, two new macros are being
added:
- XMLCALL, which expands to whatever is needed to nail down the
calling convention for all calls across the library boundary. This
must match the convention used for the system's malloc()
implementation.
- XMLIMPORT, defined to be whatever magic is needed to mark an entry
point as imported from a dynamically loaded module (.dll, .so, .sl,
whatever).
These macros are used to define the XMLPARSEAPI macro already being
used to define the API entry points. In addition, XMLCALL is used to
define the types of callback functions, and all example code uses this
explicitly in both the distributed applications and the documentation.
package available.
sfbug #664541.
* configure.in: look for check.h. This will set up a HAVE_CHECK_H define.
* tests/chardata.c, tests/runtests.c: update banner. add test for
HAVE_CHECK_H and bail if not present.
See bug #765227.
* lib/internal.h:
(FASTCALL, PTRFASTCALL): only define these macros for the GNU C compiler
on i386 platforms. apprently, they do not work well on PPC ports.
expanding %percent; in the second of these entity declarations:
<!ENTITY % percent "%">
<!ENTITY %percent; y "value">
This patch was submitted by James Clark on the xml-dev mailing list.
modifications by Greg Stein (comments and text changes).
* buildconf.sh: to deal with crazy/custom libtool installations, allow
the developer/package to specify the libtool.m4 location by
setting the LIBTOOL_M4 environment variable. If that isn't set,
then we use our previous method of trying to derive its location.
Call storeAtts() for all element start tags; this is necessary to
ensure attribute defaults are properly processed for all elements
(needed to do proper namespace checking, at the very least), and that
tag names are properly cooked when there's an end-element-handler but
no start-element-handler.
This causes the new tests to pass, and closes the SF tracker issue.