Opened 19 years ago
Closed 17 years ago
#228 closed Bugs (Fixed)
Boost::Filesystem fails when last character in path is ':'
| Reported by: | nobody | Owned by: | beman_dawes | 
|---|---|---|---|
| Milestone: | Component: | None | |
| Version: | None | Severity: | |
| Keywords: | Cc: | 
Description
Boost::filesystem library fails when the last character in 
a directory name is ':'
Example path '/my/test/path/is/c:'
This isn´t valid on windows, but on ReiserFS this is a 
valid directory path.
The bug is located in path::m_path_append(...)
(path_posix_windows.cpp) where the follwing code try 
to append '/' if neccesary
=======
// append '/' if needed
if ( !empty()
      && *(m_path.end()-1) != ':' 
      && *(m_path.end()-1) != '/' )
              m_path += '/';
=======
If I want to append myFile.txt to the path with the 
existing code the result will be: 
'/my/test/path/is/c:myFile.txt'  => ERROR
My suggestion is to replace this section with
=======
// append '/' if needed
if ( !empty()
#ifdef BOOST_WINDOWS
      && *(m_path.end()-1) != ':' 
#endif
      && *(m_path.end()-1) != '/' )
              m_path += '/';
=======
e-mail: tommy.edvardsen@ibas.no
      
  Note:
 See   TracTickets
 for help on using tickets.
    
