Prefer SDL_zero()/SDL_zerop()

Replace uses of 'SDL_memset(E, 0, sizeof(E))' and similar
with the SDL_zero()/SDL_zerop() macros.
This commit is contained in:
Eddy Jansson
2026-01-23 19:42:06 +01:00
committed by Sam Lantinga
parent fe403220f0
commit 83fb7b6636
17 changed files with 30 additions and 30 deletions

View File

@@ -77,7 +77,7 @@ SDL_GUID SDL_StringToGUID(const char *pchGUID)
// Make sure it's even // Make sure it's even
len = (len) & ~0x1; len = (len) & ~0x1;
SDL_memset(&guid, 0x00, sizeof(guid)); SDL_zero(guid);
p = (Uint8 *)&guid; p = (Uint8 *)&guid;
for (i = 0; (i < len) && ((p - (Uint8 *)&guid) < maxoutputbytes); i += 2, p++) { for (i = 0; (i < len) && ((p - (Uint8 *)&guid) < maxoutputbytes); i += 2, p++) {

View File

@@ -637,7 +637,7 @@ void SDL_IBus_Quit(void)
SDL_RemoveHintCallback(SDL_HINT_IME_IMPLEMENTED_UI, IBus_SetCapabilities, NULL); SDL_RemoveHintCallback(SDL_HINT_IME_IMPLEMENTED_UI, IBus_SetCapabilities, NULL);
SDL_memset(&ibus_cursor_rect, 0, sizeof(ibus_cursor_rect)); SDL_zero(ibus_cursor_rect);
} }
static void IBus_SimpleMessage(const char *method) static void IBus_SimpleMessage(const char *method)

View File

@@ -11653,9 +11653,9 @@ static void VULKAN_INTERNAL_AddOptInVulkanOptions(SDL_PropertiesID props, Vulkan
features->usesCustomVulkanOptions = true; features->usesCustomVulkanOptions = true;
features->desiredApiVersion = options->vulkan_api_version; features->desiredApiVersion = options->vulkan_api_version;
SDL_memset(&features->desiredVulkan11DeviceFeatures, 0, sizeof(VkPhysicalDeviceVulkan11Features)); SDL_zero(features->desiredVulkan11DeviceFeatures);
SDL_memset(&features->desiredVulkan12DeviceFeatures, 0, sizeof(VkPhysicalDeviceVulkan12Features)); SDL_zero(features->desiredVulkan12DeviceFeatures);
SDL_memset(&features->desiredVulkan13DeviceFeatures, 0, sizeof(VkPhysicalDeviceVulkan13Features)); SDL_zero(features->desiredVulkan13DeviceFeatures);
features->desiredVulkan11DeviceFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES; features->desiredVulkan11DeviceFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES;
features->desiredVulkan12DeviceFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES; features->desiredVulkan12DeviceFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
features->desiredVulkan13DeviceFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES; features->desiredVulkan13DeviceFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;

View File

@@ -1166,7 +1166,7 @@ bool SDL_SYS_HapticUpdateEffect(SDL_Haptic *haptic,
FFEFFECT temp; FFEFFECT temp;
// Get the effect. // Get the effect.
SDL_memset(&temp, 0, sizeof(FFEFFECT)); SDL_zero(temp);
if (!SDL_SYS_ToFFEFFECT(haptic, &temp, data)) { if (!SDL_SYS_ToFFEFFECT(haptic, &temp, data)) {
goto err_update; goto err_update;
} }

View File

@@ -694,9 +694,9 @@ static int lg4ff_init_slots(struct lg4ff_device *device)
return -1; return -1;
} }
SDL_memset(&device->states, 0, sizeof(device->states)); SDL_zero(device->states);
SDL_memset(&device->slots, 0, sizeof(device->slots)); SDL_zero(device->slots);
SDL_memset(&parameters, 0, sizeof(parameters)); SDL_zero(parameters);
device->slots[0].effect_type = SDL_HAPTIC_CONSTANT; device->slots[0].effect_type = SDL_HAPTIC_CONSTANT;
device->slots[1].effect_type = SDL_HAPTIC_SPRING; device->slots[1].effect_type = SDL_HAPTIC_SPRING;

View File

@@ -1050,7 +1050,7 @@ bool SDL_DINPUT_HapticUpdateEffect(SDL_Haptic *haptic, struct haptic_effect *eff
DIEFFECT temp; DIEFFECT temp;
// Get the effect. // Get the effect.
SDL_memset(&temp, 0, sizeof(DIEFFECT)); SDL_zero(temp);
if (!SDL_SYS_ToDIEFFECT(haptic, &temp, data)) { if (!SDL_SYS_ToDIEFFECT(haptic, &temp, data)) {
goto err_update; goto err_update;
} }

View File

@@ -809,7 +809,7 @@ static void GIP_MetadataFree(GIP_Metadata *metadata)
SDL_free(metadata->device.hid_descriptor); SDL_free(metadata->device.hid_descriptor);
SDL_free(metadata->message_metadata); SDL_free(metadata->message_metadata);
SDL_memset(metadata, 0, sizeof(*metadata)); SDL_zerop(metadata);
} }
static bool GIP_ParseDeviceMetadata(GIP_Metadata *metadata, const Uint8 *bytes, int num_bytes, int *offset) static bool GIP_ParseDeviceMetadata(GIP_Metadata *metadata, const Uint8 *bytes, int num_bytes, int *offset)

View File

@@ -450,7 +450,7 @@ static bool ReadProprietaryReply(SDL_DriverSwitch_Context *ctx, ESwitchProprieta
static void ConstructSubcommand(SDL_DriverSwitch_Context *ctx, ESwitchSubcommandIDs ucCommandID, const Uint8 *pBuf, Uint8 ucLen, SwitchSubcommandOutputPacket_t *outPacket) static void ConstructSubcommand(SDL_DriverSwitch_Context *ctx, ESwitchSubcommandIDs ucCommandID, const Uint8 *pBuf, Uint8 ucLen, SwitchSubcommandOutputPacket_t *outPacket)
{ {
SDL_memset(outPacket, 0, sizeof(*outPacket)); SDL_zerop(outPacket);
outPacket->commonData.ucPacketType = k_eSwitchOutputReportIDs_RumbleAndSubcommand; outPacket->commonData.ucPacketType = k_eSwitchOutputReportIDs_RumbleAndSubcommand;
outPacket->commonData.ucPacketNumber = ctx->m_nCommandNumber; outPacket->commonData.ucPacketNumber = ctx->m_nCommandNumber;

View File

@@ -1140,7 +1140,7 @@ static bool VITA_GXM_RenderPresent(SDL_Renderer *renderer)
data->displayData.address = data->displayBufferData[data->backBufferIndex]; data->displayData.address = data->displayBufferData[data->backBufferIndex];
SDL_memset(&updateParam, 0, sizeof(updateParam)); SDL_zero(updateParam);
updateParam.renderTarget.colorFormat = VITA_GXM_COLOR_FORMAT; updateParam.renderTarget.colorFormat = VITA_GXM_COLOR_FORMAT;
updateParam.renderTarget.surfaceType = SCE_GXM_COLOR_SURFACE_LINEAR; updateParam.renderTarget.surfaceType = SCE_GXM_COLOR_SURFACE_LINEAR;

View File

@@ -138,7 +138,7 @@ static void display_callback(const void *callback_data)
SceDisplayFrameBuf framebuf; SceDisplayFrameBuf framebuf;
const VITA_GXM_DisplayData *display_data = (const VITA_GXM_DisplayData *)callback_data; const VITA_GXM_DisplayData *display_data = (const VITA_GXM_DisplayData *)callback_data;
SDL_memset(&framebuf, 0x00, sizeof(SceDisplayFrameBuf)); SDL_zero(framebuf);
framebuf.size = sizeof(SceDisplayFrameBuf); framebuf.size = sizeof(SceDisplayFrameBuf);
framebuf.base = display_data->address; framebuf.base = display_data->address;
framebuf.pitch = VITA_GXM_SCREEN_STRIDE; framebuf.pitch = VITA_GXM_SCREEN_STRIDE;
@@ -377,7 +377,7 @@ int gxm_init(SDL_Renderer *renderer)
VITA_GXM_RenderData *data = (VITA_GXM_RenderData *)renderer->internal; VITA_GXM_RenderData *data = (VITA_GXM_RenderData *)renderer->internal;
SceGxmInitializeParams initializeParams; SceGxmInitializeParams initializeParams;
SDL_memset(&initializeParams, 0, sizeof(SceGxmInitializeParams)); SDL_zero(initializeParams);
initializeParams.flags = 0; initializeParams.flags = 0;
initializeParams.displayQueueMaxPendingCount = VITA_GXM_PENDING_SWAPS; initializeParams.displayQueueMaxPendingCount = VITA_GXM_PENDING_SWAPS;
initializeParams.displayQueueCallback = display_callback; initializeParams.displayQueueCallback = display_callback;
@@ -438,7 +438,7 @@ int gxm_init(SDL_Renderer *renderer)
} }
// set up parameters // set up parameters
SDL_memset(&renderTargetParams, 0, sizeof(SceGxmRenderTargetParams)); SDL_zero(renderTargetParams);
renderTargetParams.flags = 0; renderTargetParams.flags = 0;
renderTargetParams.width = VITA_GXM_SCREEN_WIDTH; renderTargetParams.width = VITA_GXM_SCREEN_WIDTH;
renderTargetParams.height = VITA_GXM_SCREEN_HEIGHT; renderTargetParams.height = VITA_GXM_SCREEN_HEIGHT;
@@ -555,7 +555,7 @@ int gxm_init(SDL_Renderer *renderer)
&patcherFragmentUsseOffset); &patcherFragmentUsseOffset);
// create a shader patcher // create a shader patcher
SDL_memset(&patcherParams, 0, sizeof(SceGxmShaderPatcherParams)); SDL_zero(patcherParams);
patcherParams.userData = NULL; patcherParams.userData = NULL;
patcherParams.hostAllocCallback = &patcher_host_alloc; patcherParams.hostAllocCallback = &patcher_host_alloc;
patcherParams.hostFreeCallback = &patcher_host_free; patcherParams.hostFreeCallback = &patcher_host_free;
@@ -1097,7 +1097,7 @@ gxm_texture *create_gxm_texture(VITA_GXM_RenderData *data, unsigned int w, unsig
// set up parameters // set up parameters
SceGxmRenderTargetParams renderTargetParams; SceGxmRenderTargetParams renderTargetParams;
SDL_memset(&renderTargetParams, 0, sizeof(SceGxmRenderTargetParams)); SDL_zero(renderTargetParams);
renderTargetParams.flags = 0; renderTargetParams.flags = 0;
renderTargetParams.width = w; renderTargetParams.width = w;
renderTargetParams.height = h; renderTargetParams.height = h;

View File

@@ -1231,7 +1231,7 @@ static VULKAN_PipelineState *VULKAN_CreatePipelineState(SDL_Renderer *renderer,
// Shaders // Shaders
const char *name = "main"; const char *name = "main";
for (uint32_t i = 0; i < 2; i++) { for (uint32_t i = 0; i < 2; i++) {
SDL_memset(&shaderStageCreateInfo[i], 0, sizeof(shaderStageCreateInfo[i])); SDL_zero(shaderStageCreateInfo[i]);
shaderStageCreateInfo[i].sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; shaderStageCreateInfo[i].sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
shaderStageCreateInfo[i].module = (i == 0) ? rendererData->vertexShaderModules[shader] : rendererData->fragmentShaderModules[shader]; shaderStageCreateInfo[i].module = (i == 0) ? rendererData->vertexShaderModules[shader] : rendererData->fragmentShaderModules[shader];
shaderStageCreateInfo[i].stage = (i == 0) ? VK_SHADER_STAGE_VERTEX_BIT : VK_SHADER_STAGE_FRAGMENT_BIT; shaderStageCreateInfo[i].stage = (i == 0) ? VK_SHADER_STAGE_VERTEX_BIT : VK_SHADER_STAGE_FRAGMENT_BIT;
@@ -4034,7 +4034,7 @@ static bool VULKAN_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cm
VULKAN_RenderData *rendererData = (VULKAN_RenderData *)renderer->internal; VULKAN_RenderData *rendererData = (VULKAN_RenderData *)renderer->internal;
VkSurfaceTransformFlagBitsKHR currentRotation = VULKAN_GetRotationForCurrentRenderTarget(rendererData); VkSurfaceTransformFlagBitsKHR currentRotation = VULKAN_GetRotationForCurrentRenderTarget(rendererData);
VULKAN_DrawStateCache stateCache; VULKAN_DrawStateCache stateCache;
SDL_memset(&stateCache, 0, sizeof(stateCache)); SDL_zero(stateCache);
if (!rendererData->device) { if (!rendererData->device) {
return SDL_SetError("Device lost and couldn't be recovered"); return SDL_SetError("Device lost and couldn't be recovered");

View File

@@ -79,7 +79,7 @@ bool VITA_CreateWindowFramebuffer(SDL_VideoDevice *_this, SDL_Window *window, SD
// SDL_memset the buffer to black // SDL_memset the buffer to black
SDL_memset(data->buffer, 0x0, SCREEN_W * SCREEN_H * 4); SDL_memset(data->buffer, 0x0, SCREEN_W * SCREEN_H * 4);
SDL_memset(&framebuf, 0x00, sizeof(SceDisplayFrameBuf)); SDL_zero(framebuf);
framebuf.size = sizeof(SceDisplayFrameBuf); framebuf.size = sizeof(SceDisplayFrameBuf);
framebuf.base = data->buffer; framebuf.base = data->buffer;
framebuf.pitch = SCREEN_W; framebuf.pitch = SCREEN_W;

View File

@@ -387,7 +387,7 @@ void VITA_ImeEventHandler(void *arg, const SceImeEventData *e)
} else { } else {
SDL_SendKeyboardText((const char *)utf8_buffer); SDL_SendKeyboardText((const char *)utf8_buffer);
} }
SDL_memset(&caret_rev, 0, sizeof(SceImeCaret)); SDL_zero(caret_rev);
SDL_memset(libime_out, 0, ((SCE_IME_MAX_PREEDIT_LENGTH + SCE_IME_MAX_TEXT_LENGTH + 1) * sizeof(SceWChar16))); SDL_memset(libime_out, 0, ((SCE_IME_MAX_PREEDIT_LENGTH + SCE_IME_MAX_TEXT_LENGTH + 1) * sizeof(SceWChar16)));
caret_rev.index = 1; caret_rev.index = 1;
sceImeSetCaret(&caret_rev); sceImeSetCaret(&caret_rev);
@@ -553,7 +553,7 @@ void VITA_PumpEvents(SDL_VideoDevice *_this)
uint8_t utf8_buffer[SCE_IME_DIALOG_MAX_TEXT_LENGTH]; uint8_t utf8_buffer[SCE_IME_DIALOG_MAX_TEXT_LENGTH];
SceImeDialogResult result; SceImeDialogResult result;
SDL_memset(&result, 0, sizeof(SceImeDialogResult)); SDL_zero(result);
sceImeDialogGetResult(&result); sceImeDialogGetResult(&result);
// Convert UTF16 to UTF8 // Convert UTF16 to UTF8

View File

@@ -64,7 +64,7 @@ static int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct times
if (sigismember(set, signo) && sigismember(&pending, signo)) { if (sigismember(set, signo) && sigismember(&pending, signo)) {
if (!sigwait(set, &signo)) { if (!sigwait(set, &signo)) {
if (info) { if (info) {
SDL_memset(info, 0, sizeof *info); SDL_zerop(info);
info->si_signo = signo; info->si_signo = signo;
} }
return signo; return signo;

View File

@@ -2522,7 +2522,7 @@ static void seat_handle_capabilities(void *data, struct wl_seat *wl_seat, enum w
if ((capabilities & WL_SEAT_CAPABILITY_POINTER) && !seat->pointer.wl_pointer) { if ((capabilities & WL_SEAT_CAPABILITY_POINTER) && !seat->pointer.wl_pointer) {
seat->pointer.wl_pointer = wl_seat_get_pointer(wl_seat); seat->pointer.wl_pointer = wl_seat_get_pointer(wl_seat);
SDL_memset(&seat->pointer.pending_frame.axis, 0, sizeof(seat->pointer.pending_frame.axis)); SDL_zero(seat->pointer.pending_frame.axis);
Wayland_SeatCreateCursorShape(seat); Wayland_SeatCreateCursorShape(seat);

View File

@@ -1731,7 +1731,7 @@ static void X11_DispatchEvent(SDL_VideoDevice *_this, XEvent *xevent)
} }
// reply with status // reply with status
SDL_memset(&m, 0, sizeof(XClientMessageEvent)); SDL_zero(m);
m.type = ClientMessage; m.type = ClientMessage;
m.display = xevent->xclient.display; m.display = xevent->xclient.display;
m.window = xevent->xclient.data.l[0]; m.window = xevent->xclient.data.l[0];
@@ -1748,7 +1748,7 @@ static void X11_DispatchEvent(SDL_VideoDevice *_this, XEvent *xevent)
} else if (xevent->xclient.message_type == videodata->atoms.XdndDrop) { } else if (xevent->xclient.message_type == videodata->atoms.XdndDrop) {
if (data->xdnd_req == None) { if (data->xdnd_req == None) {
// say again - not interested! // say again - not interested!
SDL_memset(&m, 0, sizeof(XClientMessageEvent)); SDL_zero(m);
m.type = ClientMessage; m.type = ClientMessage;
m.display = xevent->xclient.display; m.display = xevent->xclient.display;
m.window = xevent->xclient.data.l[0]; m.window = xevent->xclient.data.l[0];
@@ -2175,7 +2175,7 @@ static void X11_DispatchEvent(SDL_VideoDevice *_this, XEvent *xevent)
X11_XFree(p.data); X11_XFree(p.data);
// send reply // send reply
SDL_memset(&m, 0, sizeof(XClientMessageEvent)); SDL_zero(m);
m.type = ClientMessage; m.type = ClientMessage;
m.display = display; m.display = display;
m.window = data->xdnd_source; m.window = data->xdnd_source;
@@ -2243,7 +2243,7 @@ void X11_SendWakeupEvent(SDL_VideoDevice *_this, SDL_Window *window)
Window xwindow = window->internal->xwindow; Window xwindow = window->internal->xwindow;
XClientMessageEvent event; XClientMessageEvent event;
SDL_memset(&event, 0, sizeof(XClientMessageEvent)); SDL_zero(event);
event.type = ClientMessage; event.type = ClientMessage;
event.display = req_display; event.display = req_display;
event.send_event = True; event.send_event = True;

View File

@@ -354,7 +354,7 @@ SDL_WindowFlags X11_GetNetWMState(SDL_VideoDevice *_this, SDL_Window *window, Wi
*/ */
{ {
XWindowAttributes attr; XWindowAttributes attr;
SDL_memset(&attr, 0, sizeof(attr)); SDL_zero(attr);
X11_XGetWindowAttributes(videodata->display, xwindow, &attr); X11_XGetWindowAttributes(videodata->display, xwindow, &attr);
if (attr.map_state == IsUnmapped) { if (attr.map_state == IsUnmapped) {
flags |= SDL_WINDOW_HIDDEN; flags |= SDL_WINDOW_HIDDEN;