Opened 13 years ago

Closed 11 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:

Description

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 by anonymous, 13 years ago

m_path[0] = c;

comment:2 by Beman Dawes, 11 years ago

Fix by changeset https://svn.boost.org/trac/boost/search?q=76541

Thanks for the report!

--Beman

comment:3 by Beman Dawes, 11 years ago

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