From: Michael Stefaniuc Subject: [PATCH] winmm: Use the ARRAY_SIZE() macro Message-Id: <20180919190111.6034-2-mstefani@winehq.org> Date: Wed, 19 Sep 2018 21:01:11 +0200 Signed-off-by: Michael Stefaniuc --- dlls/winmm/driver.c | 2 +- dlls/winmm/lolvldrv.c | 10 +++++----- dlls/winmm/mci.c | 20 +++++++++----------- dlls/winmm/mmio.c | 2 +- dlls/winmm/playsound.c | 10 +++++----- dlls/winmm/waveform.c | 2 +- dlls/winmm/winmm.c | 3 +-- 7 files changed, 23 insertions(+), 26 deletions(-) diff --git a/dlls/winmm/driver.c b/dlls/winmm/driver.c index feecc92122..0117c60496 100644 --- a/dlls/winmm/driver.c +++ b/dlls/winmm/driver.c @@ -396,7 +396,7 @@ HDRVR WINAPI OpenDriver(LPCWSTR lpDriverName, LPCWSTR lpSectionName, LPARAM lPar if (lsn == NULL) { static const WCHAR wszDrivers32[] = {'D','r','i','v','e','r','s','3','2',0}; - lstrcpynW(libName, lpDriverName, sizeof(libName) / sizeof(WCHAR)); + lstrcpynW(libName, lpDriverName, ARRAY_SIZE(libName)); if ((lpDrv = DRIVER_TryOpenDriver32(libName, lParam))) goto the_end; diff --git a/dlls/winmm/lolvldrv.c b/dlls/winmm/lolvldrv.c index 35bd6a0b5f..95f454f31d 100644 --- a/dlls/winmm/lolvldrv.c +++ b/dlls/winmm/lolvldrv.c @@ -181,7 +181,7 @@ void MMDRV_Free(HANDLE hndl, LPWINE_MLD mld) if ((UINT_PTR)hndl & 0x8000) { UINT_PTR idx = (UINT_PTR)hndl & ~0x8000; - if (idx < sizeof(MM_MLDrvs) / sizeof(MM_MLDrvs[0])) { + if (idx < ARRAY_SIZE(MM_MLDrvs)) { MM_MLDrvs[idx] = NULL; HeapFree(GetProcessHeap(), 0, mld); return; @@ -261,7 +261,7 @@ LPWINE_MLD MMDRV_Get(HANDLE _hndl, UINT type, BOOL bCanBeID) hndl != (UINT16)-1 && hndl != (UINT)-1) { if (hndl & 0x8000) { UINT idx = hndl & ~0x8000; - if (idx < sizeof(MM_MLDrvs) / sizeof(MM_MLDrvs[0])) { + if (idx < ARRAY_SIZE(MM_MLDrvs)) { __TRY { mld = MM_MLDrvs[idx]; @@ -424,7 +424,7 @@ static BOOL MMDRV_Install(LPCSTR drvRegName, LPCSTR drvFileName, BOOL bIsMapper) * drivers !! * If not just increase size of MMDrvs */ - assert(MMDrvsHi <= sizeof(MMDrvs)/sizeof(MMDrvs[0])); + assert(MMDrvsHi <= ARRAY_SIZE(MMDrvs)); memset(lpDrv, 0, sizeof(*lpDrv)); @@ -589,7 +589,7 @@ void MMDRV_Exit(void) unsigned int i; TRACE("()\n"); - for (i = 0; i < sizeof(MM_MLDrvs) / sizeof(MM_MLDrvs[0]); i++) + for (i = 0; i < ARRAY_SIZE(MM_MLDrvs); i++) { if (MM_MLDrvs[i] != NULL) { @@ -602,7 +602,7 @@ void MMDRV_Exit(void) } /* unload driver, in reverse order of loading */ - i = sizeof(MMDrvs) / sizeof(MMDrvs[0]); + i = ARRAY_SIZE(MMDrvs); while (i-- > 0) { MMDRV_ExitPerType(&MMDrvs[i], MMDRV_AUX); diff --git a/dlls/winmm/mci.c b/dlls/winmm/mci.c index 56a537d79c..0319a0b16c 100644 --- a/dlls/winmm/mci.c +++ b/dlls/winmm/mci.c @@ -551,7 +551,7 @@ static UINT MCI_GetDevTypeFromResource(LPCWSTR lpstrName) WCHAR buf[32]; UINT uDevType; for (uDevType = MCI_DEVTYPE_FIRST; uDevType <= MCI_DEVTYPE_LAST; uDevType++) { - if (LoadStringW(hWinMM32Instance, uDevType, buf, sizeof(buf) / sizeof(WCHAR))) { + if (LoadStringW(hWinMM32Instance, uDevType, buf, ARRAY_SIZE(buf))) { /* FIXME: ignore digits suffix */ if (!strcmpiW(buf, lpstrName)) return uDevType; @@ -668,7 +668,7 @@ static UINT MCI_GetCommandTable(UINT uDevType) /* well try to load id */ if (uDevType >= MCI_DEVTYPE_FIRST && uDevType <= MCI_DEVTYPE_LAST) { - if (LoadStringW(hWinMM32Instance, uDevType, buf, sizeof(buf) / sizeof(WCHAR))) { + if (LoadStringW(hWinMM32Instance, uDevType, buf, ARRAY_SIZE(buf))) { str = buf; } } else if (uDevType == 0) { @@ -1450,9 +1450,9 @@ DWORD WINAPI mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrRet, { static const WCHAR wszOpenWait[] = {'o','p','e','n',' ','%','s',' ','w','a','i','t',0}; WCHAR buf[138], retbuf[6]; - snprintfW(buf, sizeof(buf)/sizeof(WCHAR), wszOpenWait, dev); + snprintfW(buf, ARRAY_SIZE(buf), wszOpenWait, dev); /* open via mciSendString handles quoting, dev!file syntax and alias creation */ - if ((dwRet = mciSendStringW(buf, retbuf, sizeof(retbuf)/sizeof(WCHAR), 0)) != 0) + if ((dwRet = mciSendStringW(buf, retbuf, ARRAY_SIZE(retbuf), 0)) != 0) goto errCleanUp; auto_open = strtoulW(retbuf, NULL, 10); TRACE("auto-opened %u for %s\n", auto_open, debugstr_w(dev)); @@ -1746,10 +1746,8 @@ static DWORD MCI_Open(DWORD dwParam, LPMCI_OPEN_PARMSW lpParms) if (dwParam & MCI_OPEN_TYPE_ID) { WORD uDevType = LOWORD(lpParms->lpstrDeviceType); - if (uDevType < MCI_DEVTYPE_FIRST || - uDevType > MCI_DEVTYPE_LAST || - !LoadStringW(hWinMM32Instance, uDevType, - strDevTyp, sizeof(strDevTyp) / sizeof(WCHAR))) { + if (uDevType < MCI_DEVTYPE_FIRST || uDevType > MCI_DEVTYPE_LAST || + !LoadStringW(hWinMM32Instance, uDevType, strDevTyp, ARRAY_SIZE(strDevTyp))) { dwRet = MCIERR_BAD_INTEGER; goto errCleanUp; } @@ -1946,7 +1944,7 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParm RegQueryInfoKeyW( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0); RegCloseKey( hKey ); } - if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf) / sizeof(buf[0]), wszSystemIni)) + if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, ARRAY_SIZE(buf), wszSystemIni)) for (s = buf; *s; s += strlenW(s) + 1) cnt++; } } else { @@ -2016,7 +2014,7 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParm if (RegQueryInfoKeyW( hKey, 0, 0, 0, &cnt, 0, 0, 0, 0, 0, 0, 0) == ERROR_SUCCESS && lpParms->dwNumber <= cnt) { - DWORD bufLen = sizeof(buf)/sizeof(buf[0]); + DWORD bufLen = ARRAY_SIZE(buf); if (RegEnumKeyExW(hKey, lpParms->dwNumber - 1, buf, &bufLen, 0, 0, 0, 0) == ERROR_SUCCESS) s = buf; @@ -2024,7 +2022,7 @@ static DWORD MCI_SysInfo(UINT uDevID, DWORD dwFlags, LPMCI_SYSINFO_PARMSW lpParm RegCloseKey( hKey ); } if (!s) { - if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, sizeof(buf) / sizeof(buf[0]), wszSystemIni)) { + if (GetPrivateProfileStringW(wszMci, 0, wszNull, buf, ARRAY_SIZE(buf), wszSystemIni)) { for (p = buf; *p; p += strlenW(p) + 1, cnt++) { TRACE("%d: %s\n", cnt, debugstr_w(p)); if (cnt == lpParms->dwNumber - 1) { diff --git a/dlls/winmm/mmio.c b/dlls/winmm/mmio.c index d8af7874f3..b4155b6f51 100644 --- a/dlls/winmm/mmio.c +++ b/dlls/winmm/mmio.c @@ -315,7 +315,7 @@ static LPMMIOPROC MMIO_InstallIOProc(FOURCC fccIOProc, LPMMIOPROC pIOProc, } /* remove it, but only if it isn't builtin */ if ((*ppListNode) >= defaultProcs && - (*ppListNode) < defaultProcs + sizeof(defaultProcs) / sizeof(defaultProcs[0])) { + (*ppListNode) < defaultProcs + ARRAY_SIZE(defaultProcs)) { WARN("Tried to remove built-in mmio proc. Skipping\n"); } else { /* Okay, nuke it */ diff --git a/dlls/winmm/playsound.c b/dlls/winmm/playsound.c index 6525db5c19..2731e7b935 100644 --- a/dlls/winmm/playsound.c +++ b/dlls/winmm/playsound.c @@ -60,7 +60,7 @@ static HMMIO get_mmioFromFile(LPCWSTR lpszName) ret = mmioOpenW((LPWSTR)lpszName, NULL, MMIO_ALLOCBUF | MMIO_READ | MMIO_DENYWRITE); if (ret != 0) return ret; - if (SearchPathW(NULL, lpszName, dotwav, sizeof(buf)/sizeof(buf[0]), buf, &dummy)) + if (SearchPathW(NULL, lpszName, dotwav, ARRAY_SIZE(buf), buf, &dummy)) { return mmioOpenW(buf, NULL, MMIO_ALLOCBUF | MMIO_READ | MMIO_DENYWRITE); @@ -86,11 +86,11 @@ static HMMIO get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName) static const WCHAR wszNull[] = {0}; TRACE("searching in SystemSound list for %s\n", debugstr_w(lpszName)); - GetProfileStringW(wszSounds, lpszName, wszNull, str, sizeof(str)/sizeof(str[0])); + GetProfileStringW(wszSounds, lpszName, wszNull, str, ARRAY_SIZE(str)); if (lstrlenW(str) == 0) { if (uFlags & SND_NODEFAULT) goto next; - GetProfileStringW(wszSounds, wszDefault, wszNull, str, sizeof(str)/sizeof(str[0])); + GetProfileStringW(wszSounds, wszDefault, wszNull, str, ARRAY_SIZE(str)); if (lstrlenW(str) == 0) goto next; } for (ptr = str; *ptr && *ptr != ','; ptr++); @@ -108,8 +108,8 @@ static HMMIO get_mmioFromProfile(UINT uFlags, LPCWSTR lpszName) DWORD len; err = 1; /* error */ - len = GetModuleFileNameW(0, str, sizeof(str)/sizeof(str[0])); - if (len > 0 && len < sizeof(str)/sizeof(str[0])) + len = GetModuleFileNameW(0, str, ARRAY_SIZE(str)); + if (len > 0 && len < ARRAY_SIZE(str)) { for (ptr = str + lstrlenW(str) - 1; ptr >= str; ptr--) { diff --git a/dlls/winmm/waveform.c b/dlls/winmm/waveform.c index 0a259c0f74..959773cae4 100644 --- a/dlls/winmm/waveform.c +++ b/dlls/winmm/waveform.c @@ -4354,7 +4354,7 @@ UINT WINAPI mixerGetLineInfoA(HMIXEROBJ hmix, LPMIXERLINEA lpmliA, mliW.Target.wMid = lpmliA->Target.wMid; mliW.Target.wPid = lpmliA->Target.wPid; mliW.Target.vDriverVersion = lpmliA->Target.vDriverVersion; - MultiByteToWideChar( CP_ACP, 0, lpmliA->Target.szPname, -1, mliW.Target.szPname, sizeof(mliW.Target.szPname)/sizeof(WCHAR)); + MultiByteToWideChar(CP_ACP, 0, lpmliA->Target.szPname, -1, mliW.Target.szPname, ARRAY_SIZE(mliW.Target.szPname)); break; default: WARN("Unsupported fdwControls=0x%08x\n", fdwInfo); diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c index 487bbff93b..0f0cd946d1 100644 --- a/dlls/winmm/winmm.c +++ b/dlls/winmm/winmm.c @@ -1445,8 +1445,7 @@ static MMRESULT midistream_post_message_and_wait(WINE_MIDIStream* lpMidiStrm, UI if (GetCurrentThreadId() != lpMidiStrm->dwThreadID) { DWORD ret; hObjects[1] = lpMidiStrm->hThread; - ret = WaitForMultipleObjects(sizeof(hObjects)/sizeof(hObjects[0]), hObjects, - FALSE, INFINITE); + ret = WaitForMultipleObjects(ARRAY_SIZE(hObjects), hObjects, FALSE, INFINITE); if (ret != WAIT_OBJECT_0) { CloseHandle(hObjects[0]); WARN("bad WaitForSingleObject (%u)\n", ret); -- 2.14.4