diff options
author | Pedro Alves <palves@redhat.com> | 2016-11-08 15:26:44 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-11-08 15:26:44 +0000 |
commit | 56dbf31760f721893a44d3da26adfccf548995c7 (patch) | |
tree | 7d0d048345c2cd90d435a624f51510e8db60d5ac | |
parent | 77e1c7426aad05b20f48762234c02139e9c02f8e (diff) | |
download | gdb-56dbf31760f721893a44d3da26adfccf548995c7.zip gdb-56dbf31760f721893a44d3da26adfccf548995c7.tar.gz gdb-56dbf31760f721893a44d3da26adfccf548995c7.tar.bz2 |
Use ui_file_as_string in gdb/ui-out.c
gdb/ChangeLog:
2016-11-08 Pedro Alves <palves@redhat.com>
* ui-out.c (ui_out_field_stream): Use ui_file_as_string.
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | 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 <palves@redhat.com> + * ui-out.c (ui_out_field_stream): Use ui_file_as_string. + +2016-11-08 Pedro Alves <palves@redhat.com> + * 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. */ |