reg: Simplify basic syntax checks.

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-03-18 22:36:50 +11:00 committed by Alexandre Julliard
parent 7803c53cfe
commit 8801118e38
1 changed files with 10 additions and 7 deletions

View File

@ -349,7 +349,6 @@ static enum operations get_operation(const WCHAR *str, int *op_help)
int __cdecl wmain(int argc, WCHAR *argvW[]) int __cdecl wmain(int argc, WCHAR *argvW[])
{ {
int i, op, op_help, ret; int i, op, op_help, ret;
BOOL show_op_help = FALSE;
static const WCHAR switchVAW[] = {'v','a',0}; static const WCHAR switchVAW[] = {'v','a',0};
static const WCHAR switchVEW[] = {'v','e',0}; static const WCHAR switchVEW[] = {'v','e',0};
WCHAR *key_name, *path, *value_name = NULL, *type = NULL, *data = NULL, separator = '\0'; WCHAR *key_name, *path, *value_name = NULL, *type = NULL, *data = NULL, separator = '\0';
@ -377,22 +376,26 @@ int __cdecl wmain(int argc, WCHAR *argvW[])
output_message(STRING_REG_HELP); output_message(STRING_REG_HELP);
return 1; return 1;
} }
else if (argc == 2) /* Valid operation, no arguments supplied */
if (argc > 2)
show_op_help = is_help_switch(argvW[2]);
if (argc == 2 || ((show_op_help || op == REG_IMPORT) && argc > 3))
{ {
output_message(STRING_INVALID_SYNTAX); output_message(STRING_INVALID_SYNTAX);
output_message(STRING_FUNC_HELP, wcsupr(argvW[1])); output_message(STRING_FUNC_HELP, wcsupr(argvW[1]));
return 1; return 1;
} }
else if (show_op_help)
if (is_help_switch(argvW[2]))
{ {
output_message(op_help); output_message(op_help);
return 0; return 0;
} }
if (op == REG_IMPORT && argc > 3)
{
output_message(STRING_INVALID_SYNTAX);
output_message(STRING_FUNC_HELP, wcsupr(argvW[1]));
return 1;
}
if (op == REG_IMPORT) if (op == REG_IMPORT)
return reg_import(argvW[2]); return reg_import(argvW[2]);