Don't do name blacklisting if there's no name

This commit is contained in:
Sam Lantinga
2026-04-24 07:33:37 -07:00
parent f3d7df54e2
commit c124da4367
+20 -19
View File
@@ -3233,28 +3233,29 @@ bool SDL_IsGamepad(SDL_JoystickID instance_id)
*/ */
bool SDL_ShouldIgnoreGamepad(Uint16 vendor_id, Uint16 product_id, Uint16 version, const char *name) bool SDL_ShouldIgnoreGamepad(Uint16 vendor_id, Uint16 product_id, Uint16 version, const char *name)
{ {
int i; if (name) {
for (i = 0; i < SDL_arraysize(SDL_gamepad_blacklist_words); i++) { for (int i = 0; i < SDL_arraysize(SDL_gamepad_blacklist_words); i++) {
const struct SDL_GamepadBlacklistWords *blacklist_word = &SDL_gamepad_blacklist_words[i]; const struct SDL_GamepadBlacklistWords *blacklist_word = &SDL_gamepad_blacklist_words[i];
switch (blacklist_word->pos) { switch (blacklist_word->pos) {
case GAMEPAD_BLACKLIST_BEGIN: case GAMEPAD_BLACKLIST_BEGIN:
if (SDL_startswith(name, blacklist_word->str)) { if (SDL_startswith(name, blacklist_word->str)) {
return true; return true;
} }
break; break;
case GAMEPAD_BLACKLIST_END: case GAMEPAD_BLACKLIST_END:
if (SDL_endswith(name, blacklist_word->str)) { if (SDL_endswith(name, blacklist_word->str)) {
return true; return true;
} }
break; break;
case GAMEPAD_BLACKLIST_ANYWHERE: case GAMEPAD_BLACKLIST_ANYWHERE:
if (SDL_strstr(name, blacklist_word->str) != NULL) { if (SDL_strstr(name, blacklist_word->str) != NULL) {
return true; return true;
} }
break; break;
}
} }
} }