Boost logo

Boost Users :

Subject: [Boost-users] [filesystem] path iterator appends / instead of \ on windows
From: Sachin Garg (schngrg_at_[hidden])
Date: 2011-10-07 02:55:42


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.

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 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