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

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) { for (i = 1; i < (len - 1); ++i) {
int matchlen = PrefixMatch(name, &name[i]); int matchlen = PrefixMatch(name, &name[i]);
if (matchlen > 0 && name[matchlen-1] == ' ') { while (matchlen > 0) {
SDL_memmove(name, name+matchlen, len-matchlen+1); if (name[matchlen] == ' ') {
break; SDL_memmove(name, name + matchlen + 1, len - matchlen);
} else if (matchlen > 0 && name[matchlen] == ' ') { break;
SDL_memmove(name, name+matchlen+1, len-matchlen); }
--matchlen;
}
if (matchlen > 0) {
/* We matched the manufacturer's name and removed it */
break; break;
} }
} }