mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
- HTMLparser.c: trying to fix the problem reported by Jonas Borgstrm
- results/HTML/ : a few changes in the output of the HTML tests as a result. - configure.in: tying to fix -liconv where needed Daniel
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
Thu May 3 10:25:19 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
||||||
|
|
||||||
|
* HTMLparser.c: trying to fix the problem reported by Jonas Borgstr<74>m
|
||||||
|
* results/HTML/ : a few changes in the output of the HTML tests as
|
||||||
|
a result.
|
||||||
|
* configure.in: tying to fix -liconv where needed
|
||||||
|
|
||||||
Wed May 2 19:10:26 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
Wed May 2 19:10:26 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
||||||
|
|
||||||
* Makefile.am: fixed a stupid error
|
* Makefile.am: fixed a stupid error
|
||||||
|
19
HTMLparser.c
19
HTMLparser.c
@ -564,6 +564,16 @@ static const char *htmlScriptAttributes[] = {
|
|||||||
"onselect"
|
"onselect"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* end tags that imply the end of the inside elements
|
||||||
|
*/
|
||||||
|
const char *htmlEndClose[] = {
|
||||||
|
"head",
|
||||||
|
"body",
|
||||||
|
"html",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static const char** htmlStartCloseIndex[100];
|
static const char** htmlStartCloseIndex[100];
|
||||||
static int htmlStartCloseIndexinitialized = 0;
|
static int htmlStartCloseIndexinitialized = 0;
|
||||||
@ -664,7 +674,7 @@ static void
|
|||||||
htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar *newtag) {
|
htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar *newtag) {
|
||||||
htmlElemDescPtr info;
|
htmlElemDescPtr info;
|
||||||
xmlChar *oldname;
|
xmlChar *oldname;
|
||||||
int i;
|
int i, endCloses = 0;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
xmlGenericError(xmlGenericErrorContext,"Close of %s stack: %d elements\n", newtag, ctxt->nameNr);
|
xmlGenericError(xmlGenericErrorContext,"Close of %s stack: %d elements\n", newtag, ctxt->nameNr);
|
||||||
@ -676,6 +686,11 @@ htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar *newtag) {
|
|||||||
if (xmlStrEqual(newtag, ctxt->nameTab[i])) break;
|
if (xmlStrEqual(newtag, ctxt->nameTab[i])) break;
|
||||||
}
|
}
|
||||||
if (i < 0) return;
|
if (i < 0) return;
|
||||||
|
for (i = 0; (htmlEndClose[i] != NULL);i++)
|
||||||
|
if (xmlStrEqual(newtag, (const xmlChar *) htmlEndClose[i])) {
|
||||||
|
endCloses = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
while (!xmlStrEqual(newtag, ctxt->name)) {
|
while (!xmlStrEqual(newtag, ctxt->name)) {
|
||||||
info = htmlTagLookup(ctxt->name);
|
info = htmlTagLookup(ctxt->name);
|
||||||
@ -692,7 +707,7 @@ htmlAutoCloseOnClose(htmlParserCtxtPtr ctxt, const xmlChar *newtag) {
|
|||||||
"Opening and ending tag mismatch: %s and %s\n",
|
"Opening and ending tag mismatch: %s and %s\n",
|
||||||
newtag, ctxt->name);
|
newtag, ctxt->name);
|
||||||
ctxt->wellFormed = 0;
|
ctxt->wellFormed = 0;
|
||||||
} else {
|
} else if (endCloses == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
|
if ((ctxt->sax != NULL) && (ctxt->sax->endElement != NULL))
|
||||||
|
40
aclocal.m4
vendored
40
aclocal.m4
vendored
@ -620,31 +620,35 @@ esac
|
|||||||
])
|
])
|
||||||
|
|
||||||
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
|
||||||
# the libltdl convenience library, adds --enable-ltdl-convenience to
|
# the libltdl convenience library and INCLTDL to the include flags for
|
||||||
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
|
# the libltdl header and adds --enable-ltdl-convenience to the
|
||||||
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
|
# configure arguments. Note that LIBLTDL and INCLTDL are not
|
||||||
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
|
# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
|
||||||
# '${top_builddir}/' (note the single quotes!) if your package is not
|
# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
|
||||||
# flat, and, if you're not using automake, define top_builddir as
|
# with '${top_builddir}/' and INCLTDL will be prefixed with
|
||||||
# appropriate in the Makefiles.
|
# '${top_srcdir}/' (note the single quotes!). If your package is not
|
||||||
|
# flat and you're not using automake, define top_builddir and
|
||||||
|
# top_srcdir appropriately in the Makefiles.
|
||||||
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||||
case "$enable_ltdl_convenience" in
|
case "$enable_ltdl_convenience" in
|
||||||
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
|
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
|
||||||
"") enable_ltdl_convenience=yes
|
"") enable_ltdl_convenience=yes
|
||||||
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
|
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
|
||||||
esac
|
esac
|
||||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
|
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
|
||||||
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
|
||||||
])
|
])
|
||||||
|
|
||||||
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
|
||||||
# the libltdl installable library, and adds --enable-ltdl-install to
|
# the libltdl installable library and INCLTDL to the include flags for
|
||||||
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
|
# the libltdl header and adds --enable-ltdl-install to the configure
|
||||||
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
|
# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
|
||||||
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
|
# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
|
||||||
# '${top_builddir}/' (note the single quotes!) if your package is not
|
# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
|
||||||
# flat, and, if you're not using automake, define top_builddir as
|
# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
|
||||||
# appropriate in the Makefiles.
|
# with '${top_srcdir}/' (note the single quotes!). If your package is
|
||||||
|
# not flat and you're not using automake, define top_builddir and
|
||||||
|
# top_srcdir appropriately in the Makefiles.
|
||||||
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
|
||||||
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
||||||
AC_CHECK_LIB(ltdl, main,
|
AC_CHECK_LIB(ltdl, main,
|
||||||
@ -657,8 +661,8 @@ AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
|
|||||||
])
|
])
|
||||||
if test x"$enable_ltdl_install" = x"yes"; then
|
if test x"$enable_ltdl_install" = x"yes"; then
|
||||||
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
ac_configure_args="$ac_configure_args --enable-ltdl-install"
|
||||||
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
|
LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
|
||||||
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
|
INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
|
||||||
else
|
else
|
||||||
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
|
||||||
LIBLTDL="-lltdl"
|
LIBLTDL="-lltdl"
|
||||||
|
@ -359,7 +359,8 @@ if test "$with_iconv" = "no" ; then
|
|||||||
WITH_ICONV=0
|
WITH_ICONV=0
|
||||||
else
|
else
|
||||||
AC_CHECK_HEADER(iconv.h,
|
AC_CHECK_HEADER(iconv.h,
|
||||||
AC_CHECK_FUNC(iconv, , AC_CHECK_LIB(iconv, iconv)))
|
AC_CHECK_FUNC(iconv, ,
|
||||||
|
AC_CHECK_LIB(iconv, iconv, XML_LIBS="$XML_LIBS -liconv")))
|
||||||
if test "$have_iconv" != "" ; then
|
if test "$have_iconv" != "" ; then
|
||||||
echo Iconv support not found
|
echo Iconv support not found
|
||||||
WITH_ICONV=0
|
WITH_ICONV=0
|
||||||
|
@ -91,9 +91,3 @@ HEIGHT="70"> </TD> </TR></TABLE>
|
|||||||
./test/HTML/doc3.htm:844: error: Opening and ending tag mismatch: div and tbody
|
./test/HTML/doc3.htm:844: error: Opening and ending tag mismatch: div and tbody
|
||||||
,arial">Site design by Tim Brinkley</FONT> </TD> </TR> --></TBODY></TABLE></DI
|
,arial">Site design by Tim Brinkley</FONT> </TD> </TR> --></TBODY></TABLE></DI
|
||||||
^
|
^
|
||||||
./test/HTML/doc3.htm:846: error: Opening and ending tag mismatch: body and tbody
|
|
||||||
</BODY></HTML>
|
|
||||||
^
|
|
||||||
./test/HTML/doc3.htm:846: error: Opening and ending tag mismatch: html and tbody
|
|
||||||
</BODY></HTML>
|
|
||||||
^
|
|
||||||
|
@ -2872,13 +2872,11 @@ SAX.cdata( window.open=NS_ActualOpen; , 28)
|
|||||||
SAX.startElement(script)
|
SAX.startElement(script)
|
||||||
SAX.cdata( window.open=NS_ActualOpen; , 28)
|
SAX.cdata( window.open=NS_ActualOpen; , 28)
|
||||||
SAX.endElement(script)
|
SAX.endElement(script)
|
||||||
SAX.characters(
|
|
||||||
, 2)
|
|
||||||
SAX.error: Opening and ending tag mismatch: body and tbody
|
|
||||||
SAX.error: Opening and ending tag mismatch: html and tbody
|
|
||||||
SAX.characters(
|
SAX.characters(
|
||||||
, 2)
|
, 2)
|
||||||
SAX.endElement(tbody)
|
SAX.endElement(tbody)
|
||||||
SAX.endElement(table)
|
SAX.endElement(table)
|
||||||
SAX.endElement(div)
|
SAX.endElement(div)
|
||||||
|
SAX.endElement(body)
|
||||||
|
SAX.endElement(html)
|
||||||
SAX.ignorableWhitespace(
|
SAX.ignorableWhitespace(
|
||||||
|
@ -259,9 +259,3 @@ com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</a
|
|||||||
./test/HTML/wired.html:430: error: htmlParseEntityRef: expecting ';'
|
./test/HTML/wired.html:430: error: htmlParseEntityRef: expecting ';'
|
||||||
href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1">Lycos</
|
href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1">Lycos</
|
||||||
^
|
^
|
||||||
./test/HTML/wired.html:512: error: Opening and ending tag mismatch: body and td
|
|
||||||
</body>
|
|
||||||
^
|
|
||||||
./test/HTML/wired.html:513: error: Opening and ending tag mismatch: html and td
|
|
||||||
</html>
|
|
||||||
^
|
|
||||||
|
@ -2836,13 +2836,6 @@ SAX.startElement(br)
|
|||||||
SAX.endElement(br)
|
SAX.endElement(br)
|
||||||
SAX.characters(
|
SAX.characters(
|
||||||
, 1)
|
, 1)
|
||||||
SAX.error: Opening and ending tag mismatch: body and td
|
|
||||||
SAX.characters(
|
|
||||||
, 1)
|
|
||||||
SAX.error: Opening and ending tag mismatch: html and td
|
|
||||||
SAX.ignorableWhitespace(
|
|
||||||
|
|
||||||
, 2)
|
|
||||||
SAX.endElement(td)
|
SAX.endElement(td)
|
||||||
SAX.endElement(tr)
|
SAX.endElement(tr)
|
||||||
SAX.endElement(table)
|
SAX.endElement(table)
|
||||||
@ -2850,5 +2843,10 @@ SAX.endElement(td)
|
|||||||
SAX.endElement(tr)
|
SAX.endElement(tr)
|
||||||
SAX.endElement(table)
|
SAX.endElement(table)
|
||||||
SAX.endElement(body)
|
SAX.endElement(body)
|
||||||
|
SAX.ignorableWhitespace(
|
||||||
|
, 1)
|
||||||
SAX.endElement(html)
|
SAX.endElement(html)
|
||||||
|
SAX.ignorableWhitespace(
|
||||||
|
|
||||||
|
, 2)
|
||||||
SAX.endDocument()
|
SAX.endDocument()
|
||||||
|
Reference in New Issue
Block a user