From 200aa7b154b25423eb72ceecade0fcd76edc4686 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 27 Sep 2017 20:38:07 -0600 Subject: [PATCH] Remove cleanups from utils.c This removes a couple of cleanups from utils.c through the use of std::string. gdb/ChangeLog 2017-09-29 Tom Tromey * utils.c (vfprintf_maybe_filtered): Use std::string. (vfprintf_unfiltered): Likewise. --- gdb/ChangeLog | 5 +++++ gdb/utils.c | 23 +++++++---------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 48f1f894fda..0e76e7f559d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-09-29 Tom Tromey + + * utils.c (vfprintf_maybe_filtered): Use std::string. + (vfprintf_unfiltered): Likewise. + 2017-09-29 Tom Tromey * event-top.c (top_level_prompt): Return std::string. diff --git a/gdb/utils.c b/gdb/utils.c index 24294be4f49..b2e08132ba8 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -2036,13 +2036,8 @@ static void vfprintf_maybe_filtered (struct ui_file *stream, const char *format, va_list args, int filter) { - char *linebuffer; - struct cleanup *old_cleanups; - - linebuffer = xstrvprintf (format, args); - old_cleanups = make_cleanup (xfree, linebuffer); - fputs_maybe_filtered (linebuffer, stream, filter); - do_cleanups (old_cleanups); + std::string linebuffer = string_vprintf (format, args); + fputs_maybe_filtered (linebuffer.c_str (), stream, filter); } @@ -2055,11 +2050,7 @@ vfprintf_filtered (struct ui_file *stream, const char *format, va_list args) void vfprintf_unfiltered (struct ui_file *stream, const char *format, va_list args) { - char *linebuffer; - struct cleanup *old_cleanups; - - linebuffer = xstrvprintf (format, args); - old_cleanups = make_cleanup (xfree, linebuffer); + std::string linebuffer = string_vprintf (format, args); if (debug_timestamp && stream == gdb_stdlog) { using namespace std::chrono; @@ -2069,18 +2060,18 @@ vfprintf_unfiltered (struct ui_file *stream, const char *format, va_list args) seconds s = duration_cast (now.time_since_epoch ()); microseconds us = duration_cast (now.time_since_epoch () - s); - len = strlen (linebuffer); + len = linebuffer.size (); need_nl = (len > 0 && linebuffer[len - 1] != '\n'); std::string timestamp = string_printf ("%ld.%06ld %s%s", (long) s.count (), (long) us.count (), - linebuffer, need_nl ? "\n": ""); + linebuffer.c_str (), + need_nl ? "\n": ""); fputs_unfiltered (timestamp.c_str (), stream); } else - fputs_unfiltered (linebuffer, stream); - do_cleanups (old_cleanups); + fputs_unfiltered (linebuffer.c_str (), stream); } void -- 2.30.2