From 724b958c4168d40f59a35112c36ebf9e02c43d56 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 30 Oct 2008 20:35:31 +0000 Subject: * cli/cli-logging.c (handle_redirections): Make a cleanup. * reggroups.c (maintenance_print_reggroups): Make a cleanup. * regcache.c (regcache_print): Make a cleanup. * maint.c (maintenance_print_architecture): Make a cleanup. * dummy-frame.c (maintenance_print_dummy_frames): Make a cleanup. --- gdb/cli/cli-logging.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gdb/cli/cli-logging.c') diff --git a/gdb/cli/cli-logging.c b/gdb/cli/cli-logging.c index 86f1bc0..1e941b1 100644 --- a/gdb/cli/cli-logging.c +++ b/gdb/cli/cli-logging.c @@ -85,6 +85,7 @@ pop_output_files (void) static void handle_redirections (int from_tty) { + struct cleanup *cleanups; struct ui_file *output; if (saved_filename != NULL) @@ -97,6 +98,7 @@ handle_redirections (int from_tty) output = gdb_fopen (logging_filename, logging_overwrite ? "w" : "a"); if (output == NULL) perror_with_name (_("set logging")); + cleanups = make_cleanup_ui_file_delete (output); /* Redirects everything to gdb_stdout while this is running. */ if (!logging_redirect) @@ -104,6 +106,8 @@ handle_redirections (int from_tty) output = tee_file_new (gdb_stdout, 0, output, 1); if (output == NULL) perror_with_name (_("set logging")); + discard_cleanups (cleanups); + cleanups = make_cleanup_ui_file_delete (output); if (from_tty) fprintf_unfiltered (gdb_stdout, "Copying output to %s.\n", logging_filename); @@ -112,6 +116,8 @@ handle_redirections (int from_tty) fprintf_unfiltered (gdb_stdout, "Redirecting output to %s.\n", logging_filename); + discard_cleanups (cleanups); + saved_filename = xstrdup (logging_filename); saved_output.out = gdb_stdout; saved_output.err = gdb_stderr; -- cgit v1.1