From 56dbf31760f721893a44d3da26adfccf548995c7 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 8 Nov 2016 15:26:44 +0000 Subject: [PATCH] Use ui_file_as_string in gdb/ui-out.c gdb/ChangeLog: 2016-11-08 Pedro Alves * ui-out.c (ui_out_field_stream): Use ui_file_as_string. --- gdb/ChangeLog | 4 ++++ gdb/ui-out.c | 9 +++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2760580..7855776 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2016-11-08 Pedro Alves + * ui-out.c (ui_out_field_stream): Use ui_file_as_string. + +2016-11-08 Pedro Alves + * ada-valprint.c (ada_print_floating): Use ui_file_as_string and std::string. diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 0eaa48f..60d18ee 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -425,16 +425,13 @@ ui_out_field_stream (struct ui_out *uiout, const char *fldname, struct ui_file *stream) { - long length; - char *buffer = ui_file_xstrdup (stream, &length); - struct cleanup *old_cleanup = make_cleanup (xfree, buffer); + std::string buffer = ui_file_as_string (stream); - if (length > 0) - ui_out_field_string (uiout, fldname, buffer); + if (!buffer.empty ()) + ui_out_field_string (uiout, fldname, buffer.c_str ()); else ui_out_field_skip (uiout, fldname); ui_file_rewind (stream); - do_cleanups (old_cleanup); } /* Used to omit a field. */ -- 2.7.4