/* }}} */
/* pwqr wrapping {{{ */
-static int pwqr_create(void)
+static int pwqr_create(int flags)
{
- return open("/dev/"PWQR_DEVICE_NAME, O_RDWR);
+ if (flags & ~(O_NONBLOCK | O_CLOEXEC)) {
+ errno = -EINVAL;
+ return -1;
+ }
+ return open("/dev/"PWQR_DEVICE_NAME, O_RDWR | flags);
}
static int pwqr_ctl(int fd, int op, int val, void *uaddr)
if (pwqr_g.fd >= 0)
goto out;
- fd = pwqr_create();
+ fd = pwqr_create(0);
if (fd < 0) {
rc = -1;
goto out;