Piotr Caban : winmm: Save data that was not yet written in mmioSetInfo.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 23 09:04:43 CST 2015


Module: wine
Branch: master
Commit: 860618622e6d397f270005802557b758256970fe
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=860618622e6d397f270005802557b758256970fe

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Feb 20 15:42:07 2015 +0100

winmm: Save data that was not yet written in mmioSetInfo.

---

 dlls/winmm/mmio.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/dlls/winmm/mmio.c b/dlls/winmm/mmio.c
index 16532bf..ad73564 100644
--- a/dlls/winmm/mmio.c
+++ b/dlls/winmm/mmio.c
@@ -949,25 +949,23 @@ MMRESULT WINAPI mmioGetInfo(HMMIO hmmio, MMIOINFO* lpmmioinfo, UINT uFlags)
  */
 MMRESULT WINAPI mmioSetInfo(HMMIO hmmio, const MMIOINFO* lpmmioinfo, UINT uFlags)
 {
-    LPWINE_MMIO		wm;
+    LPWINE_MMIO wm;
 
     TRACE("(%p,%p,0x%08x)\n",hmmio,lpmmioinfo,uFlags);
 
     if ((wm = MMIO_Get(hmmio)) == NULL)
-	return MMSYSERR_INVALHANDLE;
+        return MMSYSERR_INVALHANDLE;
 
     /* check pointers coherence */
     if (lpmmioinfo->pchNext < wm->info.pchBuffer ||
-	lpmmioinfo->pchNext > wm->info.pchBuffer + wm->info.cchBuffer ||
-	lpmmioinfo->pchEndRead < wm->info.pchBuffer ||
-	lpmmioinfo->pchEndRead > wm->info.pchBuffer + wm->info.cchBuffer ||
-	lpmmioinfo->pchEndWrite < wm->info.pchBuffer ||
-	lpmmioinfo->pchEndWrite > wm->info.pchBuffer + wm->info.cchBuffer)
-	return MMSYSERR_INVALPARAM;
-
-    wm->info.pchNext = lpmmioinfo->pchNext;
-    wm->info.pchEndRead = lpmmioinfo->pchEndRead;
-
+            lpmmioinfo->pchNext > wm->info.pchBuffer + wm->info.cchBuffer ||
+            lpmmioinfo->pchEndRead < wm->info.pchBuffer ||
+            lpmmioinfo->pchEndRead > wm->info.pchBuffer + wm->info.cchBuffer ||
+            lpmmioinfo->pchEndWrite < wm->info.pchBuffer ||
+            lpmmioinfo->pchEndWrite > wm->info.pchBuffer + wm->info.cchBuffer)
+        return MMSYSERR_INVALPARAM;
+
+    wm->info = *lpmmioinfo;
     return MMSYSERR_NOERROR;
 }
 




More information about the wine-cvs mailing list