Fixed manufacturer/product name deduplication for the Razer Raiju Tournament Edition controller

This commit is contained in:
Sam Lantinga 2022-09-23 15:28:32 -07:00
parent 56b91ea720
commit 4ea64fee9f
1 changed files with 12 additions and 6 deletions

View File

@ -1972,14 +1972,20 @@ SDL_CreateJoystickName(Uint16 vendor, Uint16 product, const char *vendor_name, c
}
}
/* Remove duplicate manufacturer or product in the name */
/* Remove duplicate manufacturer or product in the name
* e.g. Razer Razer Raiju Tournament Edition Wired
*/
for (i = 1; i < (len - 1); ++i) {
int matchlen = PrefixMatch(name, &name[i]);
if (matchlen > 0 && name[matchlen-1] == ' ') {
SDL_memmove(name, name+matchlen, len-matchlen+1);
break;
} else if (matchlen > 0 && name[matchlen] == ' ') {
SDL_memmove(name, name+matchlen+1, len-matchlen);
while (matchlen > 0) {
if (name[matchlen] == ' ') {
SDL_memmove(name, name + matchlen + 1, len - matchlen);
break;
}
--matchlen;
}
if (matchlen > 0) {
/* We matched the manufacturer's name and removed it */
break;
}
}