Modify

Ticket #3714 (closed Bugs: fixed)

Opened 4 years ago

Last modified 2 years ago

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

Reported by: joe.pendergast@… Owned by: bemandawes
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;

}

Attachments

Change History

comment:1 Changed 4 years ago by anonymous

m_path[0] = c;

comment:2 Changed 2 years ago by bemandawes

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

Thanks for the report!

--Beman

comment:3 Changed 2 years ago by bemandawes

  • Status changed from new to closed
  • Resolution set to fixed
View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.