[PATCH libevdev 4/8] When running against a kernel without properties, continue as usual

Peter Hutterer peter.hutterer at who-t.net
Sun Oct 13 23:14:52 PDT 2013


Missing out on properties is not fatal.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 libevdev/libevdev.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c
index fd3c010..29640f4 100644
--- a/libevdev/libevdev.c
+++ b/libevdev/libevdev.c
@@ -267,8 +267,12 @@ libevdev_set_fd(struct libevdev* dev, int fd)
 	if (rc < 0)
 		goto out;
 
+	/* Built on a kernel with props, running against a kernel without property
+	   support. This should not be a fatal case, we'll be missing properties but other
+	   than that everything is as expected.
+	 */
 	rc = ioctl(fd, EVIOCGPROP(sizeof(dev->props)), dev->props);
-	if (rc < 0)
+	if (rc < 0 && errno != EINVAL)
 		goto out;
 
 	rc = ioctl(fd, EVIOCGBIT(EV_REL, sizeof(dev->rel_bits)), dev->rel_bits);
-- 
1.8.3.1



More information about the Input-tools mailing list