audio: Fix static analysis concerns about a dead assignment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
diff --git a/src/audio/SDL_audiocvt.c b/src/audio/SDL_audiocvt.c
index a09c989..4a33a83 100644
--- a/src/audio/SDL_audiocvt.c
+++ b/src/audio/SDL_audiocvt.c
@@ -1147,7 +1147,7 @@ int
SDL_AudioStreamPut(SDL_AudioStream *stream, const void *buf, const Uint32 _buflen)
{
int buflen = (int) _buflen;
- SDL_bool copied = SDL_FALSE;
+ const void *origbuf = buf;
/* !!! FIXME: several converters can take advantage of SIMD, but only
!!! FIXME: if the data is aligned to 16 bytes. EnsureStreamBufferSize()
@@ -1173,7 +1173,7 @@ SDL_AudioStreamPut(SDL_AudioStream *stream, const void *buf, const Uint32 _bufle
if (workbuf == NULL) {
return -1; /* probably out of memory. */
}
- copied = SDL_TRUE;
+ SDL_assert(buf == origbuf);
SDL_memcpy(workbuf, buf, buflen);
stream->cvt_before_resampling.buf = workbuf;
stream->cvt_before_resampling.len = buflen;
@@ -1190,9 +1190,8 @@ SDL_AudioStreamPut(SDL_AudioStream *stream, const void *buf, const Uint32 _bufle
if (workbuf == NULL) {
return -1; /* probably out of memory. */
}
- if (!copied) {
+ if (buf == origbuf) { /* copy if we haven't before. */
SDL_memcpy(workbuf, buf, buflen);
- copied = SDL_TRUE;
}
buflen = stream->resampler_func(stream, workbuf, buflen, workbuf, workbuflen);
buf = workbuf;
@@ -1204,11 +1203,9 @@ SDL_AudioStreamPut(SDL_AudioStream *stream, const void *buf, const Uint32 _bufle
if (workbuf == NULL) {
return -1; /* probably out of memory. */
}
- if (!copied) {
+ if (buf == origbuf) { /* copy if we haven't before. */
SDL_memcpy(workbuf, buf, buflen);
- copied = SDL_TRUE;
}
-
stream->cvt_after_resampling.buf = workbuf;
stream->cvt_after_resampling.len = buflen;
if (SDL_ConvertAudio(&stream->cvt_after_resampling) == -1) {