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

Aric Stewart aric at codeweavers.com
Wed Feb 6 12:41:27 CST 2019


Signed-off-by: Aric Stewart <aric at codeweavers.com>

On 2/5/19 1:09 PM, Zebediah Figura wrote:
> 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;
>               }
> 



More information about the wine-devel mailing list