[PATCH] reg: Simplify help logic and syntax (v2)
Hugh McMaster
hugh.mcmaster at outlook.com
Mon May 30 04:36:19 CDT 2016
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
programs/reg/reg.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index e3c2fdc..61c77e2 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -893,6 +893,7 @@ int wmain(int argc, WCHAR *argvW[])
static const WCHAR slashVAW[] = {'/','v','a',0};
static const WCHAR slashVEW[] = {'/','v','e',0};
static const WCHAR slashHelpW[] = {'/','?',0};
+ BOOL func_help = FALSE;
if (argc == 1)
{
@@ -907,19 +908,21 @@ int wmain(int argc, WCHAR *argvW[])
return 0;
}
+ if (argc > 2)
+ func_help = (!lstrcmpW(argvW[2], slashHelpW) || !lstrcmpiW(argvW[2], slashHW));
+
if (!lstrcmpiW(argvW[1], addW))
{
WCHAR *key_name, *value_name = NULL, *type = NULL, separator = '\0', *data = NULL;
BOOL value_empty = FALSE, force = FALSE;
- if (argc < 3)
+ if (argc == 2 || (argc > 3 && func_help))
{
output_message(STRING_INVALID_SYNTAX);
output_message(STRING_FUNC_HELP, struprW(argvW[1]));
return 1;
}
- else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
- !lstrcmpiW(argvW[2], slashHW)))
+ else if (func_help)
{
output_message(STRING_ADD_USAGE);
return 0;
@@ -970,14 +973,13 @@ int wmain(int argc, WCHAR *argvW[])
WCHAR *key_name, *value_name = NULL;
BOOL value_empty = FALSE, value_all = FALSE, force = FALSE;
- if (argc < 3)
+ if (argc == 2 || (argc > 3 && func_help))
{
output_message(STRING_INVALID_SYNTAX);
output_message(STRING_FUNC_HELP, struprW(argvW[1]));
return 1;
}
- else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
- !lstrcmpiW(argvW[2], slashHW)))
+ else if (func_help)
{
output_message(STRING_DELETE_USAGE);
return 0;
@@ -1008,14 +1010,13 @@ int wmain(int argc, WCHAR *argvW[])
WCHAR *key_name, *value_name = NULL;
BOOL value_empty = FALSE, recurse = FALSE;
- if (argc < 3)
+ if (argc == 2 || (argc > 3 && func_help))
{
output_message(STRING_INVALID_SYNTAX);
output_message(STRING_FUNC_HELP, struprW(argvW[1]));
return 1;
}
- else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
- !lstrcmpiW(argvW[2], slashHW)))
+ else if (func_help)
{
output_message(STRING_QUERY_USAGE);
return 0;
--
1.9.1
More information about the wine-patches
mailing list