Revise the XML_GetFeatureList() function signature so that we maintain the
behavior that all strings returned from Expat are affected by the XML_UNICODE
and XML_UNICODE_WCHAR_T feature-test macros, and ensure that an application
that needs to determine what type of character data is returned can do so
with reasonable ease.
Define XML_Error enum before referencing it.
Make the arg to XML_ErrorString() an XML_Error value. Compatible
since enums are binary compatible with ints.
One consequence of using an incomplete struct to define XML_Parser is
that compilers can be more picky about type compatibility. Tighten up
the function signatures to reduce spurious warnings.
Change XML_Parser definition to use an incomplete structure in the public
API, allowing the implementation to define the structure and use less
casting in internal macros.
Change XML_UseForeignDTD() to return an enum XML_Error value, to allow
specific conditions to be reported more clearly.
Karl Waclawek [Mon, 26 Aug 2002 01:33:56 +0000 (01:33 +0000)]
Removed DllMain function for Windows Dll.
Not needed, since we don't intialize antything, and it gets in
the way when building a static Expat library that is used by a Dll.
Factor out some error reporting code used when the parser is expected
to report an error, and either doesn't report an error at all or
reports the wrong error.
Renamed the last test added to be more clear about the condition being
tested.
Added a couple of additional tests checking for proper response to the
same well-formedness constraint. No bugs to fix there, just trying to
improve the coverage of the test suite.
Karl Waclawek [Thu, 22 Aug 2002 21:24:10 +0000 (21:24 +0000)]
Fix for WFC: Entity Declared handling:
Expat would return an "undefined entity" error for the document:
<!DOCTYPE doc SYSTEM "foo">
<doc>&entity;</doc>
if the DTD was not read.
Lots of really minor changes:
- Wrap paragraphs more consistently.
- Make this well-formed XML.
- When making a hyperlink to a function description, consistently
place the anchor inside the code, not the other way around.
- Make more references to function names hyperlinks to the
descriptions.
- Fix a few small typos.
- Don't always use an extra div to carry a class attribute, just stick
it on the pre.
Define specific return values for the XML_Parse*() functions, and use them
to test all XML_Parse*() return values in the test and sample code.
This is binary-compatible with previous Expat 1.95.x releases.
dtdInit(): Make this a void function, since there is only one possible
return value.
parserInit(), poolGrow(), setContext(): Make these return XML_Bool values,
to match their intended semantics.
XML_ParseBuffer(): Use NULL instead of 0 for a pointer value.
Define specific return values for the XML_Parse*() functions, and use them
to test all XML_Parse*() return values in the test and sample code.
This is binary-compatible with previous Expat 1.95.x releases.
Karl Waclawek [Sat, 27 Jul 2002 17:50:45 +0000 (17:50 +0000)]
Fixes to make it work with make & the free BCC32 command line compiler:
- enabled long command arguments with the "-l" option in makefile.mak
- removed an erroneous linker option from elements.mak
When creating a tarball from the HEAD instead of a release tag, use
the date to generate the filename instead of the Expat version
number. This makes sense since the resulting tarball does not
represent a versioned release.
Add a whine about the C preprocessor abuse used in this file.
Wrap most of the longer lines so fit in less than 80 columns (required
for OS/400 support).
Change the Borland support files so that the DLLs are named libexpat.dll and
libexpatw.dll, as they are for MSVC.
Since I do not have a Borland build environment, I hope I have not botched
this change!
Add a note about the Borland compiler support files.
Move the second column of the table right a couple of spaces to
there's space for the long directory name on the left.
A variety of code-style changes:
- Use only plain spaces, no hard tabs.
- Strip trailing whitespace from all lines.
- Strip blank line from the end of the file.
- Do no use a space following the ! operator.
- Wrap a couple of long lines.