codecvt_members.cc (codecvt::do_in): Rewrite, using both mbsnrtowcs and mbrtowc in...
authorPaolo Carlini <pcarlini@suse.de>
Mon, 24 Nov 2003 21:13:38 +0000 (21:13 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Mon, 24 Nov 2003 21:13:38 +0000 (21:13 +0000)
commit3c8797ae81937ef87756d24c2420e1f474ac0cd8
tree791bfd27224a08bac1cf8abd7aa941c454e59645
parente0ec69c929263d757b83289e79a4236d4951351a
codecvt_members.cc (codecvt::do_in): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...

2003-11-24  Paolo Carlini  <pcarlini@suse.de>

* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
former is very fast, but stops if encounters a NUL.
(codecvt::do_out): Tweak.
* testsuite/performance/wchar_t_in.cc: New.

2003-11-24  Paolo Carlini  <pcarlini@suse.de>

* include/bits/locale_facets.h
(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
in order to avoid memory leaks; simplify a bit.

From-SVN: r73893
libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/gnu/codecvt_members.cc
libstdc++-v3/include/bits/locale_facets.h
libstdc++-v3/testsuite/performance/wchar_t_in.cc [new file with mode: 0644]