[PATCH 4/6] reg: Move 'import' syntax checks to reg_import()
Hugh McMaster
hugh.mcmaster at outlook.com
Thu Mar 18 06:36:51 CDT 2021
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
programs/reg/import.c | 13 +++++++++++--
programs/reg/reg.c | 9 +--------
programs/reg/reg.h | 2 +-
3 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/programs/reg/import.c b/programs/reg/import.c
index 9e21bcc6a7e..13e54e6a69a 100644
--- a/programs/reg/import.c
+++ b/programs/reg/import.c
@@ -983,13 +983,22 @@ cleanup:
return NULL;
}
-int reg_import(const WCHAR *filename)
+int reg_import(int argc, WCHAR *argvW[])
{
+ WCHAR *filename, *pos;
FILE *fp;
static const WCHAR rb_mode[] = {'r','b',0};
BYTE s[2];
struct parser parser;
- WCHAR *pos;
+
+ if (argc > 3)
+ {
+ output_message(STRING_INVALID_SYNTAX);
+ output_message(STRING_FUNC_HELP, wcsupr(argvW[1]));
+ return 1;
+ }
+
+ filename = argvW[2];
fp = _wfopen(filename, rb_mode);
if (!fp)
diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index 533a9378f92..daeec5f5718 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -389,15 +389,8 @@ int __cdecl wmain(int argc, WCHAR *argvW[])
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)
- return reg_import(argvW[2]);
+ return reg_import(argc, argvW);
if (op == REG_EXPORT)
return reg_export(argc, argvW);
diff --git a/programs/reg/reg.h b/programs/reg/reg.h
index b29c2c21a1f..703dd0d37af 100644
--- a/programs/reg/reg.h
+++ b/programs/reg/reg.h
@@ -56,7 +56,7 @@ int reg_delete(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name,
int reg_export(int argc, WCHAR *argv[]);
/* import.c */
-int reg_import(const WCHAR *filename);
+int reg_import(int argc, WCHAR *argvW[]);
/* query.c */
int reg_query(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name,
--
2.31.0
More information about the wine-devel
mailing list