From 7a47c292c0e171225f9287f31110e34d49986b59 Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Wed, 31 Jul 2019 01:22:02 +0300 Subject: [PATCH] Fix bug 4746 - introduce SDL_zeroa macro. --- include/SDL_stdinc.h | 1 + src/audio/SDL_audio.c | 4 ++-- src/audio/SDL_audiocvt.c | 2 +- src/audio/SDL_wave.c | 2 +- src/joystick/SDL_gamecontroller.c | 8 ++++---- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/SDL_stdinc.h b/include/SDL_stdinc.h index 28bb7b9619d3c..6ef5e3a2ef885 100644 --- a/include/SDL_stdinc.h +++ b/include/SDL_stdinc.h @@ -415,6 +415,7 @@ extern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, #define SDL_zero(x) SDL_memset(&(x), 0, sizeof((x))) #define SDL_zerop(x) SDL_memset((x), 0, sizeof(*(x))) +#define SDL_zeroa(x) SDL_memset((x), 0, sizeof((x))) /* Note that memset() is a byte assignment and this is a 32-bit assignment, so they're not directly equivalent. */ SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords) diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c index e8c6cfb19cddd..768db02c97da9 100644 --- a/src/audio/SDL_audio.c +++ b/src/audio/SDL_audio.c @@ -948,7 +948,7 @@ SDL_AudioInit(const char *driver_name) } SDL_zero(current_audio); - SDL_zero(open_devices); + SDL_zeroa(open_devices); /* Select the proper audio driver */ if (driver_name == NULL) { @@ -1608,7 +1608,7 @@ SDL_AudioQuit(void) SDL_DestroyMutex(current_audio.detectionLock); SDL_zero(current_audio); - SDL_zero(open_devices); + SDL_zeroa(open_devices); #ifdef HAVE_LIBSAMPLERATE_H UnloadLibSampleRate(); diff --git a/src/audio/SDL_audiocvt.c b/src/audio/SDL_audiocvt.c index 3d0e22e350e6f..284f1c524185a 100644 --- a/src/audio/SDL_audiocvt.c +++ b/src/audio/SDL_audiocvt.c @@ -915,7 +915,7 @@ SDL_BuildAudioCVT(SDL_AudioCVT * cvt, cvt->dst_format = dst_fmt; cvt->needed = 0; cvt->filter_index = 0; - SDL_zero(cvt->filters); + SDL_zeroa(cvt->filters); cvt->len_mult = 1; cvt->len_ratio = 1.0; cvt->rate_incr = ((double) dst_rate) / ((double) src_rate); diff --git a/src/audio/SDL_wave.c b/src/audio/SDL_wave.c index d5d4eedd07e05..ed6e410367117 100644 --- a/src/audio/SDL_wave.c +++ b/src/audio/SDL_wave.c @@ -647,7 +647,7 @@ MS_ADPCM_Decode(WaveFile *file, Uint8 **audio_buf, Uint32 *audio_len) MS_ADPCM_ChannelState cstate[2]; SDL_zero(state); - SDL_zero(cstate); + SDL_zeroa(cstate); if (chunk->size != chunk->length) { /* Could not read everything. Recalculate number of sample frames. */ diff --git a/src/joystick/SDL_gamecontroller.c b/src/joystick/SDL_gamecontroller.c index d417a44ba7473..488ccb5700c77 100644 --- a/src/joystick/SDL_gamecontroller.c +++ b/src/joystick/SDL_gamecontroller.c @@ -642,8 +642,8 @@ SDL_PrivateGameControllerParseControllerConfigString(SDL_GameController *gamecon int i = 0; const char *pchPos = pchString; - SDL_zero(szGameButton); - SDL_zero(szJoystickButton); + SDL_zeroa(szGameButton); + SDL_zeroa(szJoystickButton); while (pchPos && *pchPos) { if (*pchPos == ':') { @@ -655,8 +655,8 @@ SDL_PrivateGameControllerParseControllerConfigString(SDL_GameController *gamecon i = 0; bGameButton = SDL_TRUE; SDL_PrivateGameControllerParseElement(gamecontroller, szGameButton, szJoystickButton); - SDL_zero(szGameButton); - SDL_zero(szJoystickButton); + SDL_zeroa(szGameButton); + SDL_zeroa(szJoystickButton); } else if (bGameButton) { if (i >= sizeof(szGameButton)) {