reg: Print the full key path without a trailing backslash.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hugh McMaster 2021-04-21 23:24:48 +10:00 committed by Alexandre Julliard
parent 00bd0518ca
commit e685718c3b
2 changed files with 12 additions and 4 deletions

View File

@ -205,10 +205,10 @@ WCHAR *build_subkey_path(WCHAR *path, DWORD path_len, WCHAR *subkey_name, DWORD
WCHAR *get_long_key(HKEY root, WCHAR *path)
{
DWORD i, array_size = ARRAY_SIZE(root_rels), len;
int i, len, path_len;
WCHAR *long_key;
for (i = 0; i < array_size; i++)
for (i = 0; i < ARRAY_SIZE(root_rels); i++)
{
if (root == root_rels[i].key)
break;
@ -223,7 +223,15 @@ WCHAR *get_long_key(HKEY root, WCHAR *path)
return long_key;
}
len += lstrlenW(path) + 1; /* add one for the backslash */
path_len = lstrlenW(path);
if (path[path_len - 1] == '\\')
{
path[path_len - 1] = 0;
path_len--;
}
len += path_len + 1; /* add one for the concatenating backslash */
long_key = malloc((len + 1) * sizeof(WCHAR));
swprintf(long_key, len + 1, L"%s\\%s", root_rels[i].long_name, path);
return long_key;

View File

@ -251,7 +251,7 @@ static void test_query(void)
read_reg_output("reg query HKCU\\" KEY_BASE "\\ /s", buf, sizeof(buf), &r);
ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
compare_query(buf, test6, FALSE, TODO_REG_COMPARE);
compare_query(buf, test6, FALSE, 0);
read_reg_output("reg query HKCU\\" KEY_BASE " /v Wine /s", buf, sizeof(buf), &r);
ok(r == REG_EXIT_SUCCESS || r == REG_EXIT_FAILURE /* WinXP */,