Boost logo

Boost Users :

Subject: Re: [Boost-users] [filesystem] path iterator appends / instead of \ on windows
From: Michael Powell (mwpowellnm_at_[hidden])
Date: 2011-10-07 06:08:19


On Fri, Oct 7, 2011 at 12:55 AM, Sachin Garg <schngrg_at_[hidden]> wrote:

> In boost v1.47, filesystem\v3\src\path.cpp, inside function
> m_path_iterator_increment, on line 654,
>
> It should be:
> it.m_element.m_pathname = preferred_separator;
>
> Instead of
> it.m_element.m_pathname = separator;
>
> Reason:
> In below sample code
>
> boost::filesystem::path new_path;
> for (fs::path::iterator i=path.begin();i!=path.end();i++)
> new_path/=(*i);
>
> On windows when iterating a path using above code, line 654 incorrectly
> appends / instead of \ after drive letter.
>

I can't speak for the Boost implementation along these lines, however, I am
fairly certain that most (*recent* APIs anyway, such as .NET File,
Directory, etc), will support either '/' or '\' with consistent results.

> For example,
> D:\path\file
> Becomes,
> D:/path\file
>
> I have created a trac ticket for the same:
> https://svn.boost.org/trac/boost/ticket/5989
>
> SG
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net