aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-09-29 22:49:00 -0600
committerTom Tromey <tom@tromey.com>2017-10-03 05:33:48 -0600
commit8cff8730f43548d17530c9d31aac1d381351addc (patch)
tree81e41545df4b95d875dd81db729bb4d2c57d931f
parent895b8f306b1f54d85915ca0d24368f40b2e42554 (diff)
downloadgdb-8cff8730f43548d17530c9d31aac1d381351addc.zip
gdb-8cff8730f43548d17530c9d31aac1d381351addc.tar.gz
gdb-8cff8730f43548d17530c9d31aac1d381351addc.tar.bz2
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 <tom@tromey.com> * top.c (gdb_safe_append_history): Use std::string.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/top.c24
2 files changed, 14 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 64eb1f2..c6c55cf 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
2017-10-03 Tom Tromey <tom@tromey.com>
+ * top.c (gdb_safe_append_history): Use std::string.
+
+2017-10-03 Tom Tromey <tom@tromey.com>
+
* event-top.c (stdin_event_handler): Update.
* main.c (captured_main_1): Update.
* top.h (make_delete_ui_cleanup): Remove.
diff --git a/gdb/top.c b/gdb/top.c
index 7efc3d5..af27fcb 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