Hugh McMaster : regedit: Simplify clean-up in get_lineA/W().

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


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

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

regedit: Simplify clean-up in get_lineA/W().

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

---

 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;
 }




More information about the wine-cvs mailing list