From: folkert <fo...@va...> - 2013-05-24 19:02:43
|
Hi, hidapi does not handle kernel version >= v3.x correctly; it expects 3 values while only 2 are available. This should fix that: diff --git a/linux/hid.c b/linux/hid.c index 38f6753..e4295e9 100644 --- a/linux/hid.c +++ b/linux/hid.c @@ -602,11 +602,16 @@ hid_device * HID_API_EXPORT hid_open_path(const char *path) if (kernel_version == 0) { struct utsname name; - int major, minor, release; + int major, minor, release = 0; int ret; + uname(&name); + ret = sscanf(name.release, "%d.%d.%d", &major, &minor, &release); - if (ret == 3) { + if (ret != 3) + ret = sscanf(name.release, "%d.%d", &major, &minor); + + if (ret == 2 || ret == 3) { kernel_version = major << 16 | minor << 8 | release; //printf("Kernel Version: %d\n", kernel_version); } Folkert van Heusden -- www.vanheusden.com/multitail - win een vlaai van multivlaai! zorg ervoor dat multitail opgenomen wordt in Fedora Core, AIX, Solaris of HP/UX en win een vlaai naar keuze ---------------------------------------------------------------------- Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com |