
On Wed, Aug 18, 2004 at 12:56:57PM -0400, Jeremy Maitin-Shepard wrote:
How does it handle both path formats simultaneously? Does / mean the Cygwin root, while \ means the current drive/volume root? In order to support that, there would probably need to be separate special path handling for Cygwin, so that / and \ can be treated separately. Then there is still the problem of representation in the boost.filesystem "portable" format.
No, no, no. As I explained in my previous post, what he meant (I assume) is that it should handle both types of canonical paths. That is, it should understand "/usr" AND "c:/cygwin/usr". As I pointed out, this is possible because "/usr" is not complete (but does have a root directory), while the other is. This is not ambigious. Thus, on cygwin, boost::filesystem should treat "/usr" as "c:/cygwin/usr" when compiled with BOOST_WINDOWS (and treat "c:/cygwin/usr" as itself). When it would be compiled with BOOST_POSIX then "c:/cygwin/usr" would be an illegal path name and "/usr" would be handled internally as "/usr" (by calling the POSIX system calls of cygwin). -- Carlo Wood <carlo@alinoe.com>