Opened 9 years ago

Closed 7 years ago

#3714 closed Bugs (fixed)

file_system::path::assign clears and appends, precluding assignment to a leading substring of self

Reported by: joe.pendergast@… Owned by: Beman Dawes
Milestone: Boost 1.42.0 Component: filesystem
Version: Boost 1.41.0 Severity: Problem
Keywords: path assign leading substring Cc:


template <class InputIterator?> basic_path & assign( InputIterator? first, InputIterator? last )

{ m_path.clear(); append( first, last ); return *this; }

this implementation precludes assigning to a path a leading substring of that path itself because most impl's string_type::clear will end up setting the first char to 0. I could not find documentation that explicitly precludes this.

As stated most impl's will end up setting the first char to 0, so this seems to fix in those implementations:


typename string_type::value_type c; if(first!=last)c = *first; m_path.clear(); append( first, last ); if(first!=last) mPath[0] = c; return *this;


Change History (3)

comment:1 Changed 9 years ago by anonymous

m_path[0] = c;

comment:2 Changed 7 years ago by Beman Dawes

Fix by changeset

Thanks for the report!


comment:3 Changed 7 years ago by Beman Dawes

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.