mbstowcs hack for CodeWarrior's MSL

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 1999-02-18 17:59:32 +00:00
parent c1e73a4c94
commit b2cce0c457
2 changed files with 8 additions and 0 deletions

View File

@ -765,7 +765,11 @@ BasicString::BasicString(const char *sz)
{
// get the size of required buffer
UINT lenAnsi = strlen(sz);
#ifdef __MWERKS__
UINT lenWide = lenAnsi * 2 ;
#else
UINT lenWide = mbstowcs(NULL, sz, lenAnsi);
#endif
if ( lenWide > 0 ) {
m_wzBuf = new OLECHAR[lenWide + 1];

View File

@ -374,8 +374,12 @@ bool wxToolBar95::MSWNotify(WXWPARAM WXUNUSED(wParam),
// FIXME this is a temp hack only until I understand better what
// must be done in both ANSI and Unicode builds
size_t lenAnsi = tool->m_shortHelpString.Len();
#ifdef __MWERKS__
wchar_t *pwz = new wchar_t[lenAnsi * 2 + 1];
#else
size_t lenUnicode = mbstowcs(NULL, tool->m_shortHelpString, lenAnsi);
wchar_t *pwz = new wchar_t[lenUnicode + 1];
#endif
mbstowcs(pwz, tool->m_shortHelpString, lenAnsi + 1);
memcpy(ttText->szText, pwz,
(sizeof(ttText->szText) - 1)/sizeof(ttText->szText[0]));