diff options
author | Paolo Carlini <pcarlini@suse.de> | 2003-11-30 19:10:50 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2003-11-30 19:10:50 +0000 |
commit | 1644f06da7e1b30215c047d45291caf33607c92e (patch) | |
tree | e4f628643e599d8b02531fb929bebf4c2af5fcb7 | |
parent | f19a9af7e12657d431363e301fc31aec7d507684 (diff) | |
download | gcc-1644f06da7e1b30215c047d45291caf33607c92e.zip gcc-1644f06da7e1b30215c047d45291caf33607c92e.tar.gz gcc-1644f06da7e1b30215c047d45291caf33607c92e.tar.bz2 |
codecvt_members.cc (codecvt::do_in, [...]): More minor tweaks.
2003-11-30 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/codecvt_members.cc (codecvt::do_in,
codecvt::do_length): More minor tweaks.
From-SVN: r74069
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/config/locale/gnu/codecvt_members.cc | 35 |
2 files changed, 21 insertions, 19 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9dd4d00..4ee7fd7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 2003-11-30 Paolo Carlini <pcarlini@suse.de> + * config/locale/gnu/codecvt_members.cc (codecvt::do_in, + codecvt::do_length): More minor tweaks. + +2003-11-30 Paolo Carlini <pcarlini@suse.de> + * config/locale/gnu/codecvt_members.cc (codecvt::do_in): Minor stylistic tweak. diff --git a/libstdc++-v3/config/locale/gnu/codecvt_members.cc b/libstdc++-v3/config/locale/gnu/codecvt_members.cc index b0c9891..3a3e324 100644 --- a/libstdc++-v3/config/locale/gnu/codecvt_members.cc +++ b/libstdc++-v3/config/locale/gnu/codecvt_members.cc @@ -144,23 +144,21 @@ namespace std __from_chunk_end = __from_end; __from = __from_next; - const size_t __conv = mbsnrtowcs(__to_next, &__from_next, - __from_chunk_end - __from_next, - __to_end - __to_next, &__state); + size_t __conv = mbsnrtowcs(__to_next, &__from_next, + __from_chunk_end - __from_next, + __to_end - __to_next, &__state); if (__conv == static_cast<size_t>(-1)) { // In case of error, in order to stop at the exact place we // have to start again from the beginning with a series of // mbrtowc. - for (;; ++__to_next) + for (;; ++__to_next, __from += __conv) { - const size_t __conv_err = mbrtowc(__to_next, __from, - __from_end - __from, - &__tmp_state); - if (__conv_err == static_cast<size_t>(-1) - || __conv_err == static_cast<size_t>(-2)) + __conv = mbrtowc(__to_next, __from, __from_end - __from, + &__tmp_state); + if (__conv == static_cast<size_t>(-1) + || __conv == static_cast<size_t>(-2)) break; - __from += __conv_err; } __from_next = __from; __state = __tmp_state; @@ -262,22 +260,21 @@ namespace std __from_chunk_end = __end; const extern_type* __tmp_from = __from; - const size_t __conv = mbsnrtowcs(__to, &__from, - __from_chunk_end - __from, - __max, &__state); + size_t __conv = mbsnrtowcs(__to, &__from, + __from_chunk_end - __from, + __max, &__state); if (__conv == static_cast<size_t>(-1)) { // In case of error, in order to stop at the exact place we // have to start again from the beginning with a series of // mbrtowc. - for (__from = __tmp_from;;) + for (__from = __tmp_from;; __from += __conv) { - const size_t __conv_err = mbrtowc(NULL, __from, __end - __from, - &__tmp_state); - if (__conv_err == static_cast<size_t>(-1) - || __conv_err == static_cast<size_t>(-2)) + __conv = mbrtowc(NULL, __from, __end - __from, + &__tmp_state); + if (__conv == static_cast<size_t>(-1) + || __conv == static_cast<size_t>(-2)) break; - __from += __conv_err; } __state = __tmp_state; __ret += __from - __tmp_from; |