implemented bugfix from Massimo Morara for DTD dumping problem. added

* valid.c: implemented bugfix from Massimo Morara for DTD
  dumping problem.
* test/valid/t10.xml, result/valid/t10.*: added regression
  for above
* configure.in: small change for my profile settings
diff --git a/ChangeLog b/ChangeLog
index 6aa8c8f..a407b9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Thu Jun 24 10:17:31 HKT 2004 William Brack <wbrack@mmm.com.hk>
+
+	* valid.c: implemented bugfix from Massimo Morara for DTD
+	  dumping problem.
+	* test/valid/t10.xml, result/valid/t10.*: added regression
+	  for above
+	* configure.in: small change for my profile settings
+
 Wed Jun 23 20:18:19 MDT 2004 John Fleck <jfleck@inkstain.net>
 
 	* doc/xmlcatalog_man.xml, xmlcatalog.1
diff --git a/configure.in b/configure.in
index 78f7683..634c7ff 100644
--- a/configure.in
+++ b/configure.in
@@ -422,7 +422,7 @@
 dnl
 if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/XML" ]] || \
    [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomecvs/xmltest" ]] || \
-   [[ "${LOGNAME}" = "bill" -a "`pwd`" = "/home/bill/gnomecvs/xmlnew" ]]
+   [[ "${LOGNAME}" = "wbrack" -a "`pwd`" = "/Users/wbrack/gnomecvs/xmltest" ]]
    then
     if test "$with_minimum" != "yes"
     then
diff --git a/result/valid/t10.xml b/result/valid/t10.xml
new file mode 100644
index 0000000..b60f2f9
--- /dev/null
+++ b/result/valid/t10.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" standalone="yes"?>
+<!DOCTYPE root [
+<!ELEMENT root (cont1 , (cont1 , cont2?)+)>
+<!ELEMENT cont1 EMPTY>
+<!ELEMENT cont2 EMPTY>
+]>
+<root>
+  <cont1/>
+  <cont1/>
+  <cont1/>
+  <cont1/>
+</root>
diff --git a/result/valid/t10.xml.err b/result/valid/t10.xml.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/valid/t10.xml.err
diff --git a/test/valid/t10.xml b/test/valid/t10.xml
new file mode 100644
index 0000000..de066f9
--- /dev/null
+++ b/test/valid/t10.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" standalone="yes"?>
+<!DOCTYPE root [
+<!ELEMENT root  (cont1, (cont1, cont2?)+)>
+  <!ELEMENT cont1  EMPTY>
+  <!ELEMENT cont2  EMPTY>
+]>
+<root>
+  <cont1/>
+  <cont1/>
+  <cont1/>
+  <cont1/>
+</root>
diff --git a/valid.c b/valid.c
index 6460334..e78d7be 100644
--- a/valid.c
+++ b/valid.c
@@ -1012,7 +1012,9 @@
 	    else
 		xmlDumpElementContent(buf, content->c1, 0);
             xmlBufferWriteChar(buf, " , ");
-	    if (content->c2->type == XML_ELEMENT_CONTENT_OR)
+	    if ((content->c2->type == XML_ELEMENT_CONTENT_OR) ||
+	        ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) &&
+		 (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))
 		xmlDumpElementContent(buf, content->c2, 1);
 	    else
 		xmlDumpElementContent(buf, content->c2, 0);
@@ -1024,7 +1026,9 @@
 	    else
 		xmlDumpElementContent(buf, content->c1, 0);
             xmlBufferWriteChar(buf, " | ");
-	    if (content->c2->type == XML_ELEMENT_CONTENT_SEQ)
+	    if ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) ||
+	        ((content->c2->type == XML_ELEMENT_CONTENT_OR) &&
+		 (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))
 		xmlDumpElementContent(buf, content->c2, 1);
 	    else
 		xmlDumpElementContent(buf, content->c2, 0);