Commit 4a800ae149c1716186cc1ba9bdf171209affb5e6

Sam Lantinga 2022-08-28T16:11:12

Created a consolidated define enabling BSD gameport joystick support

diff --git a/src/joystick/bsd/SDL_bsdjoystick.c b/src/joystick/bsd/SDL_bsdjoystick.c
index 19aad88..aa365d6 100644
--- a/src/joystick/bsd/SDL_bsdjoystick.c
+++ b/src/joystick/bsd/SDL_bsdjoystick.c
@@ -77,6 +77,10 @@
 #include "../SDL_sysjoystick.h"
 #include "../SDL_joystick_c.h"
 
+#if defined(__FREEBSD__) || SDL_HAVE_MACHINE_JOYSTICK_H || defined(__FreeBSD_kernel__) || defined(__DragonFly_)
+#define SUPPORT_JOY_GAMEPORT
+#endif
+
 #define MAX_UHID_JOYS   64
 #define MAX_JOY_JOYS    2
 #define MAX_JOYS    (MAX_UHID_JOYS + MAX_JOY_JOYS)
@@ -250,6 +254,7 @@ BSD_JoystickInit(void)
             joynames[numjoysticks] = NULL;
         }
     }
+#ifdef SUPPORT_JOY_GAMEPORT
     for (i = 0; i < MAX_JOY_JOYS; i++) {
         SDL_snprintf(s, SDL_arraysize(s), "/dev/joy%d", i);
         fd = open(s, O_RDONLY | O_CLOEXEC);
@@ -258,6 +263,7 @@ BSD_JoystickInit(void)
             close(fd);
         }
     }
+#endif /* SUPPORT_JOY_GAMEPORT */
 
     /* Read the default USB HID usage table. */
     hid_init(NULL);
@@ -392,6 +398,7 @@ BSD_JoystickOpen(SDL_Joystick *joy, int device_index)
     }
     joy->hwdata = hw;
     hw->fd = fd;
+#ifdef SUPPORT_JOY_GAMEPORT
     if (SDL_strncmp(path, "/dev/joy", 8) == 0) {
         hw->type = BSDJOY_JOY;
         joy->naxes = 2;
@@ -400,7 +407,9 @@ BSD_JoystickOpen(SDL_Joystick *joy, int device_index)
         joy->nballs = 0;
         joydevnames[device_index] = SDL_strdup("Gameport joystick");
         goto usbend;
-    } else {
+    } else
+#endif
+    {
         hw->type = BSDJOY_UHID;
     }
 
@@ -577,7 +586,7 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
     int actualbutton;
 #endif
 
-#if defined(__FREEBSD__) || SDL_HAVE_MACHINE_JOYSTICK_H || defined(__FreeBSD_kernel__) || defined(__DragonFly_)
+#ifdef SUPPORT_JOY_GAMEPORT
     struct joystick gameport;
     static int x, y, xmin = 0xffff, ymin = 0xffff, xmax = 0, ymax = 0;
 
@@ -622,7 +631,7 @@ BSD_JoystickUpdate(SDL_Joystick *joy)
         }
         return;
     }
-#endif /* __FREEBSD__ || SDL_HAVE_MACHINE_JOYSTICK_H || __FreeBSD_kernel__ || __DragonFly_ */
+#endif /* SUPPORT_JOY_GAMEPORT */
 
     rep = &joy->hwdata->inreport;