[PATCH 2/2] hid: Don't sign-extend 16-bit values.

Zebediah Figura z.figura12 at gmail.com
Tue Feb 5 13:09:39 CST 2019


From: Zebediah Figura <zfigura at codeweavers.com>

Some controllers (including, with the previous patch, any reported
through SDL) may report a logical range of [0,65535], which takes up
16 bits but should not be sign-extended.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 dlls/hid/hidp.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/dlls/hid/hidp.c b/dlls/hid/hidp.c
index f9978038e3..15d827edf1 100644
--- a/dlls/hid/hidp.c
+++ b/dlls/hid/hidp.c
@@ -277,8 +277,6 @@ NTSTATUS WINAPI HidP_GetScaledUsageValue(HIDP_REPORT_TYPE ReportType, USAGE Usag
                              element->valueStartBit, element->bitCount, &rawValue);
         if (rc != HIDP_STATUS_SUCCESS)
             return rc;
-        if (element->caps.value.BitSize == 16)
-            rawValue = (short)rawValue;
         *UsageValue = rawValue;
     }
 
@@ -925,8 +923,6 @@ NTSTATUS WINAPI HidP_GetData(HIDP_REPORT_TYPE ReportType, HIDP_DATA *DataList, U
                                      element->valueStartBit, element->bitCount, &v);
                 if (rc != HIDP_STATUS_SUCCESS)
                     return rc;
-                if (element->caps.value.BitSize == 16)
-                    v = (short)v;
                 DataList[uCount].DataIndex = element->caps.value.u.NotRange.DataIndex;
                 DataList[uCount].u.RawValue = v;
             }
-- 
2.20.1




More information about the wine-devel mailing list