[Boost-bugs] [ boost-Patches-1157160 ] patch for boost::filesystem

Patches item #1157160, was opened at 2005-03-05 07:23 Message generated for change (Comment added) made by fotzor You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307586&aid=1157160&group_id=7586 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Steven Weiss (fotzor) Assigned to: Nobody/Anonymous (nobody) Summary: patch for boost::filesystem Initial Comment: hi, when you try to get the branch path of this "c:\some_dir\some_file.txt" under windows the branch path should be "c:\some_dir". what is returned instead is "c:" which isn't correct. so here's the fix: in path_posix_windows.cpp: std::string::size_type leaf_pos( const std::string & str, std::string::size_type end_pos ) // end_pos is past-the-end position // return 0 if str itself is leaf (or empty) { if ( end_pos && str[end_pos-1] == '/' ) return end_pos-1; std::string::size_type pos( str.find_last_of( '/', end_pos-1 ) ); # ifdef BOOST_WINDOWS if ( pos == std::string::npos ) pos = str.find_last_of( '\', end_pos-1 ); // ADDED if ( pos == std::string::npos ) pos = str.find_last_of( ':', end_pos-2 ); # endif return ( pos == std::string::npos // path itself must be a leaf (or empty) # ifdef BOOST_WINDOWS || (pos == 1 && (str[0] == '/' || str[0] == '\')) // or share // ADDED # endif ) ? 0 // so leaf is entire string : pos + 1; // or starts after delimiter } mfg steven ----------------------------------------------------------------------
Comment By: Steven Weiss (fotzor) Date: 2005-03-05 08:24
Message: Logged In: YES user_id=1124235 i forgot something... in branch_path() you must also change the condition of the if to: if ( end_pos && (m_path[end_pos-1] == '/' || m_path[end_pos-1] == '\') && !detail::is_absolute_root( m_path, end_pos ) ) --end_pos; else it doesn't work proper. perhaps there are other functions depending on leaf_pos() that must be adjusted as well ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307586&aid=1157160&group_id=7586 ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Boost-bugs mailing list Boost-bugs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/boost-bugs
participants (1)
-
SourceForge.net