From d8da33c03f26e1c6cb1cd0c78dcccaa2ae2ea47e Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 10 Jun 2019 08:49:26 -0700 Subject: [PATCH] Fixed bug 4662 - SDL failed to build due to error LNK2019: unresolved external symbol _memset referenced in function _IMA_ADPCM_Decode with MSVC on Windows LinGao We build SDL with Visual studio 2017 compiler on Windows Server 2016, but it failed to build due to error LNK2019: unresolved external symbol _memset referenced in function _IMA_ADPCM_Decode on latest default branch. And we found that it can be first reproduced on ca7283111ad0 changeset. Could you please help have a look about this issue? Thanks in advance! --- src/audio/SDL_wave.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/audio/SDL_wave.c b/src/audio/SDL_wave.c index d3a4d3468a015..dfb34f89d3664 100644 --- a/src/audio/SDL_wave.c +++ b/src/audio/SDL_wave.c @@ -110,7 +110,9 @@ WaveDebugLogFormat(WaveFile *file) const char *fmtstr = "WAVE file: %s, %u Hz, %s, %u bits, %u %s/s"; const char *waveformat, *wavechannel, *wavebpsunit = "B"; Uint32 wavebps = format->byterate; - char channelstr[64] = {0}; + char channelstr[64]; + + SDL_zero(channelstr); switch (format->encoding) { case PCM_CODE: @@ -641,10 +643,11 @@ MS_ADPCM_Decode(WaveFile *file, Uint8 **audio_buf, Uint32 *audio_len) int result; size_t bytesleft, outputsize; WaveChunk *chunk = &file->chunk; - ADPCM_DecoderState state = {0}; + ADPCM_DecoderState state; MS_ADPCM_ChannelState cstate[2]; - SDL_memset(cstate, 0, sizeof(cstate)); + SDL_zero(state); + SDL_zero(cstate); if (chunk->size != chunk->length) { /* Could not read everything. Recalculate number of sample frames. */