From: RĂ©mi Denis-Courmont Date: Mon, 26 Jul 2010 17:15:34 +0000 (+0300) Subject: MSN: (hopefully) correct non-ASCII characters (fixes #3952) X-Git-Tag: 1.2.0-pre1~5666 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;ds=sidebyside;h=8744dc3050ea60d250de033d5b827ba2fb29b8bd;p=vlc MSN: (hopefully) correct non-ASCII characters (fixes #3952) VLC code page is UTF-8, not ANSI. --- diff --git a/modules/misc/notify/msn.c b/modules/misc/notify/msn.c index fe6faddaa4..7a0d656f56 100644 --- a/modules/misc/notify/msn.c +++ b/modules/misc/notify/msn.c @@ -35,6 +35,7 @@ #include #include #include +#include /***************************************************************************** * intf_sys_t: description and status of log interface @@ -181,20 +182,18 @@ static int SendToMSN( const char *psz_msg ) COPYDATASTRUCT msndata; HWND msnui = NULL; - wchar_t buffer[MSN_MAX_LENGTH]; - - //mbstowcs( buffer, psz_msg, MSN_MAX_LENGTH ); - int nLen = MultiByteToWideChar(CP_ACP, 0, psz_msg, -1, NULL, 0); - MultiByteToWideChar(CP_ACP, 0, psz_msg, -1, &buffer, nLen); + wchar_t *wmsg = ToWide( psz_msg ); + if( unlikely(wmsg == NULL) ) + return VLC_ENOMEM; msndata.dwData = 0x547; - msndata.lpData = &buffer; - msndata.cbData = (lstrlenW(buffer)*2)+2; + msndata.lpData = wmsg; + msndata.cbData = (wcslen(wmsg) + 1) * 2; while( ( msnui = FindWindowEx( NULL, msnui, "MsnMsgrUIManager", NULL ) ) ) { SendMessage(msnui, WM_COPYDATA, (WPARAM)NULL, (LPARAM)&msndata); } - + free( wmsg ); return VLC_SUCCESS; }