From: Tom Tromey Date: Sat, 30 Sep 2017 04:49:00 +0000 (-0600) Subject: Use std::string in gdb_safe_append_history X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8cff8730f43548d17530c9d31aac1d381351addc;p=binutils-gdb.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 64eb1f22981..c6c55cf5d04 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 7efc3d50408..af27fcbcb0e 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