1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-27 18:50:07 +03:00

- HTMLtree.c: fixed the bug reported by Bjorn in htmlNodeDump

Daniel
This commit is contained in:
Daniel Veillard 2001-05-08 08:27:14 +00:00
parent 01ef738700
commit 083c2660f4
2 changed files with 21 additions and 25 deletions

View File

@ -1,3 +1,7 @@
Tue May 8 10:26:22 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
* HTMLtree.c: fixed the bug reported by Bjorn in htmlNodeDump
Tue May 8 09:30:12 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
* configure.in: fixed a small portability problem with AM_CONDITIONAL

View File

@ -493,16 +493,6 @@ htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
}
return;
}
if (cur->type == HTML_PRESERVE_NODE) {
if (cur->content != NULL) {
#ifndef XML_USE_BUFFER_CONTENT
xmlBufferWriteCHAR(buf, cur->content);
#else
xmlBufferWriteCHAR(buf, xmlBufferContent(cur->content));
#endif
}
return;
}
if (cur->type == HTML_COMMENT_NODE) {
if (cur->content != NULL) {
xmlBufferWriteChar(buf, "<!--");
@ -537,9 +527,19 @@ htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
xmlBufferWriteChar(buf, ";");
return;
}
if (cur->type == HTML_PRESERVE_NODE) {
if (cur->content != NULL) {
#ifndef XML_USE_BUFFER_CONTENT
xmlBufferWriteCHAR(buf, cur->content);
#else
xmlBufferWriteCHAR(buf, xmlBufferContent(cur->content));
#endif
}
return;
}
/*
* Get specific HTmL info for taht node.
* Get specific HTML info for taht node.
*/
info = htmlTagLookup(cur->name);
@ -558,9 +558,10 @@ htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
return;
}
if ((cur->content == NULL) && (cur->children == NULL)) {
if ((info != NULL) && (info->endTag != 0))
if ((info != NULL) && (info->saveEndTag != 0) &&
(strcmp(info->name, "html")) && (strcmp(info->name, "body"))) {
xmlBufferWriteChar(buf, ">");
else {
} else {
xmlBufferWriteChar(buf, "></");
xmlBufferWriteCHAR(buf, cur->name);
xmlBufferWriteChar(buf, ">");
@ -577,10 +578,10 @@ htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
xmlChar *buffer;
#ifndef XML_USE_BUFFER_CONTENT
buffer = xmlEncodeEntitiesReentrant(doc, cur->content);
buffer = xmlEncodeEntitiesReentrant(doc, cur->content);
#else
buffer = xmlEncodeEntitiesReentrant(doc,
xmlBufferContent(cur->content));
buffer = xmlEncodeEntitiesReentrant(doc,
xmlBufferContent(cur->content));
#endif
if (buffer != NULL) {
xmlBufferWriteCHAR(buf, buffer);
@ -598,11 +599,6 @@ htmlNodeDump(xmlBufferPtr buf, xmlDocPtr doc, xmlNodePtr cur) {
(cur->children != cur->last))
xmlBufferWriteChar(buf, "\n");
}
if (!htmlIsAutoClosed(doc, cur)) {
xmlBufferWriteChar(buf, "</");
xmlBufferWriteCHAR(buf, cur->name);
xmlBufferWriteChar(buf, ">");
}
xmlBufferWriteChar(buf, "</");
xmlBufferWriteCHAR(buf, cur->name);
xmlBufferWriteChar(buf, ">");
@ -939,10 +935,6 @@ htmlNodeDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
}
if ((cur->content == NULL) && (cur->children == NULL)) {
if ((info != NULL) && (info->saveEndTag != 0) &&
/*
(xmlStrcasecmp(BAD_CAST info->name, BAD_CAST "html")) &&
(xmlStrcasecmp(BAD_CAST info->name, BAD_CAST "body"))) {
*/
(strcmp(info->name, "html")) && (strcmp(info->name, "body"))) {
xmlOutputBufferWriteString(buf, ">");
} else {