Mercurial > vim
comparison src/os_win32.c @ 16825:ce04ebdf26b8 v8.1.1414
patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
commit https://github.com/vim/vim/commit/c799fe206e61f2e2c1231bc46cbe4bb354f3da69
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue May 28 23:08:19 2019 +0200
patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
Problem: Alloc() returning "char_u *" causes a lot of type casts.
Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to
check the simple allocations.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 28 May 2019 23:15:10 +0200 |
parents | fc58fee685e2 |
children | d4ecdb8a4c58 |
comparison
equal
deleted
inserted
replaced
16824:1f6bb29738d2 | 16825:ce04ebdf26b8 |
---|---|
2073 p = enc_to_utf16((char_u *)name, NULL); | 2073 p = enc_to_utf16((char_u *)name, NULL); |
2074 if (p == NULL) | 2074 if (p == NULL) |
2075 return FALSE; | 2075 return FALSE; |
2076 | 2076 |
2077 wcurpath = _wgetenv(L"PATH"); | 2077 wcurpath = _wgetenv(L"PATH"); |
2078 wnewpath = (WCHAR *)alloc((wcslen(wcurpath) + 3) * sizeof(WCHAR)); | 2078 wnewpath = ALLOC_MULT(WCHAR, wcslen(wcurpath) + 3); |
2079 if (wnewpath == NULL) | 2079 if (wnewpath == NULL) |
2080 return FALSE; | 2080 return FALSE; |
2081 wcscpy(wnewpath, L".;"); | 2081 wcscpy(wnewpath, L".;"); |
2082 wcscat(wnewpath, wcurpath); | 2082 wcscat(wnewpath, wcurpath); |
2083 n = (long)SearchPathW(wnewpath, p, NULL, _MAX_PATH, fnamew, &dumw); | 2083 n = (long)SearchPathW(wnewpath, p, NULL, _MAX_PATH, fnamew, &dumw); |
2336 { | 2336 { |
2337 cb->BufferSize.X = cb->Info.dwSize.X; | 2337 cb->BufferSize.X = cb->Info.dwSize.X; |
2338 cb->BufferSize.Y = cb->Info.dwSize.Y; | 2338 cb->BufferSize.Y = cb->Info.dwSize.Y; |
2339 NumCells = cb->BufferSize.X * cb->BufferSize.Y; | 2339 NumCells = cb->BufferSize.X * cb->BufferSize.Y; |
2340 vim_free(cb->Buffer); | 2340 vim_free(cb->Buffer); |
2341 cb->Buffer = (PCHAR_INFO)alloc(NumCells * sizeof(CHAR_INFO)); | 2341 cb->Buffer = ALLOC_MULT(CHAR_INFO, NumCells); |
2342 if (cb->Buffer == NULL) | 2342 if (cb->Buffer == NULL) |
2343 return FALSE; | 2343 return FALSE; |
2344 } | 2344 } |
2345 | 2345 |
2346 /* | 2346 /* |
2360 numregions = (cb->Info.dwSize.Y + Y_incr - 1) / Y_incr; | 2360 numregions = (cb->Info.dwSize.Y + Y_incr - 1) / Y_incr; |
2361 if (cb->Regions == NULL || numregions != cb->NumRegions) | 2361 if (cb->Regions == NULL || numregions != cb->NumRegions) |
2362 { | 2362 { |
2363 cb->NumRegions = numregions; | 2363 cb->NumRegions = numregions; |
2364 vim_free(cb->Regions); | 2364 vim_free(cb->Regions); |
2365 cb->Regions = (PSMALL_RECT)alloc(cb->NumRegions * sizeof(SMALL_RECT)); | 2365 cb->Regions = ALLOC_MULT(SMALL_RECT, cb->NumRegions); |
2366 if (cb->Regions == NULL) | 2366 if (cb->Regions == NULL) |
2367 { | 2367 { |
2368 VIM_CLEAR(cb->Buffer); | 2368 VIM_CLEAR(cb->Buffer); |
2369 return FALSE; | 2369 return FALSE; |
2370 } | 2370 } |
3392 return (vim_acl_T)NULL; | 3392 return (vim_acl_T)NULL; |
3393 #else | 3393 #else |
3394 struct my_acl *p = NULL; | 3394 struct my_acl *p = NULL; |
3395 DWORD err; | 3395 DWORD err; |
3396 | 3396 |
3397 p = (struct my_acl *)alloc_clear(sizeof(struct my_acl)); | 3397 p = ALLOC_CLEAR_ONE(struct my_acl); |
3398 if (p != NULL) | 3398 if (p != NULL) |
3399 { | 3399 { |
3400 WCHAR *wn; | 3400 WCHAR *wn; |
3401 | 3401 |
3402 wn = enc_to_utf16(fname, NULL); | 3402 wn = enc_to_utf16(fname, NULL); |
5950 { | 5950 { |
5951 COORD coordOrigin = {0, 0}; | 5951 COORD coordOrigin = {0, 0}; |
5952 WORD attrFlash = ~g_attrCurrent & 0xff; | 5952 WORD attrFlash = ~g_attrCurrent & 0xff; |
5953 | 5953 |
5954 DWORD dwDummy; | 5954 DWORD dwDummy; |
5955 LPWORD oldattrs = (LPWORD)alloc(Rows * Columns * sizeof(WORD)); | 5955 LPWORD oldattrs = ALLOC_MULT(WORD, Rows * Columns); |
5956 | 5956 |
5957 if (oldattrs == NULL) | 5957 if (oldattrs == NULL) |
5958 return; | 5958 return; |
5959 ReadConsoleOutputAttribute(g_hConOut, oldattrs, Rows * Columns, | 5959 ReadConsoleOutputAttribute(g_hConOut, oldattrs, Rows * Columns, |
5960 coordOrigin, &dwDummy); | 5960 coordOrigin, &dwDummy); |
6001 | 6001 |
6002 length = MultiByteToWideChar(cp, 0, (LPCSTR)pchBuf, cbToWrite, 0, 0); | 6002 length = MultiByteToWideChar(cp, 0, (LPCSTR)pchBuf, cbToWrite, 0, 0); |
6003 if (unicodebuf == NULL || length > unibuflen) | 6003 if (unicodebuf == NULL || length > unibuflen) |
6004 { | 6004 { |
6005 vim_free(unicodebuf); | 6005 vim_free(unicodebuf); |
6006 unicodebuf = (WCHAR *)lalloc(length * sizeof(WCHAR), FALSE); | 6006 unicodebuf = LALLOC_MULT(WCHAR, length); |
6007 unibuflen = length; | 6007 unibuflen = length; |
6008 } | 6008 } |
6009 MultiByteToWideChar(cp, 0, (LPCSTR)pchBuf, cbToWrite, | 6009 MultiByteToWideChar(cp, 0, (LPCSTR)pchBuf, cbToWrite, |
6010 unicodebuf, unibuflen); | 6010 unicodebuf, unibuflen); |
6011 | 6011 |
7115 || used_file_count == 0 | 7115 || used_file_count == 0 |
7116 || used_alist_count != GARGCOUNT) | 7116 || used_alist_count != GARGCOUNT) |
7117 return; | 7117 return; |
7118 | 7118 |
7119 /* Remember the buffer numbers for the arguments. */ | 7119 /* Remember the buffer numbers for the arguments. */ |
7120 fnum_list = (int *)alloc(sizeof(int) * GARGCOUNT); | 7120 fnum_list = ALLOC_MULT(int, GARGCOUNT); |
7121 if (fnum_list == NULL) | 7121 if (fnum_list == NULL) |
7122 return; /* out of memory */ | 7122 return; /* out of memory */ |
7123 for (i = 0; i < GARGCOUNT; ++i) | 7123 for (i = 0; i < GARGCOUNT; ++i) |
7124 fnum_list[i] = GARGLIST[i].ae_fnum; | 7124 fnum_list[i] = GARGLIST[i].ae_fnum; |
7125 | 7125 |