Windows paths are not handled properly under cygwin
---------------------------------------------------

                 Key: XERCESC-1877
                 URL: https://issues.apache.org/jira/browse/XERCESC-1877
             Project: Xerces-C++
          Issue Type: Bug
          Components: Utilities
    Affects Versions: 3.0.1
         Environment: Cygwin with Xerces 3.0.1 built with ./configure and then 
make
            Reporter: Mathieu Champlon


The Cygwin version of Xerces appears to be using the PosixFileMgr and therefore 
isRelative returns false for a path starting with c: whereas it is totally 
valid.
To reproduce the issue copy samples/data/personal.xml (and personal.dtd) into 
c:\tmp and run DOMCount as follows.

$ pwd
/cygdrive/c/Users/Mat/Desktop/dev/cpp/xerces-c-3.0.1/samples

$ ls c:/tmp
personal.dtd  personal.xml

$ ./DOMCount.exe c:/tmp/personal.xml

Fatal Error at file , line 0, char 0
  Message: unable to open primary document entity '/cygdrive/c/Users/Mat/Desktop
/dev/cpp/xerces-c-3.0.1/samples/c:/tmp/personal.xml'

Errors occurred, no output available

***

Then I added the following lines taken from WindowsFileMgr to 
PosixFileMgr::isRelative :

#ifdef  __CYGWIN__
    if (toCheck[1] == chColon)
    {
        if (((toCheck[0] >= chLatin_A) && (toCheck[0] <= chLatin_Z))
        ||  ((toCheck[0] >= chLatin_a) && (toCheck[0] <= chLatin_z)))
        {
            return false;
        }
    }
#endif

With the following line at the top of PoxisFileMgr.cpp :
#include <xercesc/util/XMLUniDefs.hpp>

I recompiled the samples and ran DOMCount once again :

$ ./DOMCount.exe c:/tmp/personal.xml
c:/tmp/personal.xml: 67 ms (37 elems).

The #ifdef __CYGWIN__ is probably not the way to go but it shows exactly where 
the problem is.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to