libevdev_set_fd may fail at a number of points. If it does, it errors out but does nothing
otherwise. Thus, a client may call set_fd again for the same struct but on a different fd and have
it succeed. Depending on when set_fd bailed out the first time, some fields may already be set.
Thus, reset the whole struct at set_fd time to make sure we're nulled out appropriately.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
(cherry picked from commit
|
||
|---|---|---|
| doc | ||
| libevdev | ||
| m4 | ||
| test | ||
| tools | ||
| .gitignore | ||
| autogen.sh | ||
| configure.ac | ||
| COPYING | ||
| libevdev.pc.in | ||
| Makefile.am | ||
| README.md | ||
libevdev - wrapper library for evdev input devices
libevdev is a wrapper library for evdev devices. it moves the common tasks when dealing with evdev devices into a library and provides a library interface to the callers, thus avoiding erroneous ioctls, etc.
git://git.freedesktop.org/git/libevdev http://cgit.freedesktop.org/libevdev/
libevdev is currently in early stages of development. Use at your own risk
The eventual goal is that libevdev wraps all ioctls available to evdev devices, thus making direct access unnecessary.
Go here for the API documentation: http://www.freedesktop.org/software/libevdev/doc/latest/
File bugs in the freedesktop.org bugzilla: https://bugs.freedesktop.org/enter_bug.cgi?product=libevdev
Patches, questions and general comments should be submitted to the input-tools@lists.freedesktop.org mailing list: http://lists.freedesktop.org/mailman/listinfo/input-tools