# HG changeset patch # User Christian Brabandt # Date 1455650105 -3600 # Node ID 54cfe888c6275b0a5b548c0b618f94bd8164b75c # Parent e5d330ffb650829a2bff63a2d3242844b2273ae7 commit https://github.com/vim/vim/commit/418f81b5fa400ed59793384f2f3d9df45390f080 Author: Bram Moolenaar Date: Tue Feb 16 20:12:02 2016 +0100 patch 7.4.1339 Problem: Warnings when building the GUI with MingW. (Cesar Romani) Solution: Add type cats. (Yasuhiro Matsumoto) diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -328,7 +328,7 @@ edit( { int c = 0; char_u *ptr; - int lastc; + int lastc = 0; int mincol; static linenr_T o_lnum = 0; int i; diff --git a/src/gui_w32.c b/src/gui_w32.c --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -1131,7 +1131,7 @@ set_tabline_font(void) if (STRLEN(str) < sizeof(lpdi->szText) || ((tt_text = vim_strsave(str)) == NULL)) - vim_strncpy(lpdi->szText, str, + vim_strncpy((char_u *)lpdi->szText, str, sizeof(lpdi->szText) - 1); else lpdi->lpszText = tt_text; @@ -1747,9 +1747,9 @@ gui_mch_init(void) /* Initialise the struct */ s_findrep_struct.lStructSize = sizeof(s_findrep_struct); - s_findrep_struct.lpstrFindWhat = alloc(MSWIN_FR_BUFSIZE); + s_findrep_struct.lpstrFindWhat = (LPSTR)alloc(MSWIN_FR_BUFSIZE); s_findrep_struct.lpstrFindWhat[0] = NUL; - s_findrep_struct.lpstrReplaceWith = alloc(MSWIN_FR_BUFSIZE); + s_findrep_struct.lpstrReplaceWith = (LPSTR)alloc(MSWIN_FR_BUFSIZE); s_findrep_struct.lpstrReplaceWith[0] = NUL; s_findrep_struct.wFindWhatLen = MSWIN_FR_BUFSIZE; s_findrep_struct.wReplaceWithLen = MSWIN_FR_BUFSIZE; @@ -2099,7 +2099,7 @@ GetCompositionString_inUCS2(HIMC hIMC, D pImmGetCompositionStringA(hIMC, GCS, buf, ret); /* convert from codepage to UCS-2 */ - MultiByteToWideChar_alloc(GetACP(), 0, buf, ret, &wbuf, lenp); + MultiByteToWideChar_alloc(GetACP(), 0, (LPCSTR)buf, ret, &wbuf, lenp); vim_free(buf); return (short_u *)wbuf; @@ -3028,7 +3028,7 @@ rebuild_tearoff(vimmenu_T *menu) HWND thwnd = menu->tearoff_handle; - GetWindowText(thwnd, tbuf, 127); + GetWindowText(thwnd, (LPSTR)tbuf, 127); if (GetWindowRect(thwnd, &trect) && GetWindowRect(s_hwnd, &rct) && GetClientRect(s_hwnd, &roct)) @@ -3174,7 +3174,7 @@ dialog_callback( else # endif GetDlgItemText(hwnd, DLG_NONBUTTON_CONTROL + 2, - s_textfield, IOSIZE); + (LPSTR)s_textfield, IOSIZE); } /* @@ -3216,7 +3216,7 @@ dialog_callback( * If stubbing out this fn, return 1. */ -static const char_u *dlg_icons[] = /* must match names in resource file */ +static const char *dlg_icons[] = /* must match names in resource file */ { "IDR_VIM", "IDR_VIM_ERROR", @@ -3353,7 +3353,7 @@ gui_mch_dialog( fontHeight = fontInfo.tmHeight; /* Minimum width for horizontal button */ - minButtonWidth = GetTextWidth(hdc, "Cancel", 6); + minButtonWidth = GetTextWidth(hdc, (char_u *)"Cancel", 6); /* Maximum width of a dialog, if possible */ if (s_hwnd == NULL) @@ -3617,7 +3617,7 @@ gui_mch_dialog( + 2 * fontHeight * i), PixelToDialogX(dlgwidth - 2 * DLG_VERT_PADDING_X), (WORD)(PixelToDialogY(2 * fontHeight) - 1), - (WORD)(IDCANCEL + 1 + i), (WORD)0x0080, pstart); + (WORD)(IDCANCEL + 1 + i), (WORD)0x0080, (char *)pstart); } else { @@ -3628,7 +3628,7 @@ gui_mch_dialog( PixelToDialogY(buttonYpos), /* TBK */ PixelToDialogX(buttonWidths[i]), (WORD)(PixelToDialogY(2 * fontHeight) - 1), - (WORD)(IDCANCEL + 1 + i), (WORD)0x0080, pstart); + (WORD)(IDCANCEL + 1 + i), (WORD)0x0080, (char *)pstart); } pstart = pend + 1; /*next button*/ } @@ -3649,7 +3649,7 @@ gui_mch_dialog( PixelToDialogY(dlgPaddingY), (WORD)(PixelToDialogX(messageWidth) + 1), PixelToDialogY(msgheight), - DLG_NONBUTTON_CONTROL + 1, (WORD)0x0081, message); + DLG_NONBUTTON_CONTROL + 1, (WORD)0x0081, (char *)message); /* Edit box */ if (textfield != NULL) @@ -3659,7 +3659,7 @@ gui_mch_dialog( PixelToDialogY(2 * dlgPaddingY + msgheight), PixelToDialogX(dlgwidth - 4 * dlgPaddingX), PixelToDialogY(fontHeight + dlgPaddingY), - DLG_NONBUTTON_CONTROL + 2, (WORD)0x0081, textfield); + DLG_NONBUTTON_CONTROL + 2, (WORD)0x0081, (char *)textfield); *pnumitems += 1; } @@ -3798,7 +3798,7 @@ nCopyAnsiToWideChar( if (enc_codepage == 0 && (int)GetACP() != enc_codepage) { /* Not a codepage, use our own conversion function. */ - wn = enc_to_utf16(lpAnsiIn, NULL); + wn = enc_to_utf16((char_u *)lpAnsiIn, NULL); if (wn != NULL) { wcscpy(lpWCStr, wn); @@ -4043,7 +4043,7 @@ gui_mch_tearoff( /* Calculate width of a single space. Used for padding columns to the * right width. */ - spaceWidth = GetTextWidth(hdc, " ", 1); + spaceWidth = GetTextWidth(hdc, (char_u *)" ", 1); /* Figure out max width of the text column, the accelerator column and the * optional submenu column. */ @@ -4086,7 +4086,7 @@ gui_mch_tearoff( textWidth = columnWidths[0] + columnWidths[1]; if (submenuWidth != 0) { - submenuWidth = GetTextWidth(hdc, TEAROFF_SUBMENU_LABEL, + submenuWidth = GetTextWidth(hdc, (char_u *)TEAROFF_SUBMENU_LABEL, (int)STRLEN(TEAROFF_SUBMENU_LABEL)); textWidth += submenuWidth; } @@ -4262,7 +4262,7 @@ gui_mch_tearoff( (WORD)(sepPadding + 1 + 13 * (*pnumitems)), (WORD)PixelToDialogX(dlgwidth - 2 * TEAROFF_PADDING_X), (WORD)12, - menuID, (WORD)0x0080, label); + menuID, (WORD)0x0080, (char *)label); vim_free(label); (*pnumitems)++; } @@ -4360,7 +4360,7 @@ get_toolbar_bitmap(vimmenu_T *menu) gui_find_iconfile(menu->iconfile, fname, "bmp"); hbitmap = LoadImage( NULL, - fname, + (LPCSTR)fname, IMAGE_BITMAP, TOOLBAR_BUTTON_WIDTH, TOOLBAR_BUTTON_HEIGHT, @@ -4381,7 +4381,7 @@ get_toolbar_bitmap(vimmenu_T *menu) menu->dname, fname, "bmp") == OK)) hbitmap = LoadImage( NULL, - fname, + (LPCSTR)fname, IMAGE_BITMAP, TOOLBAR_BUTTON_WIDTH, TOOLBAR_BUTTON_HEIGHT, @@ -4629,14 +4629,15 @@ gui_mch_register_sign(char_u *signfile) do_load = 0; if (do_load) - sign.hImage = (HANDLE)LoadImage(NULL, signfile, sign.uType, + sign.hImage = (HANDLE)LoadImage(NULL, (LPCSTR)signfile, sign.uType, gui.char_width * 2, gui.char_height, LR_LOADFROMFILE | LR_CREATEDIBSECTION); #ifdef FEAT_XPM_W32 if (!STRICMP(ext, ".xpm")) { sign.uType = IMAGE_XPM; - LoadXpmImage(signfile, (HBITMAP *)&sign.hImage, (HBITMAP *)&sign.hShape); + LoadXpmImage((char *)signfile, (HBITMAP *)&sign.hImage, + (HBITMAP *)&sign.hShape); } #endif } @@ -4740,13 +4741,13 @@ multiline_balloon_available(void) UINT vlen = 0; void *data = alloc(len); - if (data != NULL + if ((data != NULL && GetFileVersionInfo(comctl_dll, 0, len, data) && VerQueryValue(data, "\\", (void **)&ver, &vlen) && vlen - && HIWORD(ver->dwFileVersionMS) > 4 - || (HIWORD(ver->dwFileVersionMS) == 4 - && LOWORD(ver->dwFileVersionMS) >= 70)) + && HIWORD(ver->dwFileVersionMS) > 4) + || ((HIWORD(ver->dwFileVersionMS) == 4 + && LOWORD(ver->dwFileVersionMS) >= 70))) { vim_free(data); multiline_tip = TRUE; @@ -4908,7 +4909,7 @@ gui_mch_post_balloon(BalloonEval *beval, { gui_mch_disable_beval_area(cur_beval); beval->showState = ShS_SHOWING; - make_tooltip(beval, mesg, pt); + make_tooltip(beval, (char *)mesg, pt); } // TRACE0("gui_mch_post_balloon }}}"); } diff --git a/src/gui_w48.c b/src/gui_w48.c --- a/src/gui_w48.c +++ b/src/gui_w48.c @@ -534,7 +534,8 @@ char_to_string(int ch, char_u *string, i else { string[0] = ch; - len = MultiByteToWideChar(GetACP(), 0, string, 1, wstring, 2); + len = MultiByteToWideChar(GetACP(), 0, (LPCSTR)string, + 1, wstring, 2); } } else @@ -551,7 +552,7 @@ char_to_string(int ch, char_u *string, i if (enc_codepage > 0) { len = WideCharToMultiByte(enc_codepage, 0, wstring, len, - string, slen, 0, NULL); + (LPSTR)string, slen, 0, NULL); /* If we had included the ALT key into the character but now the * upper bit is no longer set, that probably means the conversion * failed. Convert the original character and set the upper bit @@ -560,7 +561,7 @@ char_to_string(int ch, char_u *string, i { wstring[0] = ch & 0x7f; len = WideCharToMultiByte(enc_codepage, 0, wstring, len, - string, slen, 0, NULL); + (LPSTR)string, slen, 0, NULL); if (len == 1) /* safety check */ string[0] |= 0x80; } @@ -921,7 +922,7 @@ findrep_atow(LPFINDREPLACEW lpfrw, LPFIN lpfrw->hwndOwner = lpfr->hwndOwner; lpfrw->Flags = lpfr->Flags; - wp = enc_to_utf16(lpfr->lpstrFindWhat, NULL); + wp = enc_to_utf16((char_u *)lpfr->lpstrFindWhat, NULL); wcsncpy(lpfrw->lpstrFindWhat, wp, lpfrw->wFindWhatLen - 1); vim_free(wp); @@ -938,12 +939,12 @@ findrep_wtoa(LPFINDREPLACE lpfr, LPFINDR lpfr->Flags = lpfrw->Flags; - p = utf16_to_enc(lpfrw->lpstrFindWhat, NULL); - vim_strncpy(lpfr->lpstrFindWhat, p, lpfr->wFindWhatLen - 1); + p = utf16_to_enc((short_u*)lpfrw->lpstrFindWhat, NULL); + vim_strncpy((char_u *)lpfr->lpstrFindWhat, p, lpfr->wFindWhatLen - 1); vim_free(p); - p = utf16_to_enc(lpfrw->lpstrReplaceWith, NULL); - vim_strncpy(lpfr->lpstrReplaceWith, p, lpfr->wReplaceWithLen - 1); + p = utf16_to_enc((short_u*)lpfrw->lpstrReplaceWith, NULL); + vim_strncpy((char_u *)lpfr->lpstrReplaceWith, p, lpfr->wReplaceWithLen - 1); vim_free(p); } # endif @@ -1000,8 +1001,8 @@ findrep_wtoa(LPFINDREPLACE lpfr, LPFINDR if (s_findrep_struct.Flags & FR_MATCHCASE) flags |= FRD_MATCH_CASE; down = (s_findrep_struct.Flags & FR_DOWN) != 0; - gui_do_findrepl(flags, s_findrep_struct.lpstrFindWhat, - s_findrep_struct.lpstrReplaceWith, down); + gui_do_findrepl(flags, (char_u *)s_findrep_struct.lpstrFindWhat, + (char_u *)s_findrep_struct.lpstrReplaceWith, down); } } #endif @@ -1530,7 +1531,7 @@ gui_mch_get_color(char_u *name) int r, g, b; int i; - if (name[0] == '#' && strlen(name) == 7) + if (name[0] == '#' && STRLEN(name) == 7) { /* Name is in "#rrggbb" format */ r = hex_digit(name[1]) * 16 + hex_digit(name[2]); @@ -2268,7 +2269,7 @@ GetTextWidth(HDC hdc, char_u *str, int l { SIZE size; - GetTextExtentPoint(hdc, str, len, &size); + GetTextExtentPoint(hdc, (LPCSTR)str, len, &size); return size.cx; } @@ -2468,10 +2469,11 @@ show_tabline_popup_menu(void) if (first_tabpage->tp_next != NULL) add_tabline_popup_menu_entry(tab_pmenu, - TABLINE_MENU_CLOSE, _("Close tab")); - add_tabline_popup_menu_entry(tab_pmenu, TABLINE_MENU_NEW, _("New tab")); - add_tabline_popup_menu_entry(tab_pmenu, TABLINE_MENU_OPEN, - _("Open tab...")); + TABLINE_MENU_CLOSE, (char_u *)_("Close tab")); + add_tabline_popup_menu_entry(tab_pmenu, + TABLINE_MENU_NEW, (char_u *)_("New tab")); + add_tabline_popup_menu_entry(tab_pmenu, + TABLINE_MENU_OPEN, (char_u *)_("Open tab...")); GetCursorPos(&pt); rval = TrackPopupMenuEx(tab_pmenu, TPM_RETURNCMD, pt.x, pt.y, s_tabhwnd, @@ -2583,7 +2585,7 @@ gui_mch_update_tabline(void) } get_tabline_label(tp, FALSE); - tie.pszText = NameBuff; + tie.pszText = (LPSTR)NameBuff; #ifdef FEAT_MBYTE wstr = NULL; if (use_unicode) @@ -2680,7 +2682,7 @@ initialise_findrep(char_u *initial_strin if (wword) s_findrep_struct.Flags |= FR_WHOLEWORD; if (entry_text != NULL && *entry_text != NUL) - vim_strncpy(s_findrep_struct.lpstrFindWhat, entry_text, + vim_strncpy((char_u *)s_findrep_struct.lpstrFindWhat, entry_text, s_findrep_struct.wFindWhatLen - 1); vim_free(entry_text); } @@ -3194,11 +3196,11 @@ logfont2name(LOGFONT lf) if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) { int len; - acp_to_enc(lf.lfFaceName, (int)strlen(lf.lfFaceName), + acp_to_enc((char_u *)lf.lfFaceName, (int)strlen(lf.lfFaceName), (char_u **)&font_name, &len); } #endif - res = alloc((unsigned)(strlen(font_name) + 20 + res = (char *)alloc((unsigned)(strlen(font_name) + 20 + (charset_name == NULL ? 0 : strlen(charset_name) + 2))); if (res != NULL) { @@ -3233,7 +3235,7 @@ logfont2name(LOGFONT lf) if (font_name != lf.lfFaceName) vim_free(font_name); #endif - return res; + return (char_u *)res; } @@ -3323,7 +3325,7 @@ gui_mch_init_font(char_u *font_name, int return FAIL; if (font_name == NULL) - font_name = lf.lfFaceName; + font_name = (char_u *)lf.lfFaceName; #if defined(FEAT_MBYTE_IME) || defined(GLOBAL_IME) norm_logfont = lf; sub_logfont = lf; @@ -3753,12 +3755,12 @@ gui_mch_browse( fileStruct.lStructSize = sizeof(fileStruct); #endif - fileStruct.lpstrTitle = title; - fileStruct.lpstrDefExt = ext; - - fileStruct.lpstrFile = fileBuf; + fileStruct.lpstrTitle = (LPSTR)title; + fileStruct.lpstrDefExt = (LPSTR)ext; + + fileStruct.lpstrFile = (LPSTR)fileBuf; fileStruct.nMaxFile = MAXPATHL; - fileStruct.lpstrFilter = filterp; + fileStruct.lpstrFilter = (LPSTR)filterp; fileStruct.hwndOwner = s_hwnd; /* main Vim window is owner*/ /* has an initial dir been specified? */ if (initdir != NULL && *initdir != NUL) @@ -3769,7 +3771,7 @@ gui_mch_browse( for (p = initdirp; *p != NUL; ++p) if (*p == '/') *p = '\\'; - fileStruct.lpstrInitialDir = initdirp; + fileStruct.lpstrInitialDir = (LPSTR)initdirp; } /* @@ -3851,7 +3853,7 @@ gui_mch_browse( #endif { DragQueryFile(hDrop, i, szFile, BUFPATHLEN); - fnames[i] = vim_strsave(szFile); + fnames[i] = vim_strsave((char_u *)szFile); } } diff --git a/src/os_mswin.c b/src/os_mswin.c --- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -741,7 +741,8 @@ display_errors(void) gui.starting ? (char_u *)_("Message") : #endif (char_u *)_("Error"), - p, (char_u *)_("&Ok"), 1, NULL, FALSE); + (char_u *)p, (char_u *)_("&Ok"), + 1, NULL, FALSE); break; } ga_clear(&error_ga); @@ -2951,7 +2952,7 @@ get_logfont( if (enc_codepage >= 0 && (int)GetACP() != enc_codepage) { int len; - enc_to_acp(name, (int)strlen((char *)name), &acpname, &len); + enc_to_acp(name, (int)STRLEN(name), &acpname, &len); name = acpname; } #endif diff --git a/src/os_win32.c b/src/os_win32.c --- a/src/os_win32.c +++ b/src/os_win32.c @@ -236,6 +236,7 @@ static char_u *exe_path = NULL; static BOOL win8_or_later = FALSE; +#ifndef FEAT_GUI_W32 /* * Version of ReadConsoleInput() that works with IME. * Works around problems on Windows 8. @@ -325,6 +326,7 @@ peek_console_input( return read_console_input(hInput, lpBuffer, -1, lpEvents); } +# ifdef FEAT_CLIENTSERVER static DWORD msg_wait_for_multiple_objects( DWORD nCount, @@ -338,8 +340,9 @@ msg_wait_for_multiple_objects( return MsgWaitForMultipleObjects(nCount, pHandles, fWaitAll, dwMilliseconds, dwWakeMask); } - -#ifndef FEAT_CLIENTSERVER +# endif + +# ifndef FEAT_CLIENTSERVER static DWORD wait_for_single_object( HANDLE hHandle, @@ -349,6 +352,8 @@ wait_for_single_object( return WAIT_OBJECT_0; return WaitForSingleObject(hHandle, dwMilliseconds); } +# endif +#endif #endif static void diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -748,6 +748,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1339, +/**/ 1338, /**/ 1337,