Skip to content

Commit c3902c8

Browse files
Error handling for libsuinput functions.
1 parent d0c59cd commit c3902c8

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/__init__.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,18 @@ def _error_handler(result, fn, args):
6262
if result == -1:
6363
code = ctypes.get_errno()
6464
raise OSError(code, os.strerror(code))
65+
elif result < -1:
66+
raise RuntimeError("unexpected return value: %s" % result)
6567
return result
6668

6769
_libsuinput = ctypes.CDLL("libsuinput.so.4", use_errno=True)
68-
70+
_libsuinput.suinput_open.errcheck = _error_handler
71+
_libsuinput.suinput_enable_event.errcheck = _error_handler
6972
_libsuinput.suinput_create.errcheck = _error_handler
73+
_libsuinput.suinput_write_event.errcheck = _error_handler
74+
_libsuinput.suinput_emit.errcheck = _error_handler
75+
_libsuinput.suinput_syn.errcheck = _error_handler
76+
_libsuinput.suinput_destroy.errcheck = _error_handler
7077

7178
class Device(object):
7279

0 commit comments

Comments
 (0)