[NOTEPAD] Do type cast to kill C4244 warnings (#5655)

- Do type cast to int from SendMessage return value.
- Fix usage of EM_GETSEL and EM_LINEINDEX messages.
CORE-18837
This commit is contained in:
Katayama Hirofumi MZ 2023-09-06 19:26:23 +09:00 committed by GitHub
parent 94e0c54c7d
commit 289dec6c39
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

View file

@ -865,6 +865,10 @@ VOID DIALOG_GoTo(VOID)
else else
ich = (INT)SendMessage(Globals.hEdit, EM_LINEINDEX, GotoData.iLine, 0); ich = (INT)SendMessage(Globals.hEdit, EM_LINEINDEX, GotoData.iLine, 0);
/* EM_LINEINDEX can return -1 on failure */
if (ich < 0)
ich = 0;
/* Move the caret */ /* Move the caret */
SendMessage(Globals.hEdit, EM_SETSEL, ich, ich); SendMessage(Globals.hEdit, EM_SETSEL, ich, ich);
SendMessage(Globals.hEdit, EM_SCROLLCARET, 0, 0); SendMessage(Globals.hEdit, EM_SCROLLCARET, 0, 0);
@ -872,13 +876,16 @@ VOID DIALOG_GoTo(VOID)
VOID DIALOG_StatusBarUpdateCaretPos(VOID) VOID DIALOG_StatusBarUpdateCaretPos(VOID)
{ {
int line, col; int line, ich, col;
TCHAR buff[MAX_PATH]; TCHAR buff[MAX_PATH];
DWORD dwStart, dwSize; DWORD dwStart, dwSize;
SendMessage(Globals.hEdit, EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwSize); SendMessage(Globals.hEdit, EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwSize);
line = SendMessage(Globals.hEdit, EM_LINEFROMCHAR, (WPARAM)dwStart, 0); line = SendMessage(Globals.hEdit, EM_LINEFROMCHAR, (WPARAM)dwStart, 0);
col = dwStart - SendMessage(Globals.hEdit, EM_LINEINDEX, (WPARAM)line, 0); ich = (int)SendMessage(Globals.hEdit, EM_LINEINDEX, (WPARAM)line, 0);
/* EM_LINEINDEX can return -1 on failure */
col = ((ich < 0) ? 0 : (dwStart - ich));
StringCchPrintf(buff, _countof(buff), Globals.szStatusBarLineCol, line + 1, col + 1); StringCchPrintf(buff, _countof(buff), Globals.szStatusBarLineCol, line + 1, col + 1);
SendMessage(Globals.hStatusBar, SB_SETTEXT, SBPART_CURPOS, (LPARAM)buff); SendMessage(Globals.hStatusBar, SB_SETTEXT, SBPART_CURPOS, (LPARAM)buff);

View file

@ -270,6 +270,7 @@ static VOID NOTEPAD_InitData(HINSTANCE hInstance)
*/ */
static VOID NOTEPAD_InitMenuPopup(HMENU menu, LPARAM index) static VOID NOTEPAD_InitMenuPopup(HMENU menu, LPARAM index)
{ {
DWORD dwStart, dwEnd;
int enable; int enable;
UNREFERENCED_PARAMETER(index); UNREFERENCED_PARAMETER(index);
@ -280,8 +281,8 @@ static VOID NOTEPAD_InitMenuPopup(HMENU menu, LPARAM index)
SendMessage(Globals.hEdit, EM_CANUNDO, 0, 0) ? MF_ENABLED : MF_GRAYED); SendMessage(Globals.hEdit, EM_CANUNDO, 0, 0) ? MF_ENABLED : MF_GRAYED);
EnableMenuItem(menu, CMD_PASTE, EnableMenuItem(menu, CMD_PASTE,
IsClipboardFormatAvailable(CF_TEXT) ? MF_ENABLED : MF_GRAYED); IsClipboardFormatAvailable(CF_TEXT) ? MF_ENABLED : MF_GRAYED);
enable = (int) SendMessage(Globals.hEdit, EM_GETSEL, 0, 0); SendMessage(Globals.hEdit, EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwEnd);
enable = (HIWORD(enable) == LOWORD(enable)) ? MF_GRAYED : MF_ENABLED; enable = ((dwStart == dwEnd) ? MF_GRAYED : MF_ENABLED);
EnableMenuItem(menu, CMD_CUT, enable); EnableMenuItem(menu, CMD_CUT, enable);
EnableMenuItem(menu, CMD_COPY, enable); EnableMenuItem(menu, CMD_COPY, enable);
EnableMenuItem(menu, CMD_DELETE, enable); EnableMenuItem(menu, CMD_DELETE, enable);