* cli/cli-logging.c (handle_redirections): Make a cleanup.
[binutils-gdb.git] / gdb / regcache.c
index 616a6f71817f786f745cdae148b340693b4674fa..74ca6f069ff1d21ab1e25f4dc94ffbb9b3c22074 100644 (file)
@@ -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);
     }
 }