diff options
Diffstat (limited to 'libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h')
-rw-r--r-- | libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h index 25eec3418b0..a80863653ff 100644 --- a/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h +++ b/libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h @@ -42,13 +42,23 @@ : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(NULL), _M_tolower(NULL), _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(NULL), _M_tolower(NULL), _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 |