Preparing for 2.3.4 release:
- configure.in: bumped to 2.3.4
- error.c: fixed bug #51860
- tree.c: fixed bug #51861
- valid.c: cleanup, more debug, failed to fix one bug crap ...
- tree.[ch] : added xmlDefaultBufferSize
- nanoftp.c: typo in function name header block
- doc/xml.html : updated, added link to XML::LibXSLT
- doc/html/* : rebuilt the docs
Daniel
diff --git a/tree.c b/tree.c
index 709fe22..a30bc0e 100644
--- a/tree.c
+++ b/tree.c
@@ -311,7 +311,7 @@
  * xmlCreateIntSubset:
  * @doc:  the document pointer
  * @name:  the DTD name
- * @ExternalID:  the external ID
+ * @ExternalID:  the external (PUBLIC) ID
  * @SystemID:  the system ID
  *
  * Create the internal subset of a document
@@ -358,18 +358,33 @@
 	    doc->children = (xmlNodePtr) cur;
 	    doc->last = (xmlNodePtr) cur;
 	} else {
-	    xmlNodePtr prev;
-
 	    if (doc->type == XML_HTML_DOCUMENT_NODE) {
+		xmlNodePtr prev;
+
 		prev = doc->children;
 		prev->prev = (xmlNodePtr) cur;
 		cur->next = prev;
 		doc->children = (xmlNodePtr) cur;
 	    } else {
-		prev = doc->last;
-		prev->next = (xmlNodePtr) cur;
-		cur->prev = prev;
-		doc->last = (xmlNodePtr) cur;
+		xmlNodePtr next;
+
+		next = doc->children;
+		while ((next != NULL) && (next->type != XML_ELEMENT_NODE))
+		    next = next->next;
+		if (next == NULL) {
+		    cur->prev = doc->last;
+		    cur->prev->next = (xmlNodePtr) cur;
+		    cur->next = NULL;
+		    doc->last = (xmlNodePtr) cur;
+		} else {
+		    cur->next = next;
+		    cur->prev = next->prev;
+		    if (cur->prev == NULL)
+			doc->children = (xmlNodePtr) cur;
+		    else
+			cur->prev->next = (xmlNodePtr) cur;
+		    next->prev = (xmlNodePtr) cur;
+		}
 	    }
 	}
     }
@@ -4412,6 +4427,8 @@
 
 #define BASE_BUFFER_SIZE 4000
 
+int xmlDefaultBufferSize = BASE_BUFFER_SIZE;
+
 /**
  * xmlBufferCreate:
  *
@@ -4429,7 +4446,7 @@
         return(NULL);
     }
     ret->use = 0;
-    ret->size = BASE_BUFFER_SIZE;
+    ret->size = xmlDefaultBufferSize;
     ret->alloc = xmlBufferAllocScheme;
     ret->content = (xmlChar *) xmlMalloc(ret->size * sizeof(xmlChar));
     if (ret->content == NULL) {