fix SDL SetGamepadMappings (#5548)

This commit is contained in:
Yui Kinomoto / きのもと 結衣 2026-02-13 01:04:22 +09:00 committed by GitHub
parent 85de580527
commit 4e7c38ac43
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1287,7 +1287,25 @@ void OpenURL(const char *url)
// Set internal gamepad mappings
int SetGamepadMappings(const char *mappings)
{
return SDL_GameControllerAddMapping(mappings);
const int mappingsLength = strlen(mappings);
char *buffer = (char *)RL_CALLOC(mappingsLength + 1, sizeof(char));
memcpy(buffer, mappings, mappingsLength);
char *p = strtok(buffer, "\n");
bool succeed = true;
while (p != NULL)
{
if (SDL_GameControllerAddMapping(p) == -1)
{
succeed = false;
}
p = strtok(NULL, "\n");
}
RL_FREE(buffer);
// To make return value is consistent with the GLFW version.
return (succeed)? 1 : 0;
}
// Set gamepad vibration