Use std::string in reopen_exec_file
authorTom Tromey <tom@tromey.com>
Mon, 14 Aug 2017 06:18:06 +0000 (00:18 -0600)
committerTom Tromey <tom@tromey.com>
Sun, 3 Sep 2017 19:03:11 +0000 (13:03 -0600)
This changes reopen_exec_file to use a std::string, removing a
cleanup.

ChangeLog
2017-09-03  Tom Tromey  <tom@tromey.com>

* corefile.c (reopen_exec_file): Use std::string.

gdb/ChangeLog
gdb/corefile.c

index 6e4f394..1a688df 100644 (file)
@@ -1,5 +1,9 @@
 2017-09-03  Tom Tromey  <tom@tromey.com>
 
+       * corefile.c (reopen_exec_file): Use std::string.
+
+2017-09-03  Tom Tromey  <tom@tromey.com>
+
        * compile/compile.c (compile_register_name_mangled): Return
        std::string.
        * compile/compile-loc2c.c (pushf_register_address): Update.
index 5631347..0996f9c 100644 (file)
@@ -130,29 +130,24 @@ specify_exec_file_hook (void (*hook) (const char *))
 void
 reopen_exec_file (void)
 {
-  char *filename;
   int res;
   struct stat st;
-  struct cleanup *cleanups;
 
   /* Don't do anything if there isn't an exec file.  */
   if (exec_bfd == NULL)
     return;
 
   /* If the timestamp of the exec file has changed, reopen it.  */
-  filename = xstrdup (bfd_get_filename (exec_bfd));
-  cleanups = make_cleanup (xfree, filename);
-  res = stat (filename, &st);
+  std::string filename = bfd_get_filename (exec_bfd);
+  res = stat (filename.c_str (), &st);
 
   if (res == 0 && exec_bfd_mtime && exec_bfd_mtime != st.st_mtime)
-    exec_file_attach (filename, 0);
+    exec_file_attach (filename.c_str (), 0);
   else
     /* If we accessed the file since last opening it, close it now;
        this stops GDB from holding the executable open after it
        exits.  */
     bfd_cache_close_all ();
-
-  do_cleanups (cleanups);
 }
 \f
 /* If we have both a core file and an exec file,