src/joystick/bsd/SDL_sysjoystick.c
changeset 552 639d58d32471
parent 544 2d7373ffd131
child 611 0a2ef9e8ca41
--- a/src/joystick/bsd/SDL_sysjoystick.c	Mon Dec 02 01:47:03 2002 +0000
+++ b/src/joystick/bsd/SDL_sysjoystick.c	Mon Dec 02 02:35:58 2002 +0000
@@ -32,6 +32,8 @@
  "@(#) $Id$";
 #endif
 
+#include <sys/param.h>
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -406,11 +408,20 @@
 {
 	int len;
 
-#ifdef USBHID_NEW
-	len = hid_report_size(rd, repinfo[repind].kind, r->rid);
-#else
+#ifdef __FreeBSD__
+# if (__FreeBSD_version >= 470000)
+	len = hid_report_size(rd, r->rid, repinfo[repind].kind);
+# 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);