save breakpoints: Make tilde-expanded filename visible.
authorPedro Alves <palves@redhat.com>
Fri, 9 Aug 2013 15:33:09 +0000 (15:33 +0000)
committerPedro Alves <palves@redhat.com>
Fri, 9 Aug 2013 15:33:09 +0000 (15:33 +0000)
Most commands in GDB show the tilde-expanded filename in user visible
output.  This makes "save breakpoints" behave the same.

Before:

  (gdb) save breakpoints ~/a/b
  Unable to open file '~/a/b' for saving (No such file or directory)

After:

  (gdb) save breakpoints ~/a/b
  Unable to open file '/home/pedro/a/b' for saving (No such file or directory)

Tested on x86_64 Fedora 17.

gdb/
2013-08-09  Pedro Alves  <palves@redhat.com>

        * breakpoint.c (save_breakpoints): Show tilde-expanded filename in
error message.

gdb/ChangeLog
gdb/breakpoint.c

index 65781db..d49a4db 100644 (file)
@@ -1,5 +1,10 @@
 2013-08-09  Pedro Alves  <palves@redhat.com>
 
+        * breakpoint.c (save_breakpoints): Show tilde-expanded filename in
+       error message.
+
+2013-08-09  Pedro Alves  <palves@redhat.com>
+
        * gcore.c (create_gcore_bfd): Don't use tilde_expand here.
        (gcore_command): Use tilde_expand here, and when showing the
        filename to the user, show the expanded version.
index eec7b7c..3b75bc4 100644 (file)
@@ -15460,7 +15460,6 @@ save_breakpoints (char *filename, int from_tty,
 {
   struct breakpoint *tp;
   int any = 0;
-  char *pathname;
   struct cleanup *cleanup;
   struct ui_file *fp;
   int extra_trace_bits = 0;
@@ -15496,9 +15495,9 @@ save_breakpoints (char *filename, int from_tty,
       return;
     }
 
-  pathname = tilde_expand (filename);
-  cleanup = make_cleanup (xfree, pathname);
-  fp = gdb_fopen (pathname, "w");
+  filename = tilde_expand (filename);
+  cleanup = make_cleanup (xfree, filename);
+  fp = gdb_fopen (filename, "w");
   if (!fp)
     error (_("Unable to open file '%s' for saving (%s)"),
           filename, safe_strerror (errno));
@@ -15568,9 +15567,9 @@ save_breakpoints (char *filename, int from_tty,
   if (extra_trace_bits && *default_collect)
     fprintf_unfiltered (fp, "set default-collect %s\n", default_collect);
 
-  do_cleanups (cleanup);
   if (from_tty)
     printf_filtered (_("Saved to file '%s'.\n"), filename);
+  do_cleanups (cleanup);
 }
 
 /* The `save breakpoints' command.  */