diff -r 75c33f89d791 -r 5bb6be4f2425 src/joystick/windows/SDL_windowsjoystick.c --- a/src/joystick/windows/SDL_windowsjoystick.c Fri May 29 13:37:21 2020 -0700 +++ b/src/joystick/windows/SDL_windowsjoystick.c Fri May 29 14:48:05 2020 -0700 @@ -400,8 +400,9 @@ WINDOWS_JoystickGetDeviceName(int device_index) { JoyStick_DeviceData *device = SYS_Joystick; + int index; - for (; device_index > 0; device_index--) + for (index = device_index; index > 0; index--) device = device->pNext; return device->joystickname; @@ -458,25 +459,26 @@ static int WINDOWS_JoystickOpen(SDL_Joystick * joystick, int device_index) { - JoyStick_DeviceData *joystickdevice = SYS_Joystick; + JoyStick_DeviceData *device = SYS_Joystick; + int index; - for (; device_index > 0; device_index--) - joystickdevice = joystickdevice->pNext; + for (index = device_index; index > 0; index--) + device = device->pNext; /* allocate memory for system specific hardware data */ - joystick->instance_id = joystickdevice->nInstanceID; + joystick->instance_id = device->nInstanceID; joystick->hwdata = (struct joystick_hwdata *) SDL_malloc(sizeof(struct joystick_hwdata)); if (joystick->hwdata == NULL) { return SDL_OutOfMemory(); } SDL_zerop(joystick->hwdata); - joystick->hwdata->guid = joystickdevice->guid; + joystick->hwdata->guid = device->guid; - if (joystickdevice->bXInputDevice) { - return SDL_XINPUT_JoystickOpen(joystick, joystickdevice); + if (device->bXInputDevice) { + return SDL_XINPUT_JoystickOpen(joystick, device); } else { - return SDL_DINPUT_JoystickOpen(joystick, joystickdevice); + return SDL_DINPUT_JoystickOpen(joystick, device); } }