From: Tom Tromey Date: Thu, 30 Oct 2008 20:35:31 +0000 (+0000) Subject: * cli/cli-logging.c (handle_redirections): Make a cleanup. X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=724b958c4168d40f59a35112c36ebf9e02c43d56;p=deliverable%2Fbinutils-gdb.git * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 885f276053..6bb1c9b288 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2008-10-28 Tom Tromey + + * 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. + 2008-10-30 Tom Tromey * utils.c (make_cleanup_close): Use make_cleanup_dtor. diff --git a/gdb/cli/cli-logging.c b/gdb/cli/cli-logging.c index 86f1bc0a75..1e941b13d8 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; diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c index a27de2e28f..9cc3da7391 100644 --- a/gdb/dummy-frame.c +++ b/gdb/dummy-frame.c @@ -265,11 +265,13 @@ maintenance_print_dummy_frames (char *args, int from_tty) fprint_dummy_frames (gdb_stdout); else { + struct cleanup *cleanups; struct ui_file *file = gdb_fopen (args, "w"); if (file == NULL) perror_with_name (_("maintenance print dummy-frames")); + cleanups = make_cleanup_ui_file_delete (file); fprint_dummy_frames (file); - ui_file_delete (file); + do_cleanups (cleanups); } } diff --git a/gdb/maint.c b/gdb/maint.c index e64d4feccf..365e3744c4 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -414,11 +414,13 @@ maintenance_print_architecture (char *args, int from_tty) gdbarch_dump (current_gdbarch, gdb_stdout); else { + struct cleanup *cleanups; struct ui_file *file = gdb_fopen (args, "w"); if (file == NULL) perror_with_name (_("maintenance print architecture")); + cleanups = make_cleanup_ui_file_delete (file); gdbarch_dump (current_gdbarch, file); - ui_file_delete (file); + do_cleanups (cleanups); } } diff --git a/gdb/regcache.c b/gdb/regcache.c index 616a6f7181..74ca6f069f 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -1104,11 +1104,13 @@ regcache_print (char *args, enum regcache_dump_what what_to_dump) regcache_dump (get_current_regcache (), gdb_stdout, what_to_dump); else { + struct cleanup *cleanups; struct ui_file *file = gdb_fopen (args, "w"); if (file == NULL) perror_with_name (_("maintenance print architecture")); + cleanups = make_cleanup_ui_file_delete (file); regcache_dump (get_current_regcache (), file, what_to_dump); - ui_file_delete (file); + do_cleanups (cleanups); } } diff --git a/gdb/reggroups.c b/gdb/reggroups.c index ea2451ed79..a4e1d3178c 100644 --- a/gdb/reggroups.c +++ b/gdb/reggroups.c @@ -234,11 +234,13 @@ maintenance_print_reggroups (char *args, int from_tty) reggroups_dump (current_gdbarch, gdb_stdout); else { + struct cleanup *cleanups; struct ui_file *file = gdb_fopen (args, "w"); if (file == NULL) perror_with_name (_("maintenance print reggroups")); + cleanups = make_cleanup_ui_file_delete (file); reggroups_dump (current_gdbarch, file); - ui_file_delete (file); + do_cleanups (cleanups); } }