Removal of threading problems, update documentation, added SAX tests, Daniel
diff --git a/entities.c b/entities.c
index e16dc55..88f2661 100644
--- a/entities.c
+++ b/entities.c
@@ -523,15 +523,13 @@
/**
* xmlDumpEntitiesTable:
+ * @buf: An XML buffer.
* @table: An entity table
*
* This will dump the content of the entity table as an XML DTD definition
- *
- * NOTE: TODO an extra parameter allowing a reentant implementation will
- * be added.
*/
void
-xmlDumpEntitiesTable(xmlEntitiesTablePtr table) {
+xmlDumpEntitiesTable(xmlBufferPtr buf, xmlEntitiesTablePtr table) {
int i;
xmlEntityPtr cur;
@@ -541,70 +539,70 @@
cur = &table->table[i];
switch (cur->type) {
case XML_INTERNAL_GENERAL_ENTITY:
- xmlBufferWriteChar("<!ENTITY ");
- xmlBufferWriteCHAR(cur->name);
- xmlBufferWriteChar(" \"");
- xmlBufferWriteCHAR(cur->content);
- xmlBufferWriteChar("\">\n");
+ xmlBufferWriteChar(buf, "<!ENTITY ");
+ xmlBufferWriteCHAR(buf, cur->name);
+ xmlBufferWriteChar(buf, " \"");
+ xmlBufferWriteCHAR(buf, cur->content);
+ xmlBufferWriteChar(buf, "\">\n");
break;
case XML_EXTERNAL_GENERAL_PARSED_ENTITY:
- xmlBufferWriteChar("<!ENTITY ");
- xmlBufferWriteCHAR(cur->name);
+ xmlBufferWriteChar(buf, "<!ENTITY ");
+ xmlBufferWriteCHAR(buf, cur->name);
if (cur->ExternalID != NULL) {
- xmlBufferWriteChar(" PUBLIC \"");
- xmlBufferWriteCHAR(cur->ExternalID);
- xmlBufferWriteChar("\" \"");
- xmlBufferWriteCHAR(cur->SystemID);
- xmlBufferWriteChar("\"");
+ xmlBufferWriteChar(buf, " PUBLIC \"");
+ xmlBufferWriteCHAR(buf, cur->ExternalID);
+ xmlBufferWriteChar(buf, "\" \"");
+ xmlBufferWriteCHAR(buf, cur->SystemID);
+ xmlBufferWriteChar(buf, "\"");
} else {
- xmlBufferWriteChar(" SYSTEM \"");
- xmlBufferWriteCHAR(cur->SystemID);
- xmlBufferWriteChar("\"");
+ xmlBufferWriteChar(buf, " SYSTEM \"");
+ xmlBufferWriteCHAR(buf, cur->SystemID);
+ xmlBufferWriteChar(buf, "\"");
}
- xmlBufferWriteChar(">\n");
+ xmlBufferWriteChar(buf, ">\n");
break;
case XML_EXTERNAL_GENERAL_UNPARSED_ENTITY:
- xmlBufferWriteChar("<!ENTITY ");
- xmlBufferWriteCHAR(cur->name);
+ xmlBufferWriteChar(buf, "<!ENTITY ");
+ xmlBufferWriteCHAR(buf, cur->name);
if (cur->ExternalID != NULL) {
- xmlBufferWriteChar(" PUBLIC \"");
- xmlBufferWriteCHAR(cur->ExternalID);
- xmlBufferWriteChar("\" \"");
- xmlBufferWriteCHAR(cur->SystemID);
- xmlBufferWriteChar("\"");
+ xmlBufferWriteChar(buf, " PUBLIC \"");
+ xmlBufferWriteCHAR(buf, cur->ExternalID);
+ xmlBufferWriteChar(buf, "\" \"");
+ xmlBufferWriteCHAR(buf, cur->SystemID);
+ xmlBufferWriteChar(buf, "\"");
} else {
- xmlBufferWriteChar(" SYSTEM \"");
- xmlBufferWriteCHAR(cur->SystemID);
- xmlBufferWriteChar("\"");
+ xmlBufferWriteChar(buf, " SYSTEM \"");
+ xmlBufferWriteCHAR(buf, cur->SystemID);
+ xmlBufferWriteChar(buf, "\"");
}
if (cur->content != NULL) { /* Should be true ! */
- xmlBufferWriteChar(" NDATA ");
- xmlBufferWriteCHAR(cur->content);
+ xmlBufferWriteChar(buf, " NDATA ");
+ xmlBufferWriteCHAR(buf, cur->content);
}
- xmlBufferWriteChar(">\n");
+ xmlBufferWriteChar(buf, ">\n");
break;
case XML_INTERNAL_PARAMETER_ENTITY:
- xmlBufferWriteChar("<!ENTITY % ");
- xmlBufferWriteCHAR(cur->name);
- xmlBufferWriteChar(" \"");
- xmlBufferWriteCHAR(cur->content);
- xmlBufferWriteChar("\">\n");
+ xmlBufferWriteChar(buf, "<!ENTITY % ");
+ xmlBufferWriteCHAR(buf, cur->name);
+ xmlBufferWriteChar(buf, " \"");
+ xmlBufferWriteCHAR(buf, cur->content);
+ xmlBufferWriteChar(buf, "\">\n");
break;
case XML_EXTERNAL_PARAMETER_ENTITY:
- xmlBufferWriteChar("<!ENTITY % ");
- xmlBufferWriteCHAR(cur->name);
+ xmlBufferWriteChar(buf, "<!ENTITY % ");
+ xmlBufferWriteCHAR(buf, cur->name);
if (cur->ExternalID != NULL) {
- xmlBufferWriteChar(" PUBLIC \"");
- xmlBufferWriteCHAR(cur->ExternalID);
- xmlBufferWriteChar("\" \"");
- xmlBufferWriteCHAR(cur->SystemID);
- xmlBufferWriteChar("\"");
+ xmlBufferWriteChar(buf, " PUBLIC \"");
+ xmlBufferWriteCHAR(buf, cur->ExternalID);
+ xmlBufferWriteChar(buf, "\" \"");
+ xmlBufferWriteCHAR(buf, cur->SystemID);
+ xmlBufferWriteChar(buf, "\"");
} else {
- xmlBufferWriteChar(" SYSTEM \"");
- xmlBufferWriteCHAR(cur->SystemID);
- xmlBufferWriteChar("\"");
+ xmlBufferWriteChar(buf, " SYSTEM \"");
+ xmlBufferWriteCHAR(buf, cur->SystemID);
+ xmlBufferWriteChar(buf, "\"");
}
- xmlBufferWriteChar(">\n");
+ xmlBufferWriteChar(buf, ">\n");
break;
default:
fprintf(stderr,