Cast return value of ShellExecute to INT_PTR.

ShellExecute returns HINSTANCE which is a typedef for void*. Cast the
return value to INT_PTR instead of int to avoid truncation on 64bit
builds.
This commit is contained in:
Tim Kosse 2015-08-11 14:30:14 +02:00 коммит произвёл Simon Tatham
Родитель 3ca54e45e3
Коммит 44c107d56a
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -789,7 +789,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
case WM_SYSCOMMAND:
switch (wParam & ~0xF) { /* low 4 bits reserved to Windows */
case IDM_PUTTY:
if((int)ShellExecute(hwnd, NULL, putty_path, _T(""), _T(""),
if((INT_PTR)ShellExecute(hwnd, NULL, putty_path, _T(""), _T(""),
SW_SHOW) <= 32) {
MessageBox(NULL, "Unable to execute PuTTY!",
"Error", MB_OK | MB_ICONERROR);
@ -856,7 +856,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
GetMenuItemInfo(session_menu, wParam, FALSE, &mii);
strcpy(param, "@");
strcat(param, mii.dwTypeData);
if((int)ShellExecute(hwnd, NULL, putty_path, param,
if((INT_PTR)ShellExecute(hwnd, NULL, putty_path, param,
_T(""), SW_SHOW) <= 32) {
MessageBox(NULL, "Unable to execute PuTTY!", "Error",
MB_OK | MB_ICONERROR);