Enrico Forestieri <[EMAIL PROTECTED]> writes:

| On Sun, Jul 23, 2006 at 10:37:52AM +0200, Georg Baum wrote:
| 
| > Am Sonntag, 23. Juli 2006 02:46 schrieb Enrico Forestieri:
| > > On Sat, Jul 22, 2006 at 10:11:13PM +0200, Georg Baum wrote:
| > > 
| > > > +       if (!npath.is_complete())
| > > > +               return "./" + npath.string() + '/';
| > > 
| > > Please, use
| > > 
| > >   if (!os::is_absolute_path(npath.string()))
| > > 
| > > here, as on cygwin both c:/xxx and /xxx are absolute paths and this is
| > > not caught by boost.
| > 
| > Then you should report this to boost.
| 
| Do you mean that you will not make the change?

Boost does this:

    bool path::is_complete() const
    {
#   ifdef BOOST_WINDOWS
      return m_path.size() > 2
        && ( (m_path[1] == ':' && m_path[2] == '/') // "c:/"
          || (m_path[0] == '/' && m_path[1] == '/') // "//share"
          || m_path[m_path.size()-1] == ':' );
#   else
      return m_path.size() && m_path[0] == '/';
#   endif
    }


What you are saying is that "/foo/bar/" is not caught as an absolute
path in windows? Something wich strictly speaking is true, is is not
an absolute path. (Or at the very least it is not complete.)

-- 
        Lgb

Reply via email to