fixed a bug reported by Jeff Goff, the determinism was tested before

* xmlregexp.c xmlschemas.c: fixed a bug reported by Jeff Goff,
  the determinism was tested before eliminating the epsilon
  transitions :-(
Daniel
diff --git a/ChangeLog b/ChangeLog
index 3d4f217..14d0bc1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Sep 12 18:01:29 CEST 2002 Daniel Veillard <daniel@veillard.com>
+
+	* xmlregexp.c xmlschemas.c: fixed a bug reported by Jeff Goff,
+	  the determinism was tested before eliminating the epsilon
+	  transitions :-(
+
 Thu Sep 12 16:57:45 CEST 2002 Daniel Veillard <daniel@veillard.com>
 
 	* python/generator.py python/libxml.c python/libxml.py
diff --git a/xmlregexp.c b/xmlregexp.c
index e9acd5d..d613d4c 100644
--- a/xmlregexp.c
+++ b/xmlregexp.c
@@ -740,7 +740,6 @@
     }
 }
 
-#if 0
 static void
 xmlRegPrintCtxt(FILE *output, xmlRegParserCtxtPtr ctxt) {
     int i;
@@ -780,7 +779,6 @@
 		                                ctxt->counters[i].max);
     }
 }
-#endif
 
 /************************************************************************
  * 									*
@@ -927,7 +925,7 @@
     printf("Add trans from %d to %d ", state->no, target->no);
     if (count == REGEXP_ALL_COUNTER)
 	printf("all transition");
-    else (count >= 0)
+    else if (count >= 0)
 	printf("count based %d", count);
     else if (counter >= 0)
 	printf("counted %d", counter);
@@ -1389,6 +1387,10 @@
     int i;
     int ret = 1;
 
+#ifdef DEBUG_REGEXP_GRAPH
+    printf("xmlFAComputesDeterminism\n");
+    xmlRegPrintCtxt(stdout, ctxt);
+#endif
     if (ctxt->determinist != -1)
 	return(ctxt->determinist);
 
diff --git a/xmlschemas.c b/xmlschemas.c
index 99956d4..79e376d 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -3262,20 +3262,20 @@
     start = ctxt->state = xmlAutomataGetInitState(ctxt->am);
     xmlSchemaBuildAContentModel(elem->subtypes, ctxt, name);
     xmlAutomataSetFinalState(ctxt->am, ctxt->state);
+    elem->contModel = xmlAutomataCompile(ctxt->am);
     if (!xmlAutomataIsDeterminist(ctxt->am)) {
 	xmlGenericError(xmlGenericErrorContext,
 			"Content model of %s is not determinist:\n", name);
-	elem->contModel = xmlAutomataCompile(ctxt->am);
 	ctxt->err = XML_SCHEMAS_ERR_NOTDETERMINIST;
+	ctxt->state = NULL;
     } else {
-	elem->contModel = xmlAutomataCompile(ctxt->am);
 #ifdef DEBUG_CONTENT
 	xmlGenericError(xmlGenericErrorContext,
 			"Content model of %s:\n", name);
 	xmlRegexpPrint(stderr, elem->contModel);
 #endif
+	ctxt->state = NULL;
     }
-    ctxt->state = NULL;
     xmlFreeAutomata(ctxt->am);
     ctxt->am = NULL;
 }