codecvt_members.cc (codecvt::do_length): Rewrite, using both mbsnrtowcs and mbrtowc...
authorPaolo Carlini <pcarlini@suse.de>
Tue, 25 Nov 2003 21:41:28 +0000 (21:41 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 25 Nov 2003 21:41:28 +0000 (21:41 +0000)
commit5af91f06908c3a40bbb43bc3a7e5545fdc4054d3
tree45985c2f94342d3f11fee2776f778115fcfaaa54
parenteb459c81bfebbe1f647a70c62e320be93f5a0f1f
codecvt_members.cc (codecvt::do_length): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...

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

* config/locale/gnu/codecvt_members.cc (codecvt::do_length):
Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
former is very fast, but stops if encounters a NUL.
(codecvt::do_out): Tweaks.
(codecvt::do_in): Tweaks, improve the code dealing with errors.
* testsuite/performance/wchar_t_length.cc: New.

From-SVN: r73934
libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/gnu/codecvt_members.cc
libstdc++-v3/testsuite/performance/wchar_t_length.cc [new file with mode: 0644]