[PATCH] gameux: Use wide-char string literals.

Michael Stefaniuc mstefani at winehq.org
Tue Mar 16 17:09:04 CDT 2021


Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
 dlls/gameux/gameexplorer.c   | 67 +++++++++---------------------------
 dlls/gameux/gamestatistics.c | 57 +++++++++---------------------
 2 files changed, 32 insertions(+), 92 deletions(-)

diff --git a/dlls/gameux/gameexplorer.c b/dlls/gameux/gameexplorer.c
index 8b62c72f389..5fdacacf4b2 100644
--- a/dlls/gameux/gameexplorer.c
+++ b/dlls/gameux/gameexplorer.c
@@ -80,12 +80,6 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
         LPCGUID gameInstanceId,
         LPWSTR* lpRegistryPath)
 {
-    static const WCHAR sGameUxRegistryPath[] = {'S','O','F','T','W','A','R','E','\\',
-            'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s','\\',
-            'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\','G','a','m','e','U','X',0};
-    static const WCHAR sGames[] = {'G','a','m','e','s',0};
-    static const WCHAR sBackslash[] = {'\\',0};
-
     HRESULT hr = S_OK;
     HANDLE hToken = NULL;
     PTOKEN_USER pTokenUser = NULL;
@@ -99,8 +93,7 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
     /* this will make freeing it easier for user */
     *lpRegistryPath = NULL;
 
-    lstrcpyW(sRegistryPath, sGameUxRegistryPath);
-    lstrcatW(sRegistryPath, sBackslash);
+    lstrcpyW(sRegistryPath, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\GameUX\\");
 
     if(installScope == GIS_CURRENT_USER)
     {
@@ -141,7 +134,7 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
     }
     else if(installScope == GIS_ALL_USERS)
         /* build registry path without SID */
-        lstrcatW(sRegistryPath, sGames);
+        lstrcatW(sRegistryPath, L"Games");
     else
         hr = E_INVALIDARG;
 
@@ -153,7 +146,7 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
 
         if(SUCCEEDED(hr))
         {
-            lstrcatW(sRegistryPath, sBackslash);
+            lstrcatW(sRegistryPath, L"\\");
             lstrcatW(sRegistryPath, sInstanceId);
         }
     }
@@ -197,17 +190,6 @@ HRESULT GAMEUX_buildGameRegistryPath(GAME_INSTALL_SCOPE installScope,
  */
 static HRESULT GAMEUX_WriteRegistryRecord(struct GAMEUX_GAME_DATA *GameData)
 {
-    static const WCHAR sApplicationId[] =
-            {'A','p','p','l','i','c','a','t','i','o','n','I','d',0};
-    static const WCHAR sConfigApplicationPath[] =
-            {'C','o','n','f','i','g','A','p','p','l','i','c','a','t','i','o','n','P','a','t','h',0};
-    static const WCHAR sConfigGDFBinaryPath[] =
-            {'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
-    static const WCHAR sTitle[] =
-            {'T','i','t','l','e',0};
-    static const WCHAR sDescription[] =
-            {'D','e','s','c','r','i','p','t','i','o','n',0};
-
     HRESULT hr, hr2;
     LPWSTR lpRegistryKey;
     HKEY hKey;
@@ -228,27 +210,27 @@ static HRESULT GAMEUX_WriteRegistryRecord(struct GAMEUX_GAME_DATA *GameData)
     if(SUCCEEDED(hr))
     {
         /* write game data to registry key */
-        hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sConfigApplicationPath, 0,
+        hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"ConfigApplicationPath", 0,
                                                REG_SZ, (LPBYTE)(GameData->sGameInstallDirectory),
                                                (lstrlenW(GameData->sGameInstallDirectory)+1)*sizeof(WCHAR)));
 
         if(SUCCEEDED(hr))
-            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sConfigGDFBinaryPath, 0,
+            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"ConfigGDFBinaryPath", 0,
                                                    REG_SZ, (LPBYTE)(GameData->sGDFBinaryPath),
                                                    (lstrlenW(GameData->sGDFBinaryPath)+1)*sizeof(WCHAR)));
 
         if(SUCCEEDED(hr))
-            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sApplicationId, 0,
+            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"ApplicationId", 0,
                                                    REG_SZ, (LPBYTE)(sGameApplicationId),
                                                    (lstrlenW(sGameApplicationId)+1)*sizeof(WCHAR)));
 
         if(SUCCEEDED(hr))
-            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sTitle, 0,
+            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"Title", 0,
                                                    REG_SZ, (LPBYTE)(GameData->bstrName),
                                                    (lstrlenW(GameData->bstrName)+1)*sizeof(WCHAR)));
 
         if(SUCCEEDED(hr))
-            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, sDescription, 0,
+            hr = HRESULT_FROM_WIN32(RegSetValueExW(hKey, L"Description", 0,
                                                    REG_SZ, (LPBYTE)(GameData->bstrDescription ? GameData->bstrDescription : GameData->bstrName),
                                                    (lstrlenW(GameData->bstrDescription ? GameData->bstrDescription : GameData->bstrName)+1)*sizeof(WCHAR)));
 
@@ -282,11 +264,6 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
         IXMLDOMElement *element,
         struct GAMEUX_GAME_DATA *GameData)
 {
-    static const WCHAR sName[] =
-            {'N','a','m','e',0};
-    static const WCHAR sDescription[] =
-            {'D','e','s','c','r','i','p','t','i','o','n',0};
-
     HRESULT hr;
     BSTR bstrElementName;
 
@@ -296,10 +273,10 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
     if(SUCCEEDED(hr))
     {
         /* check element name */
-        if(lstrcmpW(bstrElementName, sName) == 0)
+        if(lstrcmpW(bstrElementName, L"Name") == 0)
             hr = IXMLDOMElement_get_text(element, &GameData->bstrName);
 
-        else if(lstrcmpW(bstrElementName, sDescription) == 0)
+        else if(lstrcmpW(bstrElementName, L"Description") == 0)
             hr = IXMLDOMElement_get_text(element, &GameData->bstrDescription);
 
         else
@@ -323,7 +300,6 @@ static HRESULT GAMEUX_ProcessGameDefinitionElement(
  */
 static HRESULT GAMEUX_ParseGameDefinition(IXMLDOMElement *gamedef, struct GAMEUX_GAME_DATA *game_data)
 {
-    static const WCHAR gameidW[] = {'g','a','m','e','I','D',0};
     IXMLDOMNodeList *props;
     VARIANT var;
     HRESULT hr;
@@ -331,7 +307,7 @@ static HRESULT GAMEUX_ParseGameDefinition(IXMLDOMElement *gamedef, struct GAMEUX
 
     TRACE("(%p, %p)\n", gamedef, game_data);
 
-    attr = SysAllocString(gameidW);
+    attr = SysAllocString(L"gameID");
     if (!attr)
         return E_OUTOFMEMORY;
 
@@ -397,9 +373,6 @@ static DWORD WINAPI GAMEUX_ParseGDFBinary(void *thread_param)
 {
     struct parse_gdf_thread_param *ctx = thread_param;
     struct GAMEUX_GAME_DATA *GameData = ctx->GameData;
-    static const WCHAR sRes[] = {'r','e','s',':','/','/',0};
-    static const WCHAR sDATA[] = {'D','A','T','A',0};
-    static const WCHAR sSlash[] = {'/',0};
 
     HRESULT hr = S_OK;
     WCHAR sResourcePath[MAX_PATH];
@@ -412,11 +385,9 @@ static DWORD WINAPI GAMEUX_ParseGDFBinary(void *thread_param)
     TRACE("(%p)->sGDFBinaryPath = %s\n", GameData, debugstr_w(GameData->sGDFBinaryPath));
 
     /* prepare path to GDF, using res:// prefix */
-    lstrcpyW(sResourcePath, sRes);
+    lstrcpyW(sResourcePath, L"res://");
     lstrcatW(sResourcePath, GameData->sGDFBinaryPath);
-    lstrcatW(sResourcePath, sSlash);
-    lstrcatW(sResourcePath, sDATA);
-    lstrcatW(sResourcePath, sSlash);
+    lstrcatW(sResourcePath, L"/DATA/");
     lstrcatW(sResourcePath, ID_GDF_XML_STR);
 
     CoInitialize(NULL);
@@ -662,9 +633,6 @@ static HRESULT GAMEUX_LoadRegistryString(HKEY hRootKey,
  * Helper function, updates stored data about game with given InstanceID
  */
 static HRESULT GAMEUX_UpdateGame(LPGUID InstanceID) {
-    static const WCHAR sConfigGDFBinaryPath[] = {'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
-    static const WCHAR sConfigApplicationPath[] = {'C','o','n','f','i','g','A','p','p','l','i','c','a','t','i','o','n','P','a','t','h',0};
-
     HRESULT hr;
     GAME_INSTALL_SCOPE installScope;
     LPWSTR lpRegistryPath;
@@ -697,11 +665,11 @@ static HRESULT GAMEUX_UpdateGame(LPGUID InstanceID) {
 
         /* first, read required data about game */
         hr = GAMEUX_LoadRegistryString(HKEY_LOCAL_MACHINE, lpRegistryPath,
-            sConfigGDFBinaryPath, &lpGDFBinaryPath);
+            L"ConfigGDFBinaryPath", &lpGDFBinaryPath);
 
         if(SUCCEEDED(hr))
             hr = GAMEUX_LoadRegistryString(HKEY_LOCAL_MACHINE, lpRegistryPath,
-                sConfigApplicationPath, &lpGameInstallDirectory);
+                L"ConfigApplicationPath", &lpGameInstallDirectory);
 
         /* now remove currently existing registry key */
         if(SUCCEEDED(hr))
@@ -730,9 +698,6 @@ HRESULT GAMEUX_FindGameInstanceId(
         GAME_INSTALL_SCOPE installScope,
         GUID* pInstanceId)
 {
-    static const WCHAR sConfigGDFBinaryPath[] =
-            {'C','o','n','f','i','g','G','D','F','B','i','n','a','r','y','P','a','t','h',0};
-
     HRESULT hr;
     BOOL found = FALSE;
     LPWSTR lpRegistryPath = NULL;
@@ -769,7 +734,7 @@ HRESULT GAMEUX_FindGameInstanceId(
 
                 if(SUCCEEDED(hr))
                     hr = GAMEUX_LoadRegistryString(hRootKey, lpName,
-                                             sConfigGDFBinaryPath, &lpValue);
+                            L"ConfigGDFBinaryPath", &lpValue);
 
                 if(SUCCEEDED(hr))
                 {
diff --git a/dlls/gameux/gamestatistics.c b/dlls/gameux/gamestatistics.c
index 7189261a4f6..1696ee1e76a 100644
--- a/dlls/gameux/gamestatistics.c
+++ b/dlls/gameux/gamestatistics.c
@@ -102,13 +102,6 @@ static HRESULT GAMEUX_createStatsDirectory(LPCWSTR lpFilePath)
  */
 static HRESULT GAMEUX_updateStatisticsFile(struct GAMEUX_STATS *stats)
 {
-    static const WCHAR sStatistics[] = {'S','t','a','t','i','s','t','i','c','s',0};
-    static const WCHAR sCategory[] = {'C','a','t','e','g','o','r','y',0};
-    static const WCHAR sIndex[] = {'I','n','d','e','x',0};
-    static const WCHAR sStatistic[] = {'S','t','a','t','i','s','t','i','c',0};
-    static const WCHAR sName[] = {'N','a','m','e',0};
-    static const WCHAR sValue[] = {'V','a','l','u','e',0};
-
     HRESULT hr = S_OK;
     IXMLDOMDocument *document = NULL;
     IXMLDOMElement *root = NULL, *statisticsElement = NULL;
@@ -131,7 +124,7 @@ static HRESULT GAMEUX_updateStatisticsFile(struct GAMEUX_STATS *stats)
 
     if(SUCCEEDED(hr))
     {
-        bstrStatistics = SysAllocString(sStatistics);
+        bstrStatistics = SysAllocString(L"Statistics");
         if(!bstrStatistics)
             hr = E_OUTOFMEMORY;
     }
@@ -141,35 +134,35 @@ static HRESULT GAMEUX_updateStatisticsFile(struct GAMEUX_STATS *stats)
 
     if(SUCCEEDED(hr))
     {
-        bstrCategory = SysAllocString(sCategory);
+        bstrCategory = SysAllocString(L"Category");
         if(!bstrCategory)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrIndex = SysAllocString(sIndex);
+        bstrIndex = SysAllocString(L"Index");
         if(!bstrIndex)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrStatistic = SysAllocString(sStatistic);
+        bstrStatistic = SysAllocString(L"Statistic");
         if(!bstrStatistic)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrName = SysAllocString(sName);
+        bstrName = SysAllocString(L"Name");
         if(!bstrName)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrValue = SysAllocString(sValue);
+        bstrValue = SysAllocString(L"Value");
         if(!bstrValue)
             hr = E_OUTOFMEMORY;
     }
@@ -318,24 +311,17 @@ static HRESULT GAMEUX_buildStatisticsFilePath(
         LPCWSTR lpApplicationId,
         LPWSTR lpStatisticsFile)
 {
-    static const WCHAR sBackslash[] = {'\\',0};
-    static const WCHAR sStatisticsDir[] = {'\\','M','i','c','r','o','s','o','f','t',
-            '\\','W','i','n','d','o','w','s','\\','G','a','m','e','E','x','p',
-            'l','o','r','e','r','\\','G','a','m','e','S','t','a','t','i','s',
-            't','i','c','s','\\',0};
-    static const WCHAR sDotGamestats[] = {'.','g','a','m','e','s','t','a','t','s',0};
-
     HRESULT hr;
 
     hr = SHGetFolderPathW(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, lpStatisticsFile);
 
     if(SUCCEEDED(hr))
     {
-        lstrcatW(lpStatisticsFile, sStatisticsDir);
+        lstrcatW(lpStatisticsFile, L"\\Microsoft\\Windows\\GameExplorer\\GameStatistics\\");
         lstrcatW(lpStatisticsFile, lpApplicationId);
-        lstrcatW(lpStatisticsFile, sBackslash);
+        lstrcatW(lpStatisticsFile, L"\\");
         lstrcatW(lpStatisticsFile, lpApplicationId);
-        lstrcatW(lpStatisticsFile, sDotGamestats);
+        lstrcatW(lpStatisticsFile, L".gamestats");
     }
 
     return hr;
@@ -357,9 +343,6 @@ static HRESULT GAMEUX_getAppIdFromGDFPath(
         LPCWSTR GDFBinaryPath,
         LPWSTR lpApplicationId)
 {
-    static const WCHAR sApplicationId[] =
-            {'A','p','p','l','i','c','a','t','i','o','n','I','d',0};
-
     HRESULT hr;
     GAME_INSTALL_SCOPE installScope;
     GUID instanceId;
@@ -393,8 +376,7 @@ static HRESULT GAMEUX_getAppIdFromGDFPath(
         hr = HRESULT_FROM_WIN32(RegOpenKeyExW(HKEY_LOCAL_MACHINE,
                 lpRegistryPath, 0, KEY_READ | KEY_WOW64_64KEY, &hKey));
         if(SUCCEEDED(hr)) {
-            hr = HRESULT_FROM_WIN32(RegGetValueW(hKey,
-                    NULL, sApplicationId, RRF_RT_REG_SZ,
+            hr = HRESULT_FROM_WIN32(RegGetValueW(hKey, NULL, L"ApplicationId", RRF_RT_REG_SZ,
                     NULL, lpApplicationId, &dwLength));
             RegCloseKey(hKey);
         }
@@ -416,13 +398,6 @@ static HRESULT GAMEUX_getAppIdFromGDFPath(
  */
 static HRESULT GAMEUX_loadStatisticsFromFile(struct GAMEUX_STATS *data)
 {
-    static const WCHAR sStatistics[] = {'S','t','a','t','i','s','t','i','c','s',0};
-    static const WCHAR sCategory[] = {'C','a','t','e','g','o','r','y',0};
-    static const WCHAR sIndex[] = {'I','n','d','e','x',0};
-    static const WCHAR sStatistic[] = {'S','t','a','t','i','s','t','i','c',0};
-    static const WCHAR sName[] = {'N','a','m','e',0};
-    static const WCHAR sValue[] = {'V','a','l','u','e',0};
-
     HRESULT hr = S_OK;
     IXMLDOMDocument *document = NULL;
     IXMLDOMElement *root = NULL, *categoryElement = NULL, *statisticElement = NULL;
@@ -446,42 +421,42 @@ static HRESULT GAMEUX_loadStatisticsFromFile(struct GAMEUX_STATS *data)
 
     if(SUCCEEDED(hr))
     {
-        bstrStatistics = SysAllocString(sStatistics);
+        bstrStatistics = SysAllocString(L"Statistics");
         if(!bstrStatistics)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrCategory = SysAllocString(sCategory);
+        bstrCategory = SysAllocString(L"Category");
         if(!bstrCategory)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrIndex = SysAllocString(sIndex);
+        bstrIndex = SysAllocString(L"Index");
         if(!bstrIndex)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrStatistic = SysAllocString(sStatistic);
+        bstrStatistic = SysAllocString(L"Statistic");
         if(!bstrStatistic)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrName = SysAllocString(sName);
+        bstrName = SysAllocString(L"Name");
         if(!bstrName)
             hr = E_OUTOFMEMORY;
     }
 
     if(SUCCEEDED(hr))
     {
-        bstrValue = SysAllocString(sValue);
+        bstrValue = SysAllocString(L"Value");
         if(!bstrValue)
             hr = E_OUTOFMEMORY;
     }
-- 
2.26.3




More information about the wine-devel mailing list