tried to fix bug #91500 where doc->children may be overriden by a call to

* parser.c: tried to fix bug #91500 where doc->children may
  be overriden by a call to xmlParseBalancedChunkMemory()
* catalog.c: tried to fix bug #90945 w.r.t. parsing of system
  identifiers in SGML catalogs containing '&'
Daniel
diff --git a/catalog.c b/catalog.c
index a548c03..8905b04 100644
--- a/catalog.c
+++ b/catalog.c
@@ -1954,7 +1954,7 @@
 		"malloc of %d byte failed\n", size);
 	return(NULL);
     }
-    while (xmlIsPubidChar(*cur)) {
+    while (xmlIsPubidChar(*cur) || (*cur == '?')) {
 	if ((*cur == stop) && (stop != ' '))
 	    break;
 	if ((stop == ' ') && (IS_BLANK(*cur)))