Hugh McMaster : reg: Move 'import' syntax checks to reg_import().

Alexandre Julliard julliard at winehq.org
Thu Mar 18 16:43:54 CDT 2021


Module: wine
Branch: master
Commit: 4cbf47054fc7d95bcbab368fa53fc71908472309
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4cbf47054fc7d95bcbab368fa53fc71908472309

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Thu Mar 18 22:36:51 2021 +1100

reg: Move 'import' syntax checks to reg_import().

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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,




More information about the wine-cvs mailing list