[RFA v2 14/24] Use unique_xmalloc_ptr in jit.c

Tom Tromey tom@tromey.com
Tue Jul 25 17:27:00 GMT 2017


This removes some cleanups from jit.c by using unique_xmalloc_ptr
instead.

ChangeLog
2017-07-25  Tom Tromey  <tom@tromey.com>

	* jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
---
 gdb/ChangeLog |  4 ++++
 gdb/jit.c     | 20 ++++++--------------
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1ba2801..a08aa29 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
 2017-07-25  Tom Tromey  <tom@tromey.com>
 
+	* jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
+
+2017-07-25  Tom Tromey  <tom@tromey.com>
+
 	* tui/tui-regs.c (tui_restore_gdbout): Remove.
 	(tui_register_format): Use scoped_restore.
 
diff --git a/gdb/jit.c b/gdb/jit.c
index ddf1005..15b93fe 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -211,29 +211,21 @@ jit_reader_load (const char *file_name)
 static void
 jit_reader_load_command (char *args, int from_tty)
 {
-  char *so_name;
-  struct cleanup *prev_cleanup;
-
   if (args == NULL)
     error (_("No reader name provided."));
-  args = tilde_expand (args);
-  prev_cleanup = make_cleanup (xfree, args);
+  gdb::unique_xmalloc_ptr<char> file (tilde_expand (args));
 
   if (loaded_jit_reader != NULL)
     error (_("JIT reader already loaded.  Run jit-reader-unload first."));
 
-  if (IS_ABSOLUTE_PATH (args))
-    so_name = args;
-  else
-    {
-      so_name = xstrprintf ("%s%s%s", jit_reader_dir, SLASH_STRING, args);
-      make_cleanup (xfree, so_name);
-    }
+  gdb::unique_xmalloc_ptr<char> so_name;
+  if (!IS_ABSOLUTE_PATH (file.get ()))
+    file.reset (xstrprintf ("%s%s%s", jit_reader_dir, SLASH_STRING,
+			    file.get ()));
 
-  loaded_jit_reader = jit_reader_load (so_name);
+  loaded_jit_reader = jit_reader_load (file.get ());
   reinit_frame_cache ();
   jit_inferior_created_hook ();
-  do_cleanups (prev_cleanup);
 }
 
 /* Provides the jit-reader-unload command.  */
-- 
2.9.3



More information about the Gdb-patches mailing list