added 2 new configure option: --with-reader --with-sax1 to allow removing
* Makefile.am SAX.c SAX2.c configure.in globals.c parser.c
parserInternals.c testReader.c testSAX.c xmlIO.c xmllint.c
xmlreader.c example/gjobread.c include/libxml/xmlversion.h.in:
added 2 new configure option: --with-reader --with-sax1
to allow removing the reader or non-xmlReadxxx() interfaces.
Daniel
diff --git a/xmlreader.c b/xmlreader.c
index 2900a4c..662ee26 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -21,6 +21,7 @@
#define IN_LIBXML
#include "libxml.h"
+#ifdef LIBXML_READER_ENABLED
#include <string.h> /* for memset() only ! */
#include <stdarg.h>
@@ -1501,20 +1502,24 @@
"xmlNewTextReader : malloc failed\n");
return(NULL);
}
- memcpy(ret->sax, &xmlDefaultSAXHandler, sizeof(xmlSAXHandler));
+ xmlSAXVersion(ret->sax, 2);
ret->startElement = ret->sax->startElement;
ret->sax->startElement = xmlTextReaderStartElement;
ret->endElement = ret->sax->endElement;
ret->sax->endElement = xmlTextReaderEndElement;
+#ifdef LIBXML_SAX1_ENABLED
if (ret->sax->initialized == XML_SAX2_MAGIC) {
+#endif /* LIBXML_SAX1_ENABLED */
ret->startElementNs = ret->sax->startElementNs;
ret->sax->startElementNs = xmlTextReaderStartElementNs;
ret->endElementNs = ret->sax->endElementNs;
ret->sax->endElementNs = xmlTextReaderEndElementNs;
+#ifdef LIBXML_SAX1_ENABLED
} else {
ret->startElementNs = NULL;
ret->endElementNs = NULL;
}
+#endif /* LIBXML_SAX1_ENABLED */
ret->characters = ret->sax->characters;
ret->sax->characters = xmlTextReaderCharacters;
ret->sax->ignorableWhitespace = xmlTextReaderCharacters;
@@ -3698,3 +3703,4 @@
}
#endif
#endif /* NOT_USED_YET */
+#endif /* LIBXML_READER_ENABLED */