implemented fix for M$ IIS redirect provided by Ian Hummel fixed problem

* nanohttp.c: implemented fix for M$ IIS redirect provided
  by Ian Hummel
* relaxng.c: fixed problem with notAllowed compilation
  (bug 138793)
diff --git a/ChangeLog b/ChangeLog
index c3ca6af..7f322b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Apr  2 17:03:48 HKT 2004 William Brack <wbrack@mmm.com.hk>
+
+	* nanohttp.c: implemented fix for M$ IIS redirect provided
+	  by Ian Hummel
+	* relaxng.c: fixed problem with notAllowed compilation
+	  (bug 138793)
+
 Thu Apr  1 22:07:52 CEST 2004 Daniel Veillard <daniel@veillard.com>
 
 	* uri.c: fix for xmlUriEscape on "http://user@somewhere.com"
diff --git a/nanohttp.c b/nanohttp.c
index 7cd036f..9f3c75a 100644
--- a/nanohttp.c
+++ b/nanohttp.c
@@ -840,7 +840,15 @@
 	while ((*cur == ' ') || (*cur == '\t')) cur++;
 	if (ctxt->location != NULL)
 	    xmlFree(ctxt->location);
-	ctxt->location = xmlMemStrdup(cur);
+	if (*cur == '/') {
+	    xmlChar *tmp_http = xmlStrdup(BAD_CAST "http://");
+	    xmlChar *tmp_loc = 
+	        xmlStrcat(tmp_http, (const xmlChar *) ctxt->hostname);
+	    ctxt->location = 
+	        (char *) xmlStrcat (tmp_loc, (const xmlChar *) cur);
+	} else {
+	    ctxt->location = xmlMemStrdup(cur);
+	}
     } else if (!xmlStrncasecmp(BAD_CAST line, BAD_CAST"WWW-Authenticate:", 17)) {
         cur += 17;
 	while ((*cur == ' ') || (*cur == '\t')) cur++;
diff --git a/relaxng.c b/relaxng.c
index 2715aec..564b459 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -2959,10 +2959,8 @@
         case XML_RELAXNG_LIST:
         case XML_RELAXNG_PARAM:
         case XML_RELAXNG_VALUE:
-            ret = 0;
-            break;
         case XML_RELAXNG_NOT_ALLOWED:
-            ret = -1;
+            ret = 0;
             break;
     }
     if (ret == 0)