--- a/boost/date_time/time_facet.hpp +++ b/boost/date_time/time_facet.hpp @@ -439,31 +439,31 @@ time_dur_arg.get_rep().as_special()); } - string_type format(m_time_duration_format); + string_type local_format(m_time_duration_format); if (time_dur_arg.is_negative()) { // replace %- with minus sign. Should we use the numpunct facet? - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, duration_sign_negative_only, negative_sign); // remove all the %+ in the string with '-' - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, duration_sign_always, negative_sign); } else { //duration is positive // remove all the %- combos from the string - boost::algorithm::erase_all(format, duration_sign_negative_only); + boost::algorithm::erase_all(local_format, duration_sign_negative_only); // remove all the %+ in the string with '+' - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, duration_sign_always, positive_sign); } // %T and %R have to be replaced here since they are not standard - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, boost::as_literal(formats_type::full_24_hour_time_format), boost::as_literal(formats_type::full_24_hour_time_expanded_format)); - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, boost::as_literal(formats_type::short_24_hour_time_format), boost::as_literal(formats_type::short_24_hour_time_expanded_format)); @@ -476,22 +476,22 @@ * here ourself. */ string_type hours_str; - if (format.find(unrestricted_hours_format) != string_type::npos) { + if (local_format.find(unrestricted_hours_format) != string_type::npos) { hours_str = hours_as_string(time_dur_arg); - boost::algorithm::replace_all(format, unrestricted_hours_format, hours_str); + boost::algorithm::replace_all(local_format, unrestricted_hours_format, hours_str); } // We still have to process restricted hours format specifier. In order to // support parseability of durations in ISO format (%H%M%S), we'll have to // restrict the stringified hours length to 2 characters. - if (format.find(hours_format) != string_type::npos) { + if (local_format.find(hours_format) != string_type::npos) { if (hours_str.empty()) hours_str = hours_as_string(time_dur_arg); BOOST_ASSERT(hours_str.length() <= 2); - boost::algorithm::replace_all(format, hours_format, hours_str); + boost::algorithm::replace_all(local_format, hours_format, hours_str); } string_type frac_str; - if (format.find(seconds_with_fractional_seconds_format) != string_type::npos) { + if (local_format.find(seconds_with_fractional_seconds_format) != string_type::npos) { // replace %s with %S.nnn frac_str = fractional_seconds_as_string(time_dur_arg, false); @@ -500,21 +500,21 @@ string_type replace_string(seconds_format); replace_string += sep; replace_string += frac_str; - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, seconds_with_fractional_seconds_format, replace_string); } - if (format.find(fractional_seconds_format) != string_type::npos) { + if (local_format.find(fractional_seconds_format) != string_type::npos) { // replace %f with nnnnnnn if (!frac_str.size()) { frac_str = fractional_seconds_as_string(time_dur_arg, false); } - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, fractional_seconds_format, frac_str); } - if (format.find(fractional_seconds_or_none_format) != string_type::npos) { + if (local_format.find(fractional_seconds_or_none_format) != string_type::npos) { // replace %F with nnnnnnn or nothing if fs == 0 frac_str = fractional_seconds_as_string(time_dur_arg, true); @@ -523,18 +523,18 @@ string_type replace_string; replace_string += sep; replace_string += frac_str; - boost::algorithm::replace_all(format, + boost::algorithm::replace_all(local_format, fractional_seconds_or_none_format, replace_string); } else { - boost::algorithm::erase_all(format, + boost::algorithm::erase_all(local_format, fractional_seconds_or_none_format); } } return this->do_put_tm(next_arg, ios_arg, fill_arg, - to_tm(time_dur_arg), format); + to_tm(time_dur_arg), local_format); } OutItrT put(OutItrT next, std::ios_base& ios_arg,