diff options
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/cli/cli-logging.c | 6 | ||||
-rw-r--r-- | gdb/dummy-frame.c | 4 | ||||
-rw-r--r-- | gdb/maint.c | 4 | ||||
-rw-r--r-- | gdb/regcache.c | 4 | ||||
-rw-r--r-- | gdb/reggroups.c | 4 |
6 files changed, 26 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 885f276..6bb1c9b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2008-10-28 Tom Tromey <tromey@redhat.com> + + * 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 <tromey@redhat.com> * utils.c (make_cleanup_close): Use make_cleanup_dtor. 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; diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c index a27de2e..9cc3da7 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 e64d4fe..365e374 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 616a6f7..74ca6f0 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 ea2451e..a4e1d31 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); } } |