Rémi Bernon : winebus.sys: Parse product string from uevent HID_NAME.
Module: wine Branch: master Commit: 57d99dcfb7c814a76098da96c15879e243b80db7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=57d99dcfb7c814a76098da96c... Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Wed Oct 6 14:04:02 2021 +0200 winebus.sys: Parse product string from uevent HID_NAME. Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/winebus.sys/bus_udev.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/winebus.sys/bus_udev.c b/dlls/winebus.sys/bus_udev.c index 1f563ebb56f..f780aac2785 100644 --- a/dlls/winebus.sys/bus_udev.c +++ b/dlls/winebus.sys/bus_udev.c @@ -1048,6 +1048,7 @@ static void get_device_subsystem_info(struct udev_device *dev, char const *subsy { struct udev_device *parent = NULL; const char *ptr, *next, *tmp; + char buffer[MAX_PATH]; DWORD bus = 0; if (!(parent = udev_device_get_parent_with_subsystem_devtype(dev, subsystem, NULL))) return; @@ -1062,11 +1063,16 @@ static void get_device_subsystem_info(struct udev_device *dev, char const *subsy if (!strncmp(ptr, "HID_UNIQ=", 9)) { - char buffer[MAX_PATH]; if (desc->serialnumber[0]) continue; if (sscanf(ptr, "HID_UNIQ=%256s\n", buffer) == 1) ntdll_umbstowcs(buffer, strlen(buffer) + 1, desc->serialnumber, ARRAY_SIZE(desc->serialnumber)); } + if (!strncmp(ptr, "HID_NAME=", 7)) + { + if (desc->product[0]) continue; + if (sscanf(ptr, "HID_NAME=%256s\n", buffer) == 1) + ntdll_umbstowcs(buffer, strlen(buffer) + 1, desc->product, ARRAY_SIZE(desc->product)); + } if (!strncmp(ptr, "HID_PHYS=", 9) || !strncmp(ptr, "PHYS=\"", 6)) { if (!(tmp = strstr(ptr, "/input")) || tmp >= next) continue;
participants (1)
-
Alexandre Julliard