[PATCH 1/3] regedit: Simplify clean-up in get_lineA/W()

Hugh McMaster hugh.mcmaster at outlook.com
Wed May 3 06:28:14 CDT 2017


Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/regedit/regproc.c | 22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

diff --git a/programs/regedit/regproc.c b/programs/regedit/regproc.c
index 8dd18d2..9740293 100644
--- a/programs/regedit/regproc.c
+++ b/programs/regedit/regproc.c
@@ -677,12 +677,7 @@ static char *get_lineA(FILE *fp)
     static char *buf, *next;
     char *line;
 
-    if (!fp)
-    {
-        if (size) HeapFree(GetProcessHeap(), 0, buf);
-        size = 0;
-        return NULL;
-    }
+    if (!fp) goto cleanup;
 
     if (!size)
     {
@@ -737,7 +732,9 @@ static char *get_lineA(FILE *fp)
         }
         return line;
     }
-    HeapFree(GetProcessHeap(), 0, buf);
+
+cleanup:
+    if (size) HeapFree(GetProcessHeap(), 0, buf);
     size = 0;
     return NULL;
 }
@@ -788,12 +785,7 @@ static WCHAR *get_lineW(FILE *fp)
     static WCHAR *buf, *next;
     WCHAR *line;
 
-    if (!fp)
-    {
-        if (size) HeapFree(GetProcessHeap(), 0, buf);
-        size = 0;
-        return NULL;
-    }
+    if (!fp) goto cleanup;
 
     if (!size)
     {
@@ -849,7 +841,9 @@ static WCHAR *get_lineW(FILE *fp)
         }
         return line;
     }
-    HeapFree( GetProcessHeap(), 0, buf );
+
+cleanup:
+    if (size) HeapFree(GetProcessHeap(), 0, buf);
     size = 0;
     return NULL;
 }
-- 
2.7.4




More information about the wine-patches mailing list