From e12fefc804bcbe2d53554390b76f07005632a526 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 30 May 2013 17:13:19 +0000 Subject: [PATCH] simplify cli-logging.c for analysis This is another stylistic patch. It changes cli-logging.c to be analyzable by the checker, again following the method of adding an outer cleanup and unconditionally calling do_cleanups. * cli/cli-logging.c (set_logging_redirect): Unconditionally call do_cleanups. --- gdb/ChangeLog | 5 +++++ gdb/cli/cli-logging.c | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b8e5f99..5b9e8dd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2013-05-30 Tom Tromey + * cli/cli-logging.c (set_logging_redirect): Unconditionally + call do_cleanups. + +2013-05-30 Tom Tromey + * varobj.c (c_value_of_root): Call do_cleanups along all return paths. diff --git a/gdb/cli/cli-logging.c b/gdb/cli/cli-logging.c index 9f1477d..5704179 100644 --- a/gdb/cli/cli-logging.c +++ b/gdb/cli/cli-logging.c @@ -79,7 +79,7 @@ static struct ui_file *logging_no_redirect_file; static void set_logging_redirect (char *args, int from_tty, struct cmd_list_element *c) { - struct cleanup *cleanups = NULL; + struct cleanup *cleanups; struct ui_file *output, *new_logging_no_redirect_file; struct ui_out *uiout = current_uiout; @@ -88,13 +88,15 @@ set_logging_redirect (char *args, int from_tty, struct cmd_list_element *c) || (logging_redirect == 0 && logging_no_redirect_file != NULL)) return; + cleanups = make_cleanup (null_cleanup, NULL); + if (logging_redirect != 0) { gdb_assert (logging_no_redirect_file != NULL); /* ui_out_redirect still has not been called for next gdb_stdout. */ - cleanups = make_cleanup_ui_file_delete (gdb_stdout); + make_cleanup_ui_file_delete (gdb_stdout); output = logging_no_redirect_file; new_logging_no_redirect_file = NULL; @@ -139,8 +141,7 @@ set_logging_redirect (char *args, int from_tty, struct cmd_list_element *c) || ui_out_redirect (uiout, output) < 0) warning (_("Current output protocol does not support redirection")); - if (logging_redirect != 0) - do_cleanups (cleanups); + do_cleanups (cleanups); } static void -- 2.7.4