Alexander Nicolaysen Sørnes : regedit: Remove unneeded character conversions.

Alexandre Julliard julliard at winehq.org
Mon Aug 25 06:20:37 CDT 2008


Module: wine
Branch: master
Commit: 223c24bdbfa82936e8b07db8aa5ee73cd65cf8ab
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=223c24bdbfa82936e8b07db8aa5ee73cd65cf8ab

Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date:   Sat Aug 23 00:22:27 2008 +0200

regedit: Remove unneeded character conversions.

---

 programs/regedit/treeview.c |   46 ++++++++++++++++--------------------------
 1 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/programs/regedit/treeview.c b/programs/regedit/treeview.c
index dcfb7fa..4a7f4af 100644
--- a/programs/regedit/treeview.c
+++ b/programs/regedit/treeview.c
@@ -234,9 +234,7 @@ BOOL DeleteNode(HWND hwndTV, HTREEITEM hItem)
 /* Add an entry to the tree. Only give hKey for root nodes (HKEY_ constants) */
 static HTREEITEM AddEntryToTree(HWND hwndTV, HTREEITEM hParent, LPWSTR label, HKEY hKey, DWORD dwChildren)
 {
-    TVINSERTSTRUCT tvins;
-    CHAR* labelA = GetMultiByteString(label);
-    HTREEITEM ret;
+    TVINSERTSTRUCTW tvins;
 
     if (hKey) {
         if (RegQueryInfoKeyW(hKey, 0, 0, 0, &dwChildren, 0, 0, 0, 0, 0, 0, 0) != ERROR_SUCCESS) {
@@ -245,17 +243,16 @@ static HTREEITEM AddEntryToTree(HWND hwndTV, HTREEITEM hParent, LPWSTR label, HK
     }
 
     tvins.u.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_CHILDREN | TVIF_PARAM;
-    tvins.u.item.pszText = labelA;
-    tvins.u.item.cchTextMax = lstrlen(labelA);
+    tvins.u.item.pszText = label;
+    tvins.u.item.cchTextMax = lstrlenW(label);
     tvins.u.item.iImage = Image_Closed;
     tvins.u.item.iSelectedImage = Image_Open;
     tvins.u.item.cChildren = dwChildren;
     tvins.u.item.lParam = (LPARAM)hKey;
     tvins.hInsertAfter = (HTREEITEM)(hKey ? TVI_LAST : TVI_SORT);
     tvins.hParent = hParent;
-    ret = TreeView_InsertItem(hwndTV, &tvins);
-    HeapFree(GetProcessHeap(), 0, labelA);
-    return ret;
+
+    return TreeView_InsertItemW(hwndTV, &tvins);
 }
 
 static BOOL match_string(LPCTSTR sstring1, LPCTSTR sstring2, int mode)
@@ -395,7 +392,7 @@ static BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
     LPWSTR KeyPath;
     DWORD dwCount, dwIndex, dwMaxSubKeyLen;
     LPWSTR Name;
-    TVITEM tvItem;
+    TVITEMW tvItem;
     
     hRoot = NULL;
     KeyPath = GetItemPathW(hwndTV, hItem, &hRoot);
@@ -421,7 +418,7 @@ static BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
     tvItem.mask = TVIF_CHILDREN;
     tvItem.hItem = hItem;
     tvItem.cChildren = dwCount;
-    if (!TreeView_SetItem(hwndTV, &tvItem)) {
+    if (!TreeView_SetItemW(hwndTV, &tvItem)) {
         return FALSE;
     }
 
@@ -436,7 +433,7 @@ static BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
         return FALSE;
     }
     tvItem.cchTextMax = dwMaxSubKeyLen;
-    if (!(tvItem.pszText = HeapAlloc(GetProcessHeap(), 0, dwMaxSubKeyLen * sizeof(TCHAR)))) {
+    if (!(tvItem.pszText = HeapAlloc(GetProcessHeap(), 0, dwMaxSubKeyLen * sizeof(WCHAR)))) {
         return FALSE;
     }
 
@@ -444,7 +441,6 @@ static BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
     for (dwIndex = 0; dwIndex < dwCount; dwIndex++) {
         DWORD cName = dwMaxSubKeyLen, dwSubCount;
         BOOL found;
-        CHAR* NameA;
 
         found = FALSE;
         if (RegEnumKeyExW(hKey, dwIndex, Name, &cName, 0, 0, 0, NULL) != ERROR_SUCCESS) {
@@ -460,27 +456,23 @@ static BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
             RegCloseKey(hSubKey);
         }
 
-        NameA = GetMultiByteString(Name);
-
         /* Check if the node is already in there. */
         for (childItem = TreeView_GetChild(hwndTV, hItem); childItem;
                 childItem = TreeView_GetNextSibling(hwndTV, childItem)) {
             tvItem.mask = TVIF_TEXT;
             tvItem.hItem = childItem;
-            if (!TreeView_GetItem(hwndTV, &tvItem)) {
-                HeapFree(GetProcessHeap(), 0, NameA);
+            if (!TreeView_GetItemW(hwndTV, &tvItem)) {
                 return FALSE;
             }
 
-            if (!stricmp(tvItem.pszText, NameA)) {
+            if (!lstrcmpiW(tvItem.pszText, Name)) {
                 found = TRUE;
-                HeapFree(GetProcessHeap(), 0, NameA);
                 break;
             }
         }
 
         if (found == FALSE) {
-            WINE_TRACE("New subkey %s\n", NameA);
+            WINE_TRACE("New subkey %s\n", wine_dbgstr_w(Name));
             AddEntryToTree(hwndTV, hItem, Name, NULL, dwSubCount);
         }
     }
@@ -493,7 +485,7 @@ static BOOL RefreshTreeItem(HWND hwndTV, HTREEITEM hItem)
     while (childItem) {
         HTREEITEM nextItem = TreeView_GetNextSibling(hwndTV, childItem);
         if (RefreshTreeItem(hwndTV, childItem) == FALSE) {
-            SendMessage(hwndTV, TVM_DELETEITEM, 0, (LPARAM)childItem);
+            SendMessageW(hwndTV, TVM_DELETEITEM, 0, (LPARAM)childItem);
         }
         childItem = nextItem;
     }
@@ -529,9 +521,9 @@ BOOL RefreshTreeView(HWND hwndTV)
 
 HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPWSTR name)
 {
-    TCHAR buf[MAX_NEW_KEY_LEN];
+    WCHAR buf[MAX_NEW_KEY_LEN];
     HTREEITEM hNewItem = 0;
-    TVITEMEX item;
+    TVITEMEXW item;
 
     if (!hItem) hItem = TreeView_GetSelection(hwndTV);
     if (!hItem) return FALSE;
@@ -540,22 +532,20 @@ HTREEITEM InsertNode(HWND hwndTV, HTREEITEM hItem, LPWSTR name)
     } else {
 	item.mask = TVIF_CHILDREN | TVIF_HANDLE;
 	item.hItem = hItem;
-	if (!TreeView_GetItem(hwndTV, &item)) return FALSE;
+	if (!TreeView_GetItemW(hwndTV, &item)) return FALSE;
 	item.cChildren = 1;
-	if (!TreeView_SetItem(hwndTV, &item)) return FALSE;
+	if (!TreeView_SetItemW(hwndTV, &item)) return FALSE;
     }
     SendMessageW(hwndTV, TVM_EXPAND, TVE_EXPAND, (LPARAM)hItem );
     if (!hNewItem) {
-	char* nameA = GetMultiByteString(name);
 	for(hNewItem = TreeView_GetChild(hwndTV, hItem); hNewItem; hNewItem = TreeView_GetNextSibling(hwndTV, hNewItem)) {
 	    item.mask = TVIF_HANDLE | TVIF_TEXT;
 	    item.hItem = hNewItem;
 	    item.pszText = buf;
 	    item.cchTextMax = COUNT_OF(buf);
-	    if (!TreeView_GetItem(hwndTV, &item)) continue;
-	    if (lstrcmp(nameA, item.pszText) == 0) break;
+	    if (!TreeView_GetItemW(hwndTV, &item)) continue;
+	    if (lstrcmpW(name, item.pszText) == 0) break;
 	}	
-	HeapFree(GetProcessHeap(), 0, nameA);
     }
     if (hNewItem)
         SendMessageW(hwndTV, TVM_SELECTITEM, TVGN_CARET, (LPARAM)hNewItem);




More information about the wine-cvs mailing list