workaround misgenerated file: URIs c.f. #437385 daniel

* xmlIO.c: workaround misgenerated file: URIs c.f. #437385
daniel

svn path=/trunk/; revision=3630
diff --git a/ChangeLog b/ChangeLog
index 3ed1673..26f3f0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Jun 12 11:37:55 CEST 2007 Daniel Veillard <daniel@veillard.com>
+
+	* xmlIO.c: workaround misgenerated file: URIs c.f. #437385
+
 Tue Jun 12 11:22:47 CEST 2007 Daniel Veillard <daniel@veillard.com>
 
 	* relaxng.c: fixed bug #407436 a crash in a specific case of
diff --git a/xmlIO.c b/xmlIO.c
index 154fcf8..685ce26 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -844,18 +844,25 @@
 	return((void *) fd);
     }
 
-    if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17))
+    if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file://localhost/", 17)) {
 #if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
 	path = &filename[17];
 #else
 	path = &filename[16];
 #endif
-    else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
+    } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:///", 8)) {
 #if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
 	path = &filename[8];
 #else
 	path = &filename[7];
 #endif
+    } else if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST "file:/", 6)) {
+        /* lots of generators seems to lazy to read RFC 1738 */
+#if defined (_WIN32) || defined (__DJGPP__) && !defined(__CYGWIN__)
+	path = &filename[6];
+#else
+	path = &filename[5];
+#endif
     } else 
 	path = filename;