mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 13:21:39 +00:00
[WINESYNC] reg: Only print the name of the registry key if it contains values or we are recursing.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id ec0a799ea8884479d7b56b81fb9fdd106f1a751b by Hugh McMaster <hugh.mcmaster@outlook.com>
This commit is contained in:
parent
a3bf868efb
commit
14b77379a7
3 changed files with 12 additions and 6 deletions
|
@ -210,9 +210,10 @@ static int query_value(HKEY hkey, WCHAR *value_name, WCHAR *path, BOOL recurse)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int query_all(HKEY hkey, WCHAR *path, BOOL recurse)
|
||||
static int query_all(HKEY hkey, WCHAR *path, BOOL recurse, BOOL recursing)
|
||||
{
|
||||
LONG rc;
|
||||
DWORD num_values;
|
||||
DWORD max_value_len = 256, value_len;
|
||||
DWORD max_data_bytes = 2048, data_size;
|
||||
DWORD subkey_len;
|
||||
|
@ -221,7 +222,12 @@ static int query_all(HKEY hkey, WCHAR *path, BOOL recurse)
|
|||
BYTE *data;
|
||||
HKEY subkey;
|
||||
|
||||
output_string(L"%1\n", path);
|
||||
rc = RegQueryInfoKeyW(hkey, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
&num_values, NULL, NULL, NULL, NULL);
|
||||
if (rc) return 1;
|
||||
|
||||
if (num_values || recursing)
|
||||
output_string(L"%1\n", path);
|
||||
|
||||
value_name = malloc(max_value_len * sizeof(WCHAR));
|
||||
data = malloc(max_data_bytes);
|
||||
|
@ -275,7 +281,7 @@ static int query_all(HKEY hkey, WCHAR *path, BOOL recurse)
|
|||
subkey_path = build_subkey_path(path, path_len, subkey_name, subkey_len);
|
||||
if (!RegOpenKeyExW(hkey, subkey_name, 0, KEY_READ, &subkey))
|
||||
{
|
||||
query_all(subkey, subkey_path, recurse);
|
||||
query_all(subkey, subkey_path, recurse, TRUE);
|
||||
RegCloseKey(subkey);
|
||||
}
|
||||
free(subkey_path);
|
||||
|
@ -311,7 +317,7 @@ static int run_query(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name,
|
|||
output_message(STRING_MATCHES_FOUND, num_values_found);
|
||||
}
|
||||
else
|
||||
ret = query_all(hkey, key_name, recurse);
|
||||
ret = query_all(hkey, key_name, recurse, FALSE);
|
||||
|
||||
RegCloseKey(hkey);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue