Commit Graph

201 Commits

Author SHA1 Message Date
Fred L. Drake, Jr.
99609421a8 Make it possible to avoid the import of expat_config.h. This makes it
easier to compile Expat without the autoconf support.
This closes SF patch #458907.
2003-10-16 04:51:11 +00:00
Fred L. Drake, Jr.
c56983e0f0 - use spaces instead of tabs consistently
- don't allow trailing whitespace at the end of lines
- remove blank lines at the end of the file
2003-10-16 04:23:44 +00:00
Fred L. Drake, Jr.
80e8668e6f Remove the __attribute__((dllimport)) and __attribute__((dllexport))
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.
2003-10-16 04:20:54 +00:00
Karl Waclawek
5bdc75633d Removed unused EXPAT_EXPORTS definition. 2003-10-15 21:38:15 +00:00
Fred L. Drake, Jr.
2331e87068 clean up the macro restructuring, and make it play nice on Windows 2003-10-15 20:51:28 +00:00
Fred L. Drake, Jr.
2bba3d20f5 Deal with issue discussed in SF patch #820946: Expat doesn't handle
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.
2003-10-15 16:25:44 +00:00
Greg Stein
d7a766e9df Suggested fix from jtalkington@users.sf.net.
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.
2003-09-28 21:57:22 +00:00
Karl Waclawek
ecceec27f2 Improved comment on hash algorithm. 2003-09-22 14:14:54 +00:00
Karl Waclawek
b28869898a Applied patch #699487. For details see patch description. 2003-09-13 17:30:30 +00:00
Fred L. Drake, Jr.
fa49735f8a - bump the versioning information
- start describing the changes in 1.95.7
2003-07-15 15:20:35 +00:00
Karl Waclawek
57455c864c Expat would report an incorrect "Unlosed token" error when
expanding %percent; in the second of these entity declarations:

<!ENTITY % percent "&#37;">
<!ENTITY %percent; y "value">

This patch was submitted by James Clark on the xml-dev mailing list.
2003-07-03 04:01:14 +00:00
Fred L. Drake, Jr.
f668c507d9 Be more defensive: only enable the *CALL macros when using GCC on
Linux, since we know the current definitions work there and have a
positive effect.
This closes SF bug #692878.
2003-03-14 17:25:12 +00:00
Fred L. Drake, Jr.
5bd3d020d3 - better explain the XML_GetCurrent*() functions (SF bug #683681) 2003-03-13 02:17:48 +00:00
Fred L. Drake, Jr.
cc454566be Fix FASTCALL for GCC on Solaris (SF bug #692878).
This file is becoming a liability.
2003-03-12 23:02:11 +00:00
Karl Waclawek
8650b04b24 Apply patch NSAttFix3.diff for bug #692964 (with one minor modification).
This also fixes bug #695401.
2003-03-07 15:54:08 +00:00
Karl Waclawek
2d3510fa5f Fix for bug #679754: compile error when XML_DTD not defined. 2003-02-03 20:32:45 +00:00
Fred L. Drake, Jr.
777344d49d Move the XML_Status enum definition earlier. Some recent versions of
GCC (3.2 at least) report an error from the forward reference.
2003-01-29 02:43:08 +00:00
Fred L. Drake, Jr.
1ffb2b424a Karl's latest patch for SF issue #673791:
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.
2003-01-28 05:45:10 +00:00
Fred L. Drake, Jr.
a04f107e61 Karl's fix for SF bug #673791:
Error with xmlns:prefix= with namespace processing enabled.

It seems that storeAtts() has the following properties:
- when called with tagNamePtr = NULL and bindingsPtr = NULL,
  it does not process attributes incl. namespace declarations
- when called with all arguments non-NULL it processes
  attributes (incl. default attributes) and namespace declarations

We also have these requirements:

A) for start of element event:

  1) if we have a startElementHandler:
     we need to process at least default attributes,
     so we must call storeAtts with all arguments non-NULL
  2) if we have no startElementHandler, but we have attributes:
     we need to process namespace declarations,
     so we must call storeAtts with all arguments non-NULL
  3) if we have no startElementHandler and no attributes:
     we need to store the name (for the end element event, where
     the names are compared) and call only the default handler

  Note: Storing the name is a pre-requisiste for calling
        storeAtts with all arguments non-NULL.

So there really is no place for calling storeAtts with
tagNamePtr = NULL and bindingsPtr = NULL.

B) for empty element event:

  1) if we have a startElementHandler:
     we need to process at least default attributes,
     so we must call storeAtts with all arguments non-NULL
  2) if we have no startElementHandler, but we have attributes:
     we need to process namespace declarations,
     so we must call storeAtts with all arguments non-NULL
  3) if we have no startElementHandler and no attributes,
     but we have an endElementHandler:
     we need to store the name for calling the handler,
     but we need not process any attributes (default or not)
  4) if we have no start- or endElementHandler, and no attributes:
     we need to call only the default handler

Given that storeAtts will now always be called with all arguments
non-NULL we could remove a few internal checks in storeAtts,
if that improves efficiency. Not sure if that is worth it.

This patch should therefore fix the problem of namespace declarations
not being processed when no startElementHandler is set, that is,
it will fix Jeremy's NS processing patch.
2003-01-25 06:53:05 +00:00
Karl Waclawek
d9d497177a Applied patch #673791. 2003-01-24 05:01:45 +00:00
Karl Waclawek
dd2ecd7fa8 For the start of element and end of element events, it is possible that
the default handler does not get called even when no element handlers
are called, because storeAtts() may trigger the startNamespaceDeclHandler
where the application has a chance to clear the element handlers.

This patch fixes this with one issue still open, which applies to empty elements only:
When the endElement handler is called, but not the startElementHandler,
then the default handler is not called, which causes attributes to not
be reported at all. The other alternative would be to call the default handler,
but then the element would be reported twice.
2003-01-22 14:52:20 +00:00
Karl Waclawek
c56f444ab0 Prevent storeAtts() from being called twice for an empty element when
the endElementHandler is set, but not the startElementHandler.
2003-01-22 14:26:07 +00:00
Fred L. Drake, Jr.
7410374a90 Correct the version some APIs were added in. 2003-01-16 23:22:56 +00:00
Karl Waclawek
f19a5291ec Patch for bug/feature request #651754.
Implemented with two API additions:
1) For element declaration handler support:
  XML_FreeContentModel
2) Exposing Expat's memory allocation functions:
  XML_MemMalloc
  XML_MemRealloc
  XML_MemFree
2003-01-16 22:03:42 +00:00
Karl Waclawek
3bfb49007e Applied patch for bug #667511 supplied by Jeremy Kloth. 2003-01-15 00:51:15 +00:00
Fred L. Drake, Jr.
77c2d3e0ae Update comments to refer to XML_STATUS_OK, XML_STATUS_ERROR, and NULL
as appropriate.
2002-12-31 17:53:21 +00:00
Fred L. Drake, Jr.
eb280e7260 Change the API to return XML_Status values where possible.
Existing client code is 100% compatible.
2002-12-30 20:12:52 +00:00
Fred L. Drake, Jr.
f379e9315f When returning a status value through the public API, use
XML_STATUS_OK / XML_STATUS_ERROR.  Internal status returns are not
affected.
2002-12-30 20:02:28 +00:00
Karl Waclawek
e6802bb514 Fix for bug/feature request #653180. 2002-12-16 04:02:02 +00:00
Karl Waclawek
ed47baa513 Applied patch for bug #653449. 2002-12-14 03:12:18 +00:00
Karl Waclawek
f162999a26 Annotated MS VC++ DEF files. 2002-12-08 14:35:34 +00:00
Patrick McConnell
2fd9d5e8d6 Moving the Borland .def files to the BCB5 directory and correcting an
error in the LIBRARY entry
2002-12-08 03:16:38 +00:00
Patrick McConnell
7c008489b1 libexpat dll def files for borland initial release 2002-12-07 08:25:58 +00:00
Karl Waclawek
48cb2c35b0 Added additional patch for bug #644334. Includes workaround for
bad API typedef of externalEntityRefHandler.
2002-11-27 17:11:32 +00:00
Fred L. Drake, Jr.
9a41111b9d Add some type casts to deal with MALLOC signature checking for
some platforms.
Closes SF bug #644334.
2002-11-27 04:03:33 +00:00
Fred L. Drake, Jr.
d0d21d7253 The feature name pointers should be marked const. This reportedly
avoids some warnings on HP-UX using the aCC compiler.
Closes SF bug #644461.
2002-11-27 03:31:23 +00:00
Fred L. Drake, Jr.
4e95e87acb Make sure all lines end with a newline. 2002-11-20 04:27:32 +00:00
Fred L. Drake, Jr.
0a40843bde Remove trailing whitespace. 2002-11-12 21:49:36 +00:00
Fred L. Drake, Jr.
47d66b73ba Remove trailing whitespace. 2002-11-12 21:44:18 +00:00
Karl Waclawek
c61a46c305 * Applied patch #620822 - Windows Dll build with DEF file
* Changed macro for static linking from _STATIC to XML_STATIC
  and modified expat.h accordingly
* Added ReadMe file to Win32 subdirectory documenting Windows builds
* Changed static build settings to create libraries with names different
  from the Dll stub library libexpat(w).lib
2002-10-21 21:19:41 +00:00
Karl Waclawek
b6a92c7a8f Improved documentation of XML_ExternalEntityRefHandler. 2002-10-17 16:47:45 +00:00
Karl Waclawek
e3bfa4a70a Applied patch for bug # 620106. 2002-10-09 13:21:45 +00:00
Fred L. Drake, Jr.
f4befc31c3 SF bug #620343: segfault: bad API/callback interaction
The start-namespace-decl callback can set the start-element callback to
NULL, but Expat tried to call it anyway.
2002-10-08 17:04:55 +00:00
Fred L. Drake, Jr.
6fca489398 Bump version numbers. 2002-10-07 20:26:31 +00:00
Karl Waclawek
7edd98f770 Applied patch #618199. 2002-10-03 19:41:26 +00:00
Karl Waclawek
ea4dc4d03f Applied fix for bug #616863. 2002-10-01 16:58:54 +00:00
Karl Waclawek
8666c2388d Forgot to re-establish implicit namespace context (prefix xml)
in XML_ParserReset().
2002-09-30 12:11:26 +00:00
Karl Waclawek
74e6874851 Fix for bug #615606. 2002-09-28 14:47:34 +00:00
Karl Waclawek
5ca83cc911 Changed calling convention macros to differentiate between
different types of function calls - see comments in internal.h.
2002-09-20 03:42:43 +00:00
Fred L. Drake, Jr.
d784ead9cb 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.  ;-(
2002-09-06 21:49:57 +00:00