- Makefile.am: added --push regression tests
- parserInternals.c: the XML parser segfaulted in --push mode
Daniel
diff --git a/ChangeLog b/ChangeLog
index 00c4821..3c5716e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jun 27 18:33:13 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
+
+ * Makefile.am: added --push regression tests
+ * parserInternals.c: the XML parser segfaulted in --push mode
+
Wed Jun 27 13:09:51 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
* configure.in: moved the symlinks detection within a CVS
diff --git a/Makefile.am b/Makefile.am
index 0e3faa4..ae4a1b3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -185,6 +185,26 @@
diff result.$$name result2.$$name ; \
rm result.$$name result2.$$name ; \
fi ; fi ; done)
+ @(echo > .memdump)
+ @echo "##"
+ @echo "## XML push regression tests"
+ @echo "##"
+ @echo "## You should see one warning on entity 'title.xml' for ent2"
+ @echo "##"
+ @(for i in $(srcdir)/test/* ; do \
+ name=`basename $$i`; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/result/$$name ] ; then \
+ echo New test file $$name ; \
+ $(top_builddir)/xmllint --push $$i > $(srcdir)/result/$$name ; \
+ else \
+ echo Testing $$name ; \
+ $(top_builddir)/xmllint --push $$i > result.$$name ; \
+ diff $(srcdir)/result/$$name result.$$name ; \
+ $(top_builddir)/xmllint --push result.$$name > result2.$$name ; \
+ diff result.$$name result2.$$name ; \
+ rm result.$$name result2.$$name ; \
+ fi ; fi ; done)
@echo "##"
@echo "## XML regression tests on memory"
@echo "##"
diff --git a/parserInternals.c b/parserInternals.c
index cf7a96b..43b97c4 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -1575,7 +1575,8 @@
* Specific handling of the Byte Order Mark for
* UTF-8
*/
- if ((ctxt->input->cur[0] == 0xEF) &&
+ if ((ctxt->input != NULL) &&
+ (ctxt->input->cur[0] == 0xEF) &&
(ctxt->input->cur[1] == 0xBB) &&
(ctxt->input->cur[2] == 0xBF)) {
ctxt->input->cur += 3;