diff options
Diffstat (limited to 'libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h')
-rw-r--r-- | libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h index 659c81a3ffe..694901a5dc7 100644 --- a/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h +++ b/libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h @@ -42,13 +42,23 @@ : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(__trans_upper), _M_tolower(__trans_lower), _M_table(__table ? __table : classic_table()) - { } + { + memset(_M_widen, 0, sizeof(_M_widen)); + _M_widen_ok = 0; + memset(_M_narrow, 0, sizeof(_M_narrow)); + _M_narrow_ok = 0; + } ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(__trans_upper), _M_tolower(__trans_lower), _M_table(__table ? __table : classic_table()) - { } + { + memset(_M_widen, 0, sizeof(_M_widen)); + _M_widen_ok = 0; + memset(_M_narrow, 0, sizeof(_M_narrow)); + _M_narrow_ok = 0; + } char ctype<char>::do_toupper(char __c) const |