diff options
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/config/os/newlib/bits/ctype_noninline.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ffa46d4..f29936c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2001-11-01 Egor Duda <deo@logos-m.ru> + + * config/os/newlib/bits/ctype_noninline.h + (ctype<char>::do_toupper(char __c)): Check for proper character class. + (ctype<char>::do_tolower(char __c)): Ditto. + 2001-11-01 Phil Edwards <pme@gcc.gnu.org> * acinclude.m4: Fix spacing. diff --git a/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h b/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h index 803e6d4..ae0a6e9 100644 --- a/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h +++ b/libstdc++-v3/config/os/newlib/bits/ctype_noninline.h @@ -43,7 +43,7 @@ ctype<char>::do_toupper(char __c) const { int __x = __c; - return (this->is(ctype_base::upper, __c) ? (__x - 'A' + 'a') : __x); + return (this->is(ctype_base::lower, __c) ? (__x - 'a' + 'A') : __x); } const char* @@ -61,7 +61,7 @@ ctype<char>::do_tolower(char __c) const { int __x = __c; - return (this->is(ctype_base::lower, __c) ? (__x - 'A' + 'a') : __x); + return (this->is(ctype_base::upper, __c) ? (__x - 'A' + 'a') : __x); } const char* |