[DSOUND] mixer.c signed/unsigned fix and cleanup

Robert Reif reif at earthlink.net
Thu Feb 10 09:12:38 CST 2005


Signed/unsigned fix and code cleanup.
-------------- next part --------------
Index: dlls/dsound/mixer.c
===================================================================
RCS file: /home/wine/wine/dlls/dsound/mixer.c,v
retrieving revision 1.29
diff -u -p -r1.29 mixer.c
--- dlls/dsound/mixer.c	24 Jan 2005 13:31:27 -0000	1.29
+++ dlls/dsound/mixer.c	10 Feb 2005 00:52:57 -0000
@@ -225,7 +225,7 @@ static INT DSOUND_MixerNorm(IDirectSound
 	if ((dsb->freq == dsb->dsound->pwfx->nSamplesPerSec) &&
 	    (dsb->pwfx->wBitsPerSample == dsb->dsound->pwfx->wBitsPerSample) &&
 	    (dsb->pwfx->nChannels == dsb->dsound->pwfx->nChannels)) {
-	        DWORD bytesleft = dsb->buflen - dsb->buf_mixpos;
+	        INT bytesleft = dsb->buflen - dsb->buf_mixpos;
 		TRACE("(%p) Best case\n", dsb);
 	    	if (len <= bytesleft )
 			CopyMemory(obp, ibp, len);
@@ -374,18 +374,18 @@ static LPBYTE DSOUND_tmpbuffer(IDirectSo
 
 static DWORD DSOUND_MixInBuffer(IDirectSoundBufferImpl *dsb, DWORD writepos, DWORD fraglen)
 {
-	INT	i, len, ilen, temp, field, nBlockAlign, todo;
+	INT	i, len, ilen, field, nBlockAlign, todo;
 	BYTE	*buf, *ibuf;
 
 	TRACE("(%p,%ld,%ld)\n",dsb,writepos,fraglen);
 
 	len = fraglen;
 	if (!(dsb->playflags & DSBPLAY_LOOPING)) {
-		temp = MulDiv(dsb->dsound->pwfx->nAvgBytesPerSec, dsb->buflen,
+		INT temp = MulDiv(dsb->dsound->pwfx->nAvgBytesPerSec, dsb->buflen,
 			dsb->nAvgBytesPerSec) -
-		       MulDiv(dsb->dsound->pwfx->nAvgBytesPerSec, dsb->buf_mixpos,
+			MulDiv(dsb->dsound->pwfx->nAvgBytesPerSec, dsb->buf_mixpos,
 			dsb->nAvgBytesPerSec);
-		len = (len > temp) ? temp : len;
+		len = min(len, temp);
 	}
 	nBlockAlign = dsb->dsound->pwfx->nBlockAlign;
 	len = len / nBlockAlign * nBlockAlign;	/* data alignment */


More information about the wine-patches mailing list