[PATCH] winmm: Use the ARRAY_SIZE() macro

Andrew Eikum aeikum at codeweavers.com
Thu Sep 20 08:51:08 CDT 2018


Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>

On Wed, Sep 19, 2018 at 09:01:11PM +0200, Michael Stefaniuc wrote:
> Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
> ---
>  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
> 
> 
> 



More information about the wine-devel mailing list