Asger Ottar Alstrup <[EMAIL PROTECTED]> writes:

| And for sure, it worked the first time.
>
| Anyway, here is the patch.
>
| It asserts on start-up when we pass a Unix-style path to
| boost::filesystem in development/Win32/package.C, but you can just
| ignore that, and it will work fine.

??

Comment:

 bool is_readonly(path const & ph)
 {
-#ifdef BOOST_POSIX
        return is_readable(ph) && !is_writable(ph);
-#endif
 }


This version of is_readonly is racy. So for win32 we should try 
to avoid this. An non-racy version would look like this?  (right?)

bool is_readonly(patch const & ph)
{
        DWORD const attr = ::GetFileAttributes(ph.string().c_str());
        return (attr != INVALID_FILE_ATTRIBUTES
                && (attr & FILE_ATTRIBUTE_READONLY));
}

-- 
        Lgb

Reply via email to