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]

Reply via email to