Sebastian Lackner : winebus.sys: Add a strdupAtoW implementation.
Alexandre Julliard
julliard at winehq.org
Fri Oct 14 13:46:55 CDT 2016
Module: wine
Branch: master
Commit: 66d70e38f5508042a6acf80f216b76e3c6fd8d35
URL: http://source.winehq.org/git/wine.git/?a=commit;h=66d70e38f5508042a6acf80f216b76e3c6fd8d35
Author: Sebastian Lackner <sebastian at fds-team.de>
Date: Fri Oct 14 08:54:33 2016 +0200
winebus.sys: Add a strdupAtoW implementation.
Signed-off-by: Aric Stewart <aric at codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winebus.sys/bus_udev.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/dlls/winebus.sys/bus_udev.c b/dlls/winebus.sys/bus_udev.c
index 22ea07d..fd5de70 100644
--- a/dlls/winebus.sys/bus_udev.c
+++ b/dlls/winebus.sys/bus_udev.c
@@ -78,6 +78,17 @@ static inline struct platform_private *impl_from_DEVICE_OBJECT(DEVICE_OBJECT *de
return (struct platform_private *)get_platform_private(device);
}
+static inline WCHAR *strdupAtoW(const char *src)
+{
+ WCHAR *dst;
+ DWORD len;
+ if (!src) return NULL;
+ len = MultiByteToWideChar(CP_UNIXCP, 0, src, -1, NULL, 0);
+ if ((dst = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR))))
+ MultiByteToWideChar(CP_UNIXCP, 0, src, -1, dst, len);
+ return dst;
+}
+
static DWORD get_sysattr_dword(struct udev_device *dev, const char *sysattr, int base)
{
const char *attr = udev_device_get_sysattr_value(dev, sysattr);
@@ -92,17 +103,12 @@ static DWORD get_sysattr_dword(struct udev_device *dev, const char *sysattr, int
static WCHAR *get_sysattr_string(struct udev_device *dev, const char *sysattr)
{
const char *attr = udev_device_get_sysattr_value(dev, sysattr);
- WCHAR *dst;
- DWORD len;
if (!attr)
{
WARN("Could not get %s from device\n", sysattr);
return NULL;
}
- len = MultiByteToWideChar(CP_UNIXCP, 0, attr, -1, NULL, 0);
- if ((dst = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR))))
- MultiByteToWideChar(CP_UNIXCP, 0, attr, -1, dst, len);
- return dst;
+ return strdupAtoW(attr);
}
static int compare_platform_device(DEVICE_OBJECT *device, void *platform_dev)
More information about the wine-cvs
mailing list