Re: [Boost-bugs] [Boost C++ Libraries] #859: boost::format ignores a user defined locale

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #859: boost::format ignores a user defined locale
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-05-15 02:40:53


#859: boost::format ignores a user defined locale
---------------------+------------------------------------------------------
  Reporter: nobody | Owner: samuel_krempp
      Type: Bugs | Status: reopened
 Milestone: | Component: format
   Version: None | Severity: Problem
Resolution: | Keywords:
---------------------+------------------------------------------------------
Changes (by anonymous):

  * status: closed => reopened
  * resolution: invalid =>

Comment:

 problem here isn't that locale is ignored
 problem that method os.fill that tries to use facet before imbue to the
 stream
 see actor for the stream_format_state

         if(width_ != -1)
             os.width(width_);
         if(precision_ != -1)
             os.precision(precision_);
         if(fill_ != 0)
             os.fill(fill_);
         os.flags(flags_);
         os.clear(rdstate_);
         os.exceptions(exceptions_);
 #if !defined(BOOST_NO_STD_LOCALE)
         if(loc_)
             os.imbue(loc_.get());
         else if(loc_default)
             os.imbue(*loc_default);
 #else
         (void) loc_default; // keep compiler quiet if we don't support
 locales
 #endif

 imbue should be at very beginning of the actor, not at the very end

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/859#comment:4>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC