diff options
Diffstat (limited to 'contrib/libstdc++/config/os/mingw32/ctype_noninline.h')
-rw-r--r-- | contrib/libstdc++/config/os/mingw32/ctype_noninline.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/contrib/libstdc++/config/os/mingw32/ctype_noninline.h b/contrib/libstdc++/config/os/mingw32/ctype_noninline.h index 998547c..e493d40 100644 --- a/contrib/libstdc++/config/os/mingw32/ctype_noninline.h +++ b/contrib/libstdc++/config/os/mingw32/ctype_noninline.h @@ -43,16 +43,26 @@ ctype<char>::ctype(__c_locale, const mask* __table, bool __del, size_t __refs) - : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + : 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) - : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), + : 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 |