amassari 2004/06/22 02:42:48
Modified: c/src/xercesc/internal ReaderMgr.cpp
Log:
Fix for jira#1181 (Relative URL resolving broken): the given base URI was used to
test the final URI, but the current entity was then used to open the resource
Revision Changes Path
1.26 +10 -4 xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp
Index: ReaderMgr.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ReaderMgr.cpp 14 Jun 2004 15:18:52 -0000 1.25
+++ ReaderMgr.cpp 22 Jun 2004 09:42:48 -0000 1.26
@@ -689,10 +689,16 @@
if (!srcToFill)
{
LastExtEntityInfo lastInfo;
- getLastExtEntityInfo(lastInfo);
+
+ const XMLCh* baseuri=baseURI;
+ if(!baseuri || !*baseuri)
+ {
+ getLastExtEntityInfo(lastInfo);
+ baseuri = lastInfo.systemId;
+ }
XMLURL urlTmp(fMemoryManager);
- if ((!urlTmp.setURL((!baseURI || !*baseURI) ? lastInfo.systemId : baseURI,
expSysId.getRawBuffer(), urlTmp)) ||
+ if ((!urlTmp.setURL(baseuri, expSysId.getRawBuffer(), urlTmp)) ||
(urlTmp.isRelative()))
{
if (!fStandardUriConformant)
@@ -702,7 +708,7 @@
srcToFill = new (fMemoryManager) LocalFileInputSource
(
- lastInfo.systemId
+ baseuri
, resolvedSysId.getRawBuffer()
, fMemoryManager
);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]