DSOUND_MixerNorm: do not compare unrelated pointers.

diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index 453bad3..532a682 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -1826,14 +1826,13 @@
 	if ((dsb->freq == primarybuf->wfx.nSamplesPerSec) &&
 	    (dsb->wfx.wBitsPerSample == primarybuf->wfx.wBitsPerSample) &&
 	    (dsb->wfx.nChannels == primarybuf->wfx.nChannels)) {
+	        DWORD bytesleft = dsb->buflen - dsb->playpos;
 		TRACE("(%p) Best case\n", dsb);
-	    	if ((ibp + len) < (BYTE *)(dsb->buffer + dsb->buflen))
+	    	if (len <= bytesleft )
 			memcpy(obp, ibp, len);
 		else { /* wrap */
-			memcpy(obp, ibp, dsb->buflen - dsb->playpos);
-			memcpy(obp + (dsb->buflen - dsb->playpos),
-			    dsb->buffer,
-			    len - (dsb->buflen - dsb->playpos));
+			memcpy(obp, ibp, bytesleft );
+			memcpy(obp + bytesleft, dsb->buffer, len - bytesleft);
 		}
 		return len;
 	}