[PATCH 5/6] dinput: Use wide char string literals.

Rémi Bernon rbernon at codeweavers.com
Mon Oct 11 03:10:59 CDT 2021


Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 dlls/dinput/config.c       |  3 +--
 dlls/dinput/device.c       | 12 +++---------
 dlls/dinput/dinput_main.c  | 12 +++++-------
 dlls/dinput/joystick_hid.c |  6 ++----
 dlls/dinput/mouse.c        | 21 +++++++--------------
 5 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/dlls/dinput/config.c b/dlls/dinput/config.c
index 0b76b8e077c..01a92e54bd4 100644
--- a/dlls/dinput/config.c
+++ b/dlls/dinput/config.c
@@ -132,8 +132,7 @@ static int lv_get_item_data(HWND dialog, int index)
 
 static void lv_set_action(HWND dialog, int item, int action, LPDIACTIONFORMATW lpdiaf)
 {
-    static const WCHAR no_action[] = {'-','\0'};
-    const WCHAR *action_text = no_action;
+    const WCHAR *action_text = L"-";
     LVITEMW lvItem;
 
     if (item < 0) return;
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index a8ba16afe59..8af593c6ff5 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -686,11 +686,7 @@ static DWORD semantic_to_obj_id(IDirectInputDeviceImpl* This, DWORD dwSemantic)
  */
 static HKEY get_mapping_key(const WCHAR *device, const WCHAR *username, const WCHAR *guid)
 {
-    static const WCHAR subkey[] = {
-        'S','o','f','t','w','a','r','e','\\',
-        'W','i','n','e','\\',
-        'D','i','r','e','c','t','I','n','p','u','t','\\',
-        'M','a','p','p','i','n','g','s','\\','%','s','\\','%','s','\\','%','s','\0'};
+    static const WCHAR *subkey = L"Software\\Wine\\DirectInput\\Mappings\\%s\\%s\\%s";
     HKEY hkey;
     WCHAR *keyname;
 
@@ -733,13 +729,12 @@ static HRESULT save_mapping_settings(IDirectInputDevice8W *iface, LPDIACTIONFORM
     */
     for (i = 0; i < lpdiaf->dwNumActions; i++)
     {
-        static const WCHAR format[] = {'%','x','\0'};
         WCHAR label[9];
 
         if (IsEqualGUID(&didev.guidInstance, &lpdiaf->rgoAction[i].guidInstance) &&
             lpdiaf->rgoAction[i].dwHow != DIAH_UNMAPPED)
         {
-            swprintf( label, 9, format, lpdiaf->rgoAction[i].dwSemantic );
+            swprintf( label, 9, L"%x", lpdiaf->rgoAction[i].dwSemantic );
             RegSetValueExW( hkey, label, 0, REG_DWORD, (const BYTE *)&lpdiaf->rgoAction[i].dwObjID,
                             sizeof(DWORD) );
         }
@@ -775,11 +770,10 @@ static BOOL load_mapping_settings(IDirectInputDeviceImpl *This, LPDIACTIONFORMAT
     /* Try to read each action in the DIACTIONFORMAT from registry */
     for (i = 0; i < lpdiaf->dwNumActions; i++)
     {
-        static const WCHAR format[] = {'%','x','\0'};
         DWORD id, size = sizeof(DWORD);
         WCHAR label[9];
 
-        swprintf( label, 9, format, lpdiaf->rgoAction[i].dwSemantic );
+        swprintf( label, 9, L"%x", lpdiaf->rgoAction[i].dwSemantic );
 
         if (!RegQueryValueExW(hkey, label, 0, NULL, (LPBYTE) &id, &size))
         {
diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c
index 06eef8aa168..a01a6adfad5 100644
--- a/dlls/dinput/dinput_main.c
+++ b/dlls/dinput/dinput_main.c
@@ -83,7 +83,6 @@ static const struct dinput_device *dinput_devices[] =
 
 HINSTANCE DINPUT_instance;
 
-static const WCHAR di_em_win_w[] = {'D','I','E','m','W','i','n',0};
 static HWND di_em_win;
 
 static BOOL check_hook_thread(void);
@@ -498,7 +497,7 @@ static void register_di_em_win_class(void)
     class.cbSize = sizeof(class);
     class.lpfnWndProc = di_em_win_wndproc;
     class.hInstance = DINPUT_instance;
-    class.lpszClassName = di_em_win_w;
+    class.lpszClassName = L"DIEmWin";
 
     if (!RegisterClassExW( &class ) && GetLastError() != ERROR_CLASS_ALREADY_EXISTS)
         WARN( "Unable to register message window class\n" );
@@ -506,7 +505,7 @@ static void register_di_em_win_class(void)
 
 static void unregister_di_em_win_class(void)
 {
-    if (!UnregisterClassW( di_em_win_w, NULL ) && GetLastError() != ERROR_CLASS_DOES_NOT_EXIST)
+    if (!UnregisterClassW( L"DIEmWin", NULL ) && GetLastError() != ERROR_CLASS_DOES_NOT_EXIST)
         WARN( "Unable to unregister message window class\n" );
 }
 
@@ -611,7 +610,7 @@ static HRESULT WINAPI IDirectInputWImpl_GetDeviceStatus( IDirectInput7W *iface,
 static HRESULT WINAPI IDirectInputWImpl_RunControlPanel( IDirectInput7W *iface, HWND hwndOwner, DWORD dwFlags )
 {
     IDirectInputImpl *This = impl_from_IDirectInput7W( iface );
-    WCHAR control_exeW[] = {'c','o','n','t','r','o','l','.','e','x','e',0};
+    WCHAR control_exe[] = {L"control.exe"};
     STARTUPINFOW si = {0};
     PROCESS_INFORMATION pi;
 
@@ -626,7 +625,7 @@ static HRESULT WINAPI IDirectInputWImpl_RunControlPanel( IDirectInput7W *iface,
     if (!This->initialized)
         return DIERR_NOTINITIALIZED;
 
-    if (!CreateProcessW(NULL, control_exeW, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &si, &pi))
+    if (!CreateProcessW( NULL, control_exe, NULL, NULL, FALSE, DETACHED_PROCESS, NULL, NULL, &si, &pi ))
         return HRESULT_FROM_WIN32(GetLastError());
 
     return DI_OK;
@@ -1294,8 +1293,7 @@ static DWORD WINAPI hook_thread_proc(void *param)
     DWORD ret;
     MSG msg;
 
-    di_em_win = CreateWindowW( di_em_win_w, di_em_win_w, 0, 0, 0, 0, 0,
-                               HWND_MESSAGE, 0, DINPUT_instance, NULL );
+    di_em_win = CreateWindowW( L"DIEmWin", L"DIEmWin", 0, 0, 0, 0, 0, HWND_MESSAGE, 0, DINPUT_instance, NULL );
 
     /* Force creation of the message queue */
     PeekMessageW( &msg, 0, 0, 0, PM_NOREMOVE );
diff --git a/dlls/dinput/joystick_hid.c b/dlls/dinput/joystick_hid.c
index c6345baf53d..2280dc15040 100644
--- a/dlls/dinput/joystick_hid.c
+++ b/dlls/dinput/joystick_hid.c
@@ -1812,8 +1812,6 @@ static HRESULT hid_joystick_device_open( int index, DIDEVICEINSTANCEW *filter, W
                                          HANDLE *device, PHIDP_PREPARSED_DATA *preparsed,
                                          HIDD_ATTRIBUTES *attrs, HIDP_CAPS *caps, DWORD version )
 {
-    static const WCHAR ig_w[] = {'&','I','G','_',0};
-    static const WCHAR xi_w[] = {'&','X','I','_',0};
     char buffer[sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W) + MAX_PATH * sizeof(WCHAR)];
     SP_DEVICE_INTERFACE_DETAIL_DATA_W *detail = (void *)buffer;
     SP_DEVICE_INTERFACE_DATA iface = {.cbSize = sizeof(iface)};
@@ -1856,9 +1854,9 @@ static HRESULT hid_joystick_device_open( int index, DIDEVICEINSTANCEW *filter, W
         if (override)
         {
             if (!SetupDiGetDeviceInstanceIdW( set, &devinfo, device_id, MAX_PATH, NULL ) ||
-                !(tmp = wcsstr( device_id, ig_w )))
+                !(tmp = wcsstr( device_id, L"&IG_" )))
                 goto next;
-            memcpy( tmp, xi_w, sizeof(xi_w) - sizeof(WCHAR) );
+            memcpy( tmp, L"&XI_", sizeof(L"&XI_") - sizeof(WCHAR) );
             if (!SetupDiOpenDeviceInfoW( xi_set, device_id, NULL, 0, &devinfo ))
                 goto next;
             if (!SetupDiEnumDeviceInterfaces( xi_set, &devinfo, &GUID_DEVINTERFACE_WINEXINPUT, 0, &iface ))
diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c
index 34710c5cdb0..c9301bb5146 100644
--- a/dlls/dinput/mouse.c
+++ b/dlls/dinput/mouse.c
@@ -136,9 +136,6 @@ static HRESULT mousedev_enum_device(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEIN
 
 static HRESULT alloc_device( REFGUID rguid, IDirectInputImpl *dinput, SysMouseImpl **out )
 {
-    static const WCHAR mouse_wrap_override_w[] = {'M','o','u','s','e','W','a','r','p','O','v','e','r','r','i','d','e',0};
-    static const WCHAR disable_w[] = {'d','i','s','a','b','l','e',0};
-    static const WCHAR force_w[] = {'f','o','r','c','e',0};
     SysMouseImpl* newDevice;
     LPDIDATAFORMAT df = NULL;
     unsigned i;
@@ -154,10 +151,10 @@ static HRESULT alloc_device( REFGUID rguid, IDirectInputImpl *dinput, SysMouseIm
     newDevice->base.dwCoopLevel = DISCL_NONEXCLUSIVE | DISCL_BACKGROUND;
 
     get_app_key(&hkey, &appkey);
-    if (!get_config_key(hkey, appkey, mouse_wrap_override_w, buffer, sizeof(buffer)))
+    if (!get_config_key( hkey, appkey, L"MouseWarpOverride", buffer, sizeof(buffer) ))
     {
-        if (!wcsnicmp( buffer, disable_w, -1 )) newDevice->warp_override = WARP_DISABLE;
-        else if (!wcsnicmp( buffer, force_w, -1 )) newDevice->warp_override = WARP_FORCE_ON;
+        if (!wcsnicmp( buffer, L"disable", -1 )) newDevice->warp_override = WARP_DISABLE;
+        else if (!wcsnicmp( buffer, L"force", -1 )) newDevice->warp_override = WARP_FORCE_ON;
     }
     if (appkey) RegCloseKey(appkey);
     if (hkey) RegCloseKey(hkey);
@@ -687,23 +684,19 @@ static HRESULT WINAPI SysMouseWImpl_GetCapabilities(LPDIRECTINPUTDEVICE8W iface,
 static HRESULT WINAPI SysMouseWImpl_GetObjectInfo(LPDIRECTINPUTDEVICE8W iface,
         LPDIDEVICEOBJECTINSTANCEW pdidoi, DWORD dwObj, DWORD dwHow)
 {
-    static const WCHAR x_axisW[] = {'X','-','A','x','i','s',0};
-    static const WCHAR y_axisW[] = {'Y','-','A','x','i','s',0};
-    static const WCHAR wheelW[] = {'W','h','e','e','l',0};
-    static const WCHAR buttonW[] = {'B','u','t','t','o','n',' ','%','d',0};
     HRESULT res;
 
     res = IDirectInputDevice2WImpl_GetObjectInfo(iface, pdidoi, dwObj, dwHow);
     if (res != DI_OK) return res;
 
     if (IsEqualGUID( &pdidoi->guidType, &GUID_XAxis ))
-        wcscpy( pdidoi->tszName, x_axisW );
+        wcscpy( pdidoi->tszName, L"X-Axis" );
     else if (IsEqualGUID( &pdidoi->guidType, &GUID_YAxis ))
-        wcscpy( pdidoi->tszName, y_axisW );
+        wcscpy( pdidoi->tszName, L"Y-Axis" );
     else if (IsEqualGUID( &pdidoi->guidType, &GUID_ZAxis ))
-        wcscpy( pdidoi->tszName, wheelW );
+        wcscpy( pdidoi->tszName, L"Wheel" );
     else if (pdidoi->dwType & DIDFT_BUTTON)
-        swprintf( pdidoi->tszName, MAX_PATH, buttonW, DIDFT_GETINSTANCE( pdidoi->dwType ) - 3 );
+        swprintf( pdidoi->tszName, MAX_PATH, L"Button %d", DIDFT_GETINSTANCE( pdidoi->dwType ) - 3 );
 
     if(pdidoi->dwType & DIDFT_AXIS)
         pdidoi->dwFlags |= DIDOI_ASPECTPOSITION;
-- 
2.33.0




More information about the wine-devel mailing list