Revision: 2388
http://linuxconsole.svn.sourceforge.net/linuxconsole/?rev=2388&view=rev
Author: skitt
Date: 2010-09-23 11:46:42 +0000 (Thu, 23 Sep 2010)
Log Message:
-----------
Avoid segfaulting with certain USB joysticks. Patch taken from the Ubuntu
package.
Modified Paths:
--------------
trunk/utils/jstest.c
Modified: trunk/utils/jstest.c
===================================================================
--- trunk/utils/jstest.c 2010-09-23 11:45:44 UTC (rev 2387)
+++ trunk/utils/jstest.c 2010-09-23 11:46:42 UTC (rev 2388)
@@ -106,15 +106,21 @@
printf("Driver version is %d.%d.%d.\n",
version >> 16, (version >> 8) & 0xff, version & 0xff);
- printf("Joystick (%s) has %d axes (", name, axes);
- for (i = 0; i < axes; i++)
- printf("%s%s", i > 0 ? ", " : "", axis_names[axmap[i]]);
- puts(")");
+ if (buttons > 0 && btnmap[0] < BTN_MISC) {
+ /* btnmap out of range for names. Don't print any. */
+ printf("Joystick (%s) has %d axes ", name, axes);
+ printf("and %d buttons.\n", buttons);
+ } else {
+ printf("Joystick (%s) has %d axes (", name, axes);
+ for (i = 0; i < axes; i++)
+ printf("%s%s", i > 0 ? ", " : "", axis_names[axmap[i]]);
+ puts(")");
- printf("and %d buttons (", buttons);
- for (i = 0; i < buttons; i++)
- printf("%s%s", i > 0 ? ", " : "", button_names[btnmap[i] - BTN_MISC]);
- puts(").");
+ printf("and %d buttons (", buttons);
+ for (i = 0; i < buttons; i++)
+ printf("%s%s", i > 0 ? ", " : "", button_names[btnmap[i] - BTN_MISC]);
+ puts(").");
+ }
printf("Testing ... (interrupt to exit)\n");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|