From 49c399217d5b8dbd3db549506fa3d6c2a28b7293 Mon Sep 17 00:00:00 2001
From: twinaphex <libretro@gmail.com>
Date: Sun, 21 Jan 2018 01:43:19 +0100
Subject: [PATCH] (xdk_joypad.c) Cleanups

---
 input/drivers_joypad/xdk_joypad.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/input/drivers_joypad/xdk_joypad.c b/input/drivers_joypad/xdk_joypad.c
index 0a5a1633a4..37360ef95d 100644
--- a/input/drivers_joypad/xdk_joypad.c
+++ b/input/drivers_joypad/xdk_joypad.c
@@ -21,16 +21,13 @@
 
 typedef struct
 {
+   HANDLE handle;
    XINPUT_STATE xstate;
    bool connected;
 } xinput_joypad_state;
 
 static xinput_joypad_state g_xinput_states[MAX_PADS];
 
-#ifdef _XBOX1
-static HANDLE gamepads[MAX_PADS];
-#endif
-
 static const char* const XBOX_CONTROLLER_NAMES[4] =
 {
    "XInput Controller (User 1)",
@@ -252,10 +249,10 @@ static void xdk_joypad_poll(void)
          /* if the controller was removed after
           * XGetDeviceChanges but before
           * XInputOpen, the device handle will be NULL. */
-         if (gamepads[port])
-            XInputClose(gamepads[port]);
+         if (g_xinput_states[port].handle)
+            XInputClose(g_xinput_states[port].handle);
 
-         gamepads[port]  = 0;
+         g_xinput_states[port].handle  = 0;
 
          input_autoconfigure_disconnect(port, xdk_joypad.ident);
       }
@@ -269,20 +266,20 @@ static void xdk_joypad_poll(void)
          m_pollingParameters.bInputInterval  = 8;
          m_pollingParameters.bOutputInterval = 8;
 
-         gamepads[port]                      = XInputOpen(
+         g_xinput_states[port].handle        = XInputOpen(
                XDEVICE_TYPE_GAMEPAD, port,
                XDEVICE_NO_SLOT, &m_pollingParameters);
 
          xdk_joypad_autodetect_add(port);
       }
 
-      if (!gamepads[port])
+      if (!g_xinput_states[port].handle)
          continue;
 
       /* if the controller is removed after
        * XGetDeviceChanges but before XInputOpen,
        * the device handle will be NULL. */
-      if (XInputPoll(gamepads[port]) != ERROR_SUCCESS)
+      if (XInputPoll(g_xinput_states[port].handle) != ERROR_SUCCESS)
          continue;
 #endif
       
@@ -291,7 +288,7 @@ static void xdk_joypad_poll(void)
       g_xinput_states[port].connected = !
       (XInputGetState(
 #ifdef _XBOX1
-         gamepads[port]
+         g_xinput_states[port].handle
 #else
          port
 #endif
@@ -312,9 +309,9 @@ static void xdk_joypad_destroy(void)
    {
       memset(&g_xinput_states[i], 0, sizeof(xinput_joypad_state));
 #if defined(_XBOX1)
-      if (gamepads[i])
-         XInputClose(gamepads[i]);
-      gamepads[i]  = 0;
+      if (g_xinput_states[i].handle)
+         XInputClose(g_xinput_states[i].handle);
+      g_x_input_states[i].handle  = 0;
 #endif
    }
 }