- HTMLtree.c: real fix for #53402
Daniel
diff --git a/HTMLtree.c b/HTMLtree.c
index 51a72f9..28226ea 100644
--- a/HTMLtree.c
+++ b/HTMLtree.c
@@ -516,15 +516,19 @@
return;
}
if (cur->type == HTML_PI_NODE) {
+ if (cur->name == NULL)
+ return;
+ xmlBufferWriteChar(buf, "<?");
+ xmlBufferWriteCHAR(buf, cur->name);
if (cur->content != NULL) {
- xmlBufferWriteChar(buf, "<?");
+ xmlBufferWriteChar(buf, " ");
#ifndef XML_USE_BUFFER_CONTENT
xmlBufferWriteCHAR(buf, cur->content);
#else
xmlBufferWriteCHAR(buf, xmlBufferContent(cur->content));
#endif
- xmlBufferWriteChar(buf, ">");
}
+ xmlBufferWriteChar(buf, ">");
return;
}
if (cur->type == HTML_ENTITY_REF_NODE) {
@@ -880,16 +884,20 @@
return;
}
if (cur->type == HTML_PI_NODE) {
+ if (cur->name == NULL)
+ return;
+ xmlOutputBufferWriteString(buf, "<?");
+ xmlOutputBufferWriteString(buf, (const char *)cur->name);
if (cur->content != NULL) {
- xmlOutputBufferWriteString(buf, "<?");
+ xmlOutputBufferWriteString(buf, " ");
#ifndef XML_USE_BUFFER_CONTENT
xmlOutputBufferWriteString(buf, (const char *)cur->content);
#else
xmlOutputBufferWriteString(buf, (const char *)
xmlBufferContent(cur->content));
#endif
- xmlOutputBufferWriteString(buf, ">");
}
+ xmlOutputBufferWriteString(buf, ">");
return;
}
if (cur->type == HTML_ENTITY_REF_NODE) {