diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 15973591c7e..ca2e835059b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2004-01-22 Paolo Carlini + + * include/bits/locale_facets.tcc + (money_put::do_put(..., long double)): Use the basic_string + constructor for char arrays, not that for C-strings, to pass + __digits to do_put(..., const string_type&): __ws isn't + null-terminated. + 2004-01-22 Paolo Carlini * include/bits/basic_string.h (_M_replace_safe): Change diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index 4dc3bb4f6b2..c0598892a5c 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -1385,7 +1385,7 @@ namespace std _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __cs_size)); __ctype.widen(__cs, __cs + __len, __ws); - string_type __digits(__ws); + const string_type __digits(__ws, __len); return this->do_put(__s, __intl, __io, __fill, __digits); }