mciwave: Cast-qual warnings fix

Andrew Talbot Andrew.Talbot at talbotville.com
Thu Nov 2 17:19:28 CST 2006


Changelog:
    mciwave: Cast-qual warnings fix.

diff -urN a/dlls/mciwave/mciwave.c b/dlls/mciwave/mciwave.c
--- a/dlls/mciwave/mciwave.c	2006-10-12 21:30:57.000000000 +0100
+++ b/dlls/mciwave/mciwave.c	2006-11-02 23:12:43.000000000 +0000
@@ -404,12 +404,13 @@
 static LRESULT WAVE_mciOpenFile(WINE_MCIWAVE* wmw, const WCHAR* filename)
 {
     LRESULT dwRet = MMSYSERR_NOERROR;
-    WCHAR* fn;
+    WCHAR*  fn;
+    LPSTR   element_name = *(LPSTR *)((char *)wmw + offsetof(WINE_MCIWAVE, openParms.lpstrElementName));
 
     fn = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(filename) + 1) * sizeof(WCHAR));
     if (!fn) return MCIERR_OUT_OF_MEMORY;
     strcpyW(fn, filename);
-    HeapFree(GetProcessHeap(), 0, (void*)wmw->openParms.lpstrElementName);
+    HeapFree(GetProcessHeap(), 0, element_name);
     wmw->openParms.lpstrElementName = fn;
 
     if (strlenW(filename) > 0) {
@@ -623,6 +624,7 @@
 {
     DWORD		dwRet = 0;
     WINE_MCIWAVE*	wmw = WAVE_mciGetOpenDev(wDevID);
+    LPSTR   element_name = *(LPSTR *)((char *)wmw + offsetof(WINE_MCIWAVE, openParms.lpstrElementName));
 
     TRACE("(%u, %08X, %p);\n", wDevID, dwFlags, lpParms);
 
@@ -643,7 +645,7 @@
 
     HeapFree(GetProcessHeap(), 0, wmw->lpWaveFormat);
     wmw->lpWaveFormat = NULL;
-    HeapFree(GetProcessHeap(), 0, (void*)wmw->openParms.lpstrElementName);
+    HeapFree(GetProcessHeap(), 0, element_name);
     wmw->openParms.lpstrElementName = NULL;
 
     if ((dwFlags & MCI_NOTIFY) && lpParms) {
@@ -951,6 +953,7 @@
     LONG		bufsize;
     LPWAVEHDR		waveHdr = NULL;
     WINE_MCIWAVE*	wmw = WAVE_mciGetOpenDev(wDevID);
+    LPSTR		element_name = *(LPSTR *)((char *)wmw + offsetof(WINE_MCIWAVE, openParms.lpstrElementName));
 
     TRACE("(%u, %08X, %p);\n", wDevID, dwFlags, lpParms);
 
@@ -986,8 +989,8 @@
      * 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, (void*)wmw->openParms.lpstrElementName);
-    dwRet = create_tmp_file(&wmw->hFile, (WCHAR**)&wmw->openParms.lpstrElementName);
+    HeapFree(GetProcessHeap(), 0, element_name);
+    dwRet = create_tmp_file(&wmw->hFile, (WCHAR**)&element_name);
     if (dwRet != 0) return dwRet;
 
     /* new RIFF file */



More information about the wine-patches mailing list