From 90a5dc72d365788dc8f3121da4dd40ca71dc35f1 Mon Sep 17 00:00:00 2001 From: Alex Henrie Date: Tue, 19 Sep 2023 23:05:37 -0600 Subject: [PATCH] mciwave: Use CRT allocation functions. --- dlls/mciwave/mciwave.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/dlls/mciwave/mciwave.c b/dlls/mciwave/mciwave.c index b2582a56123..b17c347258f 100644 --- a/dlls/mciwave/mciwave.c +++ b/dlls/mciwave/mciwave.c @@ -89,7 +89,7 @@ static DWORD CALLBACK MCI_SCAStarter(LPVOID arg) ret = sca->cmd(sca->wDevID, sca->dwParam1 | MCI_WAIT, sca->dwParam2, sca->evt); TRACE("In thread after async command (%08x,%08Ix,%08Ix)\n", sca->wDevID, sca->dwParam1, sca->dwParam2); - HeapFree(GetProcessHeap(), 0, sca); + free(sca); return ret; } @@ -100,7 +100,7 @@ static DWORD MCI_SendCommandAsync(UINT wDevID, async_cmd cmd, DWORD_PTR dwParam1 DWORD_PTR dwParam2, UINT size) { HANDLE handles[2]; - struct SCA* sca = HeapAlloc(GetProcessHeap(), 0, sizeof(struct SCA) + size); + struct SCA* sca = malloc(sizeof(struct SCA) + size); if (sca == 0) return MCIERR_OUT_OF_MEMORY; @@ -182,7 +182,7 @@ static LRESULT WAVE_drvClose(MCIDEVICEID dwDevID) WINE_MCIWAVE* wmw = (WINE_MCIWAVE*)mciGetDriverData(dwDevID); if (wmw) { - HeapFree(GetProcessHeap(), 0, wmw); + free(wmw); mciSetDriverData(dwDevID, 0); return 1; } @@ -287,12 +287,12 @@ static DWORD WAVE_mciReadFmt(WINE_MCIWAVE* wmw, const MMCKINFO* pckMainRIFF) TRACE("Chunk Found ckid=%.4s fccType=%.4s cksize=%08lX\n", (LPSTR)&mmckInfo.ckid, (LPSTR)&mmckInfo.fccType, mmckInfo.cksize); - pwfx = HeapAlloc(GetProcessHeap(), 0, mmckInfo.cksize); + pwfx = malloc(mmckInfo.cksize); if (!pwfx) return MCIERR_OUT_OF_MEMORY; r = mmioRead(wmw->hFile, (HPSTR)pwfx, mmckInfo.cksize); if (r < 0 || r < sizeof(PCMWAVEFORMAT)) { - HeapFree(GetProcessHeap(), 0, pwfx); + free(pwfx); return MCIERR_INVALID_FILE; } TRACE("wFormatTag=%04X !\n", pwfx->wFormatTag); @@ -305,7 +305,7 @@ static DWORD WAVE_mciReadFmt(WINE_MCIWAVE* wmw, const MMCKINFO* pckMainRIFF) TRACE("cbSize=%u !\n", pwfx->cbSize); if ((pwfx->wFormatTag != WAVE_FORMAT_PCM) && (r < sizeof(WAVEFORMATEX) || (r < sizeof(WAVEFORMATEX) + pwfx->cbSize))) { - HeapFree(GetProcessHeap(), 0, pwfx); + free(pwfx); return MCIERR_INVALID_FILE; } wmw->lpWaveFormat = pwfx; @@ -437,7 +437,7 @@ static DWORD create_tmp_file(HMMIO* hFile, LPWSTR* pszTmpFileName) MAX_PATH * sizeof(WCHAR)); if (!GetTempFileNameW(szTmpPath, szPrefix, 0, *pszTmpFileName)) { WARN("can't retrieve temp file name!\n"); - HeapFree(GetProcessHeap(), 0, *pszTmpFileName); + free(*pszTmpFileName); return MCIERR_FILE_NOT_FOUND; } @@ -451,7 +451,7 @@ static DWORD create_tmp_file(HMMIO* hFile, LPWSTR* pszTmpFileName) if (*hFile == 0) { WARN("can't create file=%s!\n", debugstr_w(*pszTmpFileName)); /* temporary file could not be created. clean filename. */ - HeapFree(GetProcessHeap(), 0, *pszTmpFileName); + free(*pszTmpFileName); dwRet = MCIERR_FILE_NOT_FOUND; } } @@ -463,10 +463,9 @@ static LRESULT WAVE_mciOpenFile(WINE_MCIWAVE* wmw, LPCWSTR filename) LRESULT dwRet = MMSYSERR_NOERROR; LPWSTR fn; - fn = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(filename) + 1) * sizeof(WCHAR)); + fn = wcsdup(filename); if (!fn) return MCIERR_OUT_OF_MEMORY; - lstrcpyW(fn, filename); - HeapFree(GetProcessHeap(), 0, wmw->lpFileName); + free(wmw->lpFileName); wmw->lpFileName = fn; if (filename[0]) { @@ -569,7 +568,7 @@ static LRESULT WAVE_mciOpen(MCIDEVICEID wDevID, DWORD dwFlags, LPMCI_WAVE_OPEN_P if (wmw->hFile != 0) mmioClose(wmw->hFile, 0); wmw->hFile = 0; - HeapFree(GetProcessHeap(), 0, wmw->lpFileName); + free(wmw->lpFileName); wmw->lpFileName = NULL; } return dwRet; @@ -681,9 +680,9 @@ static DWORD WAVE_mciClose(MCIDEVICEID wDevID, DWORD dwFlags, LPMCI_GENERIC_PARM } if (wmw->lpWaveFormat != &wmw->wfxRef) - HeapFree(GetProcessHeap(), 0, wmw->lpWaveFormat); + free(wmw->lpWaveFormat); wmw->lpWaveFormat = &wmw->wfxRef; - HeapFree(GetProcessHeap(), 0, wmw->lpFileName); + free(wmw->lpFileName); wmw->lpFileName = NULL; if ((dwFlags & MCI_NOTIFY) && lpParms) { @@ -854,7 +853,7 @@ static DWORD WAVE_mciPlay(MCIDEVICEID wDevID, DWORD_PTR dwFlags, DWORD_PTR pmt, /* make it so that 3 buffers per second are needed */ bufsize = WAVE_ALIGN_ON_BLOCK(wmw, wmw->lpWaveFormat->nAvgBytesPerSec / 3); - waveHdr = HeapAlloc(GetProcessHeap(), 0, 2 * sizeof(WAVEHDR) + 2 * bufsize); + waveHdr = malloc(2 * sizeof(WAVEHDR) + 2 * bufsize); waveHdr[0].lpData = (char*)waveHdr + 2 * sizeof(WAVEHDR); waveHdr[1].lpData = (char*)waveHdr + 2 * sizeof(WAVEHDR) + bufsize; waveHdr[0].dwUser = waveHdr[1].dwUser = 0L; @@ -917,7 +916,7 @@ cleanUp: if (dwFlags & MCI_NOTIFY) oldcb = InterlockedExchangePointer(&wmw->hCallback, NULL); - HeapFree(GetProcessHeap(), 0, waveHdr); + free(waveHdr); if (wmw->hWave) { waveOutClose(wmw->hWave); @@ -1038,7 +1037,7 @@ static DWORD WAVE_mciRecord(MCIDEVICEID wDevID, DWORD_PTR dwFlags, DWORD_PTR pmt * we don't modify the wave part of an existing file (ie. we always erase an * existing content, we don't overwrite) */ - HeapFree(GetProcessHeap(), 0, wmw->lpFileName); + free(wmw->lpFileName); dwRet = create_tmp_file(&wmw->hFile, (WCHAR**)&wmw->lpFileName); if (dwRet != 0) return dwRet; @@ -1092,7 +1091,7 @@ static DWORD WAVE_mciRecord(MCIDEVICEID wDevID, DWORD_PTR dwFlags, DWORD_PTR pmt /* make it so that 3 buffers per second are needed */ bufsize = WAVE_ALIGN_ON_BLOCK(wmw, wmw->lpWaveFormat->nAvgBytesPerSec / 3); - waveHdr = HeapAlloc(GetProcessHeap(), 0, 2 * sizeof(WAVEHDR) + 2 * bufsize); + waveHdr = malloc(2 * sizeof(WAVEHDR) + 2 * bufsize); waveHdr[0].lpData = (char*)waveHdr + 2 * sizeof(WAVEHDR); waveHdr[1].lpData = (char*)waveHdr + 2 * sizeof(WAVEHDR) + bufsize; waveHdr[0].dwUser = waveHdr[1].dwUser = 0L; @@ -1143,7 +1142,7 @@ cleanUp: if (dwFlags & MCI_NOTIFY) oldcb = InterlockedExchangePointer(&wmw->hCallback, NULL); - HeapFree(GetProcessHeap(), 0, waveHdr); + free(waveHdr); if (wmw->hWave) { waveInClose(wmw->hWave);