preparing a beta3 solving the ABI problems make sure the global variables
* configure.in: preparing a beta3 solving the ABI problems
* globals.c parser.c parserInternals.c testHTML.c HTMLparser.c SAX.c
include/libxml/globals.h include/libxml/SAX.h: make sure the
global variables for the default SAX handler are V1 ones to
avoid ABI compat problems.
* xmlreader.c: cleanup of uneeded code
* hash.c: fix a comment
Daniel
diff --git a/SAX2.c b/SAX2.c
index df1c67e..ead3d33 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -2412,17 +2412,6 @@
if ((version != 1) && (version != 2))
return(-1);
xmlSAX2DefaultVersionValue = version;
- if (version == 1) {
- xmlDefaultSAXHandler.startElement = xmlSAX2StartElement;
- xmlDefaultSAXHandler.endElement = xmlSAX2EndElement;
- xmlDefaultSAXHandler.startElementNs = NULL;
- xmlDefaultSAXHandler.endElementNs = NULL;
- } else if (version == 2) {
- xmlDefaultSAXHandler.startElement = NULL;
- xmlDefaultSAXHandler.endElement = NULL;
- xmlDefaultSAXHandler.startElementNs = xmlSAX2StartElementNs;
- xmlDefaultSAXHandler.endElementNs = xmlSAX2EndElementNs;
- }
return(ret);
}
@@ -2442,13 +2431,13 @@
if (version == 1) {
hdlr->startElement = xmlSAX2StartElement;
hdlr->endElement = xmlSAX2EndElement;
- hdlr->startElementNs = NULL;
- hdlr->endElementNs = NULL;
+ hdlr->initialized = 1;
} else if (version == 2) {
hdlr->startElement = NULL;
hdlr->endElement = NULL;
hdlr->startElementNs = xmlSAX2StartElementNs;
hdlr->endElementNs = xmlSAX2EndElementNs;
+ hdlr->initialized = XML_SAX2_MAGIC;
} else
return(-1);
hdlr->internalSubset = xmlSAX2InternalSubset;
@@ -2477,7 +2466,6 @@
hdlr->error = xmlParserError;
hdlr->fatalError = xmlParserError;
- hdlr->initialized = XML_SAX2_MAGIC;
return(0);
}
@@ -2509,8 +2497,7 @@
void
xmlDefaultSAXHandlerInit(void)
{
- xmlSAX2InitDefaultSAXHandler(&xmlDefaultSAXHandler,
- xmlGetWarningsDefaultValue);
+ xmlSAXVersion((xmlSAXHandlerPtr) &xmlDefaultSAXHandler, 1);
}
#ifdef LIBXML_HTML_ENABLED
@@ -2555,7 +2542,7 @@
hdlr->error = xmlParserError;
hdlr->fatalError = xmlParserError;
- hdlr->initialized = XML_SAX2_MAGIC;
+ hdlr->initialized = 1;
}
/**
@@ -2566,7 +2553,7 @@
void
htmlDefaultSAXHandlerInit(void)
{
- xmlSAX2InitHtmlDefaultSAXHandler(&htmlDefaultSAXHandler);
+ xmlSAX2InitHtmlDefaultSAXHandler((xmlSAXHandlerPtr) &htmlDefaultSAXHandler);
}
#endif /* LIBXML_HTML_ENABLED */
@@ -2624,7 +2611,7 @@
void
docbDefaultSAXHandlerInit(void)
{
- xmlSAX2InitDocbDefaultSAXHandler(&docbDefaultSAXHandler);
+ xmlSAX2InitDocbDefaultSAXHandler((xmlSAXHandlerPtr) &docbDefaultSAXHandler);
}
#endif /* LIBXML_DOCB_ENABLED */