Hugh McMaster : reg: Parse the registry key using a helper function.
Alexandre Julliard
julliard at winehq.org
Wed Jun 15 11:39:41 CDT 2016
Module: wine
Branch: master
Commit: 4a22ba5b46f463484ef09f0618e8c750aadbb513
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a22ba5b46f463484ef09f0618e8c750aadbb513
Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date: Wed Jun 15 02:30:53 2016 +0000
reg: Parse the registry key using a helper function.
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
programs/reg/reg.c | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index 20df2dd..6f8a882 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -818,6 +818,24 @@ static int reg_query(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name,
return ret;
}
+static BOOL parse_registry_key(const WCHAR *key, HKEY *root, WCHAR **path)
+{
+ if (!sane_path(key))
+ return FALSE;
+
+ *root = path_get_rootkey(key);
+ if (!*root)
+ {
+ output_message(STRING_INVALID_KEY);
+ return FALSE;
+ }
+
+ *path = strchrW(key, '\\');
+ if (*path) (*path)++;
+
+ return TRUE;
+}
+
static BOOL is_help_switch(const WCHAR *s)
{
if (strlenW(s) > 2)
@@ -906,20 +924,10 @@ int wmain(int argc, WCHAR *argvW[])
return 0;
}
- key_name = argvW[2];
-
- if (!sane_path(key_name))
- return 1;
-
- root = path_get_rootkey(key_name);
- if (!root)
- {
- output_message(STRING_INVALID_KEY);
+ if (!parse_registry_key(argvW[2], &root, &path))
return 1;
- }
- path = strchrW(key_name, '\\');
- if (path) path++;
+ key_name = argvW[2];
for (i = 3; i < argc; i++)
{
More information about the wine-cvs
mailing list