Commit 499cc920 authored by Daniel Veillard's avatar Daniel Veillard
Browse files

try to fix xmlParseInNodeContext when operating on an HTML document.

* HTMLparser.c libxml.h parser.c: try to fix xmlParseInNodeContext
  when operating on an HTML document.
Daniel
parent a930fbec
Wed Jan 18 18:21:15 CET 2006 Daniel Veillard <daniel@veillard.com>
* HTMLparser.c libxml.h parser.c: try to fix xmlParseInNodeContext
when operating on an HTML document.
Mon Jan 9 17:27:15 CET 2006 Kasimier Buchcik <libxml2-cvs@cazic.net>
 
* relaxng.c include/libxml/relaxng.h: Added
......
......@@ -3753,10 +3753,8 @@ htmlParseReference(htmlParserCtxtPtr ctxt) {
/**
* htmlParseContent:
* @ctxt: an HTML parser context
* @name: the node name
*
* Parse a content: comment, sub-element, reference or text.
*
*/
static void
......@@ -3874,6 +3872,19 @@ htmlParseContent(htmlParserCtxtPtr ctxt) {
if (currentNode != NULL) xmlFree(currentNode);
}
/**
* htmlParseContent:
* @ctxt: an HTML parser context
*
* Parse a content: comment, sub-element, reference or text.
*/
void
__htmlParseContent(void *ctxt) {
if (ctxt != NULL)
htmlParseContent((htmlParserCtxtPtr) ctxt);
}
/**
* htmlParseElement:
* @ctxt: an HTML parser context
......
......@@ -49,6 +49,14 @@ extern int __xmlRegisterCallbacks;
*/
void __xmlIOErr(int domain, int code, const char *extra);
void __xmlLoaderErr(void *ctx, const char *msg, const char *filename);
#ifdef LIBXML_HTML_ENABLED
/*
* internal function of HTML parser needed for xmlParseInNodeContext
* but not part of the API
*/
void __htmlParseContent(void *ctx);
#endif
#ifdef IN_LIBXML
#ifdef __GNUC__
......
......@@ -11709,7 +11709,13 @@ xmlParseInNodeContext(xmlNodePtr node, const char *data, int datalen,
ctxt->loadsubset |= XML_SKIP_IDS;
}
xmlParseContent(ctxt);
#ifdef LIBXML_HTML_ENABLED
if (doc->type == XML_HTML_DOCUMENT_NODE)
__htmlParseContent(ctxt);
else
#endif
xmlParseContent(ctxt);
nsPop(ctxt, nsnr);
if ((RAW == '<') && (NXT(1) == '/')) {
xmlFatalErr(ctxt, XML_ERR_NOT_WELL_BALANCED, NULL);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment