From 6ad44d7a3190d8e9a3daa9bd723980e5c4320b42 Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Tue, 5 Jul 2016 09:13:35 +0000 Subject: [PATCH] regedit: Process the next file, if any, on error. Signed-off-by: Hugh McMaster Signed-off-by: Alexandre Julliard --- programs/regedit/regedit.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/programs/regedit/regedit.c b/programs/regedit/regedit.c index 04dd31795e0..c37f6956ae1 100644 --- a/programs/regedit/regedit.c +++ b/programs/regedit/regedit.c @@ -88,7 +88,7 @@ typedef enum { ACTION_ADD, ACTION_EXPORT, ACTION_DELETE } REGEDIT_ACTION; -static BOOL PerformRegAction(REGEDIT_ACTION action, WCHAR **argv, int *i) +static void PerformRegAction(REGEDIT_ACTION action, WCHAR **argv, int *i) { switch (action) { case ACTION_ADD: { @@ -113,7 +113,8 @@ static BOOL PerformRegAction(REGEDIT_ACTION action, WCHAR **argv, int *i) if (size == 0) { output_message(STRING_FILE_NOT_FOUND, filename); - exit(1); + HeapFree(GetProcessHeap(), 0, realname); + return; } reg_file = _wfopen(realname, rb_mode); if (reg_file == NULL) @@ -121,7 +122,8 @@ static BOOL PerformRegAction(REGEDIT_ACTION action, WCHAR **argv, int *i) WCHAR regedit[] = {'r','e','g','e','d','i','t',0}; _wperror(regedit); output_message(STRING_CANNOT_OPEN_FILE, filename); - exit(1); + HeapFree(GetProcessHeap(), 0, realname); + return; } import_registry_file(reg_file); if (realname) @@ -150,7 +152,6 @@ static BOOL PerformRegAction(REGEDIT_ACTION action, WCHAR **argv, int *i) exit(1); break; } - return TRUE; } BOOL ProcessCmdLine(WCHAR *cmdline)