From: Pedro Alves Date: Tue, 8 Nov 2016 15:26:44 +0000 (+0000) Subject: Use ui_file_as_string in gdb/ui-out.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=56dbf31760f721893a44d3da26adfccf548995c7;p=binutils-gdb.git 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 27605804907..78557768238 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +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 diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 0eaa48fc9d0..60d18eee2bb 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. */