Commit 8801118e authored by Hugh McMaster's avatar Hugh McMaster Committed by Alexandre Julliard

reg: Simplify basic syntax checks.

parent 7803c53c
...@@ -349,7 +349,6 @@ static enum operations get_operation(const WCHAR *str, int *op_help) ...@@ -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[]) ...@@ -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]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment