summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorjakllsch <jakllsch@NetBSD.org>2016-01-02 20:57:10 +0000
committerjakllsch <jakllsch@NetBSD.org>2016-01-02 20:57:10 +0000
commit6c552ecc19e4bcd41352c5e84246a21265df2a3f (patch)
tree56521b337590bea9af30d23d0025f390fe843d65 /sys/dev
parent705fd4cc0094c06066989fd849b1d80b4c1b144f (diff)
Fix dval signdedness confusion, as was recently done in libusbhid.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/hid.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/usb/hid.c b/sys/dev/usb/hid.c
index 84428dfb3ed..77d30a3f618 100644
--- a/sys/dev/usb/hid.c
+++ b/sys/dev/usb/hid.c
@@ -1,4 +1,4 @@
-/* $NetBSD: hid.c,v 1.38 2016/01/02 20:49:39 jakllsch Exp $ */
+/* $NetBSD: hid.c,v 1.39 2016/01/02 20:57:10 jakllsch Exp $ */
/* $FreeBSD: src/sys/dev/usb/hid.c,v 1.11 1999/11/17 22:33:39 n_hibma Exp $ */
/*
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hid.c,v 1.38 2016/01/02 20:49:39 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hid.c,v 1.39 2016/01/02 20:57:10 jakllsch Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -171,17 +171,19 @@ hid_get_item(struct hid_data *s, struct hid_item *h)
dval = 0;
break;
case 1:
- dval = /*(int8_t)*/ *data++;
+ dval = (int8_t)*data++;
break;
case 2:
dval = *data++;
dval |= *data++ << 8;
+ dval = (int16_t)dval;
break;
case 4:
dval = *data++;
dval |= *data++ << 8;
dval |= *data++ << 16;
dval |= *data++ << 24;
+ dval = (int32_t)dval;
break;
default:
printf("BAD LENGTH %d\n", bSize);