diff --git a/src/video/os2/SDL_os2video.c b/src/video/os2/SDL_os2video.c index 346294a71..3c952b52a 100644 --- a/src/video/os2/SDL_os2video.c +++ b/src/video/os2/SDL_os2video.c @@ -321,13 +321,13 @@ static VOID _wmChar(WINDATA *pWinData, MPARAM mp1, MPARAM mp2) if ((ulFlags & KC_CHAR) != 0) { #if defined(HAVE_ICONV) && defined(HAVE_ICONV_H) - char *acUTF8 = SDL_iconv_string("UTF-8", "", (char *)&ulCharCode, 1); - SDL_SendKeyboardText((acUTF8 != NULL)? acUTF8 : (char *)&ulCharCode); - SDL_free(acUTF8); + char *utf8 = SDL_iconv_string("UTF-8", "", (char *)&ulCharCode, 1); + SDL_SendKeyboardText((utf8 && *utf8) ? utf8 : (char *)&ulCharCode); + SDL_free(utf8); #else - CHAR acUTF8[4]; - LONG lRC = StrUTF8(1, acUTF8, sizeof(acUTF8), (PSZ)&ulCharCode, 1); - SDL_SendKeyboardText((lRC > 0)? acUTF8 : (PSZ)&ulCharCode); + char utf8[4]; + int rc = StrUTF8(1, utf8, sizeof(utf8), (char *)&ulCharCode, 1); + SDL_SendKeyboardText((rc > 0) ? utf8 : (char *) &ulCharCode); #endif } }