1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-08-08 17:42:14 +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> Tue May 8 09:30:12 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
* configure.in: fixed a small portability problem with AM_CONDITIONAL * configure.in: fixed a small portability problem with AM_CONDITIONAL

View File

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