Hugh McMaster : regedit: Use a function pointer to read each registry line instead of calling get_lineA /W() directly.

Alexandre Julliard julliard at winehq.org
Wed May 3 16:06:15 CDT 2017


Module: wine
Branch: master
Commit: 8753a1b271795d2f977b41a814de7e4ace780d2e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8753a1b271795d2f977b41a814de7e4ace780d2e

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Wed May  3 11:28:36 2017 +0000

regedit: Use a function pointer to read each registry line instead of calling get_lineA/W() directly.

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

---

 programs/regedit/regproc.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index 282800e..a65f879 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -745,12 +745,12 @@ cleanup:
     return NULL;
 }
 
-static BOOL processRegLinesA(FILE *fp, char *two_chars)
+static BOOL processRegLinesA(FILE *fp, WCHAR *(*get_line)(FILE *), char *two_chars)
 {
     WCHAR *line, *header;
     int reg_version;
 
-    line = get_lineA(fp);
+    line = get_line(fp);
 
     header = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(line) + 3) * sizeof(WCHAR));
     CHECK_ENOUGH_MEMORY(header);
@@ -762,11 +762,11 @@ static BOOL processRegLinesA(FILE *fp, char *two_chars)
     HeapFree(GetProcessHeap(), 0, header);
     if (reg_version == REG_VERSION_FUZZY || reg_version == REG_VERSION_INVALID)
     {
-        get_lineA(NULL); /* Reset static variables */
+        get_line(NULL); /* Reset static variables */
         return reg_version == REG_VERSION_FUZZY;
     }
 
-    while ((line = get_lineA(fp)))
+    while ((line = get_line(fp)))
     {
         if (reg_version == REG_VERSION_31)
             processRegEntry31(line);
@@ -847,20 +847,20 @@ cleanup:
     return NULL;
 }
 
-static BOOL processRegLinesW(FILE *fp)
+static BOOL processRegLinesW(FILE *fp, WCHAR *(*get_line)(FILE *))
 {
     WCHAR *line;
     int reg_version;
 
-    line = get_lineW(fp);
+    line = get_line(fp);
     reg_version = parse_file_header(line);
     if (reg_version == REG_VERSION_FUZZY || reg_version == REG_VERSION_INVALID)
     {
-        get_lineW(NULL); /* Reset static variables */
+        get_line(NULL); /* Reset static variables */
         return reg_version == REG_VERSION_FUZZY;
     }
 
-    while ((line = get_lineW(fp)))
+    while ((line = get_line(fp)))
         processRegEntry(line, TRUE);
 
     closeKey();
@@ -1346,9 +1346,9 @@ BOOL import_registry_file(FILE* reg_file)
         return FALSE;
 
     if (s[0] == 0xff && s[1] == 0xfe)
-        return processRegLinesW(reg_file);
+        return processRegLinesW(reg_file, get_lineW);
     else
-        return processRegLinesA(reg_file, (char *)s);
+        return processRegLinesA(reg_file, get_lineA, (char *)s);
 }
 
 /******************************************************************************




More information about the wine-cvs mailing list