aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Quinn <jlquinn@optonline.net>2003-03-08 06:28:20 +0000
committerJerry Quinn <jlquinn@gcc.gnu.org>2003-03-08 06:28:20 +0000
commit611db4979acfdb330276ea03259b604ba4ef33df (patch)
treecbddfd898f695655950adabcb4c02b379b711c13
parentc562d51bb35e62d7b41da283f082bad73e954af8 (diff)
downloadgcc-611db4979acfdb330276ea03259b604ba4ef33df.zip
gcc-611db4979acfdb330276ea03259b604ba4ef33df.tar.gz
gcc-611db4979acfdb330276ea03259b604ba4ef33df.tar.bz2
locale_facets.tcc (num_put::do_put(bool)): Use locale cache for truename and falsename.
2003-03-08 Jerry Quinn <jlquinn@optonline.net> * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use locale cache for truename and falsename. From-SVN: r63970
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/locale_facets.tcc8
2 files changed, 9 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ef7a1a3..ffc04bc 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
2003-03-08 Jerry Quinn <jlquinn@optonline.net>
+ * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
+ locale cache for truename and falsename.
+
+2003-03-08 Jerry Quinn <jlquinn@optonline.net>
+
* src/ios.cc (ios_base::ios_base): Correct order of _M_word and
_M_word_size initialization.
diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc
index b5b1f5c2..ab21bf3 100644
--- a/libstdc++-v3/include/bits/locale_facets.tcc
+++ b/libstdc++-v3/include/bits/locale_facets.tcc
@@ -974,14 +974,14 @@ namespace std
}
else
{
- locale __loc = __io.getloc();
- const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
+ typedef __locale_cache<_CharT> __cache_type;
+ __cache_type& __lc = static_cast<__cache_type&>(__io._M_cache());
typedef basic_string<_CharT> __string_type;
__string_type __name;
if (__v)
- __name = __np.truename();
+ __name = __lc.truename();
else
- __name = __np.falsename();
+ __name = __lc.falsename();
const _CharT* __cs = __name.c_str();
int __len = __name.size();