aboutsummaryrefslogtreecommitdiff
path: root/devel/sdl12
diff options
context:
space:
mode:
authorMatthew N. Dodd <mdodd@FreeBSD.org>2003-04-09 04:51:09 +0000
committerMatthew N. Dodd <mdodd@FreeBSD.org>2003-04-09 04:51:09 +0000
commitaa3d7c479bbecbfb2d54a91a1e2567fd68f91103 (patch)
tree8e91d0d84cb01c56bd95846b748ac84efdc6021c /devel/sdl12
parent897b3697aeb668e1383b358912c2f289476d1749 (diff)
downloadports-aa3d7c479bbecbfb2d54a91a1e2567fd68f91103.tar.gz
ports-aa3d7c479bbecbfb2d54a91a1e2567fd68f91103.zip
Notes
Diffstat (limited to 'devel/sdl12')
-rw-r--r--devel/sdl12/files/patch-joystick::bsd::SDL_sysjoystick.c65
1 files changed, 65 insertions, 0 deletions
diff --git a/devel/sdl12/files/patch-joystick::bsd::SDL_sysjoystick.c b/devel/sdl12/files/patch-joystick::bsd::SDL_sysjoystick.c
new file mode 100644
index 000000000000..2f2959be06f8
--- /dev/null
+++ b/devel/sdl12/files/patch-joystick::bsd::SDL_sysjoystick.c
@@ -0,0 +1,65 @@
+--- src/joystick/bsd/SDL_sysjoystick.c.orig Sat Oct 5 01:32:49 2002
++++ src/joystick/bsd/SDL_sysjoystick.c Sun Apr 6 23:40:03 2003
+@@ -53,6 +53,10 @@
+ #include <libusbhid.h>
+ #endif
+
++#ifdef __FreeBSD__
++#include <osreldate.h>
++#endif
++
+ #include "SDL_error.h"
+ #include "SDL_joystick.h"
+ #include "SDL_sysjoystick.h"
+@@ -201,6 +205,7 @@
+ }
+
+ rep = &hw->inreport;
++ rep->rid = 0;
+ if (report_alloc(rep, hw->repdesc, REPORT_INPUT) < 0) {
+ goto usberr;
+ }
+@@ -210,7 +215,7 @@
+ goto usberr;
+ }
+
+-#ifdef USBHID_NEW
++#if defined(USBHID_NEW) || (defined(__FreeBSD__) && __FreeBSD_version >= 500111)
+ hdata = hid_start_parse(hw->repdesc, 1 << hid_input, rep->rid);
+ #else
+ hdata = hid_start_parse(hw->repdesc, 1 << hid_input);
+@@ -300,7 +305,7 @@
+ if (read(joy->hwdata->fd, REP_BUF_DATA(rep), rep->size) != rep->size) {
+ return;
+ }
+-#ifdef USBHID_NEW
++#if defined(USBHID_NEW) || (defined(__FreeBSD__) && __FreeBSD_version >= 500111)
+ hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input, rep->rid);
+ #else
+ hdata = hid_start_parse(joy->hwdata->repdesc, 1 << hid_input);
+@@ -399,11 +404,24 @@
+ {
+ int len;
+
+-#ifdef USBHID_NEW
++#ifdef __FreeBSD__
++# if (__FreeBSD_version >= 470000)
++# if (__FreeBSD_version <= 500111)
++ len = hid_report_size(rd, r->rid, repinfo[repind].kind);
++# else
++ len = hid_report_size(rd, repinfo[repind].kind, r->rid);
++# endif
++# else
+ len = hid_report_size(rd, repinfo[repind].kind, &r->rid);
++#endif
+ #else
++# ifdef USBHID_NEW
++ len = hid_report_size(rd, repinfo[repind].kind, &r->rid);
++# else
+ len = hid_report_size(rd, repinfo[repind].kind, r->rid);
++# endif
+ #endif
++
+ if (len < 0) {
+ SDL_SetError("Negative HID report size");
+ return (-1);