gareth 2003/07/24 02:32:52 Modified: c/src/xercesc/util XMLUri.cpp Log: Fix for bug #2005. Patch by Michael Glavassevich. 'scheme:#fragment' is not a valid URI, however from inspecting the code it seems like Xerces-C will accept 'URIs' of this form. The ':' must be followed by either a '/' or a uric_no_slash. Revision Changes Path 1.13 +6 -4 xml-xerces/c/src/xercesc/util/XMLUri.cpp Index: XMLUri.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLUri.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- XMLUri.cpp 16 May 2003 06:01:53 -0000 1.12 +++ XMLUri.cpp 24 Jul 2003 09:32:52 -0000 1.13 @@ -395,6 +395,7 @@ } int index = 0; + bool foundScheme = false; // Check for scheme, which must be before `/'. Also handle names with // DOS drive letters ('D:'), so 1-character schemes are not allowed. @@ -413,17 +414,18 @@ } else { - initializeScheme(trimedUriSpec); + foundScheme = true; + initializeScheme(trimedUriSpec); index = XMLString::stringLen(fScheme)+1; } // It's an error if we stop here - if (index == trimedUriSpecLen) + if (index == trimedUriSpecLen || (foundScheme && (trimedUriSpec[index] == chPound))) { ThrowXML1(MalformedURLException , XMLExcepts::XMLNUM_URI_Component_Empty , errMsg_PATH); - } + } // two slashes means generic URI syntax, so we get the authority XMLCh* authUriSpec = (XMLCh*) fMemoryManager->allocate
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]