From f317a3f7e1a71a32caef15bb01a0e5253f4bf727 Mon Sep 17 00:00:00 2001 From: yokota Date: Sun, 27 Aug 2000 12:36:28 +0000 Subject: Fix ioctl MOUSE_SETMODE as defined in mouse(4). (Do not return EINVAL when -1 is specified as a new value, as it should mean "preserve the current value.") --- sys/dev/syscons/sysmouse.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/dev/syscons/sysmouse.c b/sys/dev/syscons/sysmouse.c index 3f13de2..d793cd1 100644 --- a/sys/dev/syscons/sysmouse.c +++ b/sys/dev/syscons/sysmouse.c @@ -202,9 +202,12 @@ smioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p) case MOUSE_SETMODE: /* set protocol/mode */ mode = (mousemode_t *)data; - if ((mode->level < 0) || (mode->level > 1)) + if (mode->level == -1) + ; /* don't change the current setting */ + else if ((mode->level < 0) || (mode->level > 1)) return EINVAL; - mouse_level = mode->level; + else + mouse_level = mode->level; return 0; case MOUSE_GETLEVEL: /* get operation level */ -- cgit v1.1