Fix bug 4746 - introduce SDL_zeroa macro.
diff --git a/include/SDL_stdinc.h b/include/SDL_stdinc.h
index 28bb7b9..6ef5e3a 100644
--- a/include/SDL_stdinc.h
+++ b/include/SDL_stdinc.h
@@ -415,6 +415,7 @@
#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 e8c6cfb..768db02 100644
--- a/src/audio/SDL_audio.c
+++ b/src/audio/SDL_audio.c
@@ -948,7 +948,7 @@
}
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_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 3d0e22e..284f1c5 100644
--- a/src/audio/SDL_audiocvt.c
+++ b/src/audio/SDL_audiocvt.c
@@ -915,7 +915,7 @@
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 d5d4eed..ed6e410 100644
--- a/src/audio/SDL_wave.c
+++ b/src/audio/SDL_wave.c
@@ -647,7 +647,7 @@
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 d417a44..488ccb5 100644
--- a/src/joystick/SDL_gamecontroller.c
+++ b/src/joystick/SDL_gamecontroller.c
@@ -642,8 +642,8 @@
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 @@
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)) {