From 8cff8730f43548d17530c9d31aac1d381351addc Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 29 Sep 2017 22:49:00 -0600 Subject: [PATCH] Use std::string in gdb_safe_append_history This removes a cleanup by using std::string in gdb_safe_append_history. 2017-10-03 Tom Tromey * top.c (gdb_safe_append_history): Use std::string. --- gdb/ChangeLog | 4 ++++ gdb/top.c | 24 ++++++++++-------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 64eb1f2298..c6c55cf5d0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2017-10-03 Tom Tromey + + * top.c (gdb_safe_append_history): Use std::string. + 2017-10-03 Tom Tromey * event-top.c (stdin_event_handler): Update. diff --git a/gdb/top.c b/gdb/top.c index 7efc3d5040..af27fcbcb0 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -1094,19 +1094,16 @@ static void gdb_safe_append_history (void) { int ret, saved_errno; - char *local_history_filename; - struct cleanup *old_chain; - local_history_filename - = xstrprintf ("%s-gdb%ld~", history_filename, (long) getpid ()); - old_chain = make_cleanup (xfree, local_history_filename); + std::string local_history_filename + = string_printf ("%s-gdb%ld~", history_filename, (long) getpid ()); - ret = rename (history_filename, local_history_filename); + ret = rename (history_filename, local_history_filename.c_str ()); saved_errno = errno; if (ret < 0 && saved_errno != ENOENT) { warning (_("Could not rename %s to %s: %s"), - history_filename, local_history_filename, + history_filename, local_history_filename.c_str (), safe_strerror (saved_errno)); } else @@ -1122,24 +1119,23 @@ gdb_safe_append_history (void) to move it back anyway. Otherwise a global history file would never get created! */ gdb_assert (saved_errno == ENOENT); - write_history (local_history_filename); + write_history (local_history_filename.c_str ()); } else { - append_history (command_count, local_history_filename); + append_history (command_count, local_history_filename.c_str ()); if (history_is_stifled ()) - history_truncate_file (local_history_filename, history_max_entries); + history_truncate_file (local_history_filename.c_str (), + history_max_entries); } - ret = rename (local_history_filename, history_filename); + ret = rename (local_history_filename.c_str (), history_filename); saved_errno = errno; if (ret < 0 && saved_errno != EEXIST) warning (_("Could not rename %s to %s: %s"), - local_history_filename, history_filename, + local_history_filename.c_str (), history_filename, safe_strerror (saved_errno)); } - - do_cleanups (old_chain); } /* Read one line from the command input stream `instream' into a local