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:
@@ -765,7 +765,11 @@ BasicString::BasicString(const char *sz)
|
|||||||
{
|
{
|
||||||
// get the size of required buffer
|
// get the size of required buffer
|
||||||
UINT lenAnsi = strlen(sz);
|
UINT lenAnsi = strlen(sz);
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
UINT lenWide = lenAnsi * 2 ;
|
||||||
|
#else
|
||||||
UINT lenWide = mbstowcs(NULL, sz, lenAnsi);
|
UINT lenWide = mbstowcs(NULL, sz, lenAnsi);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ( lenWide > 0 ) {
|
if ( lenWide > 0 ) {
|
||||||
m_wzBuf = new OLECHAR[lenWide + 1];
|
m_wzBuf = new OLECHAR[lenWide + 1];
|
||||||
|
@@ -374,8 +374,12 @@ bool wxToolBar95::MSWNotify(WXWPARAM WXUNUSED(wParam),
|
|||||||
// FIXME this is a temp hack only until I understand better what
|
// FIXME this is a temp hack only until I understand better what
|
||||||
// must be done in both ANSI and Unicode builds
|
// must be done in both ANSI and Unicode builds
|
||||||
size_t lenAnsi = tool->m_shortHelpString.Len();
|
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);
|
size_t lenUnicode = mbstowcs(NULL, tool->m_shortHelpString, lenAnsi);
|
||||||
wchar_t *pwz = new wchar_t[lenUnicode + 1];
|
wchar_t *pwz = new wchar_t[lenUnicode + 1];
|
||||||
|
#endif
|
||||||
mbstowcs(pwz, tool->m_shortHelpString, lenAnsi + 1);
|
mbstowcs(pwz, tool->m_shortHelpString, lenAnsi + 1);
|
||||||
memcpy(ttText->szText, pwz,
|
memcpy(ttText->szText, pwz,
|
||||||
(sizeof(ttText->szText) - 1)/sizeof(ttText->szText[0]));
|
(sizeof(ttText->szText) - 1)/sizeof(ttText->szText[0]));
|
||||||
|
Reference in New Issue
Block a user