X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fui-out.c;h=7bcc2638aee7b21308a3ee168c0aeb4e44a94e62;hb=da584958006fd0a3f3dccd25a0a54fa79a0976bc;hp=8785bfbfa668596043133efbd448b6ce4f304988;hpb=e2882c85786571175a0b0bfc3bcd2f14620b1ea3;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 8785bfbfa6..7bcc2638ae 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -1,6 +1,6 @@ /* Output generating routines for GDB. - Copyright (C) 1999-2018 Free Software Foundation, Inc. + Copyright (C) 1999-2019 Free Software Foundation, Inc. Contributed by Cygnus Solutions. Written by Fernando Nasser for Cygnus. @@ -438,50 +438,6 @@ ui_out::end (ui_out_type type) do_end (type); } -struct ui_out_end_cleanup_data -{ - struct ui_out *uiout; - enum ui_out_type type; -}; - -static void -do_cleanup_end (void *data) -{ - struct ui_out_end_cleanup_data *end_cleanup_data - = (struct ui_out_end_cleanup_data *) data; - - end_cleanup_data->uiout->end (end_cleanup_data->type); - xfree (end_cleanup_data); -} - -static struct cleanup * -make_cleanup_ui_out_end (struct ui_out *uiout, - enum ui_out_type type) -{ - struct ui_out_end_cleanup_data *end_cleanup_data; - - end_cleanup_data = XNEW (struct ui_out_end_cleanup_data); - end_cleanup_data->uiout = uiout; - end_cleanup_data->type = type; - return make_cleanup (do_cleanup_end, end_cleanup_data); -} - -struct cleanup * -make_cleanup_ui_out_tuple_begin_end (struct ui_out *uiout, - const char *id) -{ - uiout->begin (ui_out_type_tuple, id); - return make_cleanup_ui_out_end (uiout, ui_out_type_tuple); -} - -struct cleanup * -make_cleanup_ui_out_list_begin_end (struct ui_out *uiout, - const char *id) -{ - uiout->begin (ui_out_type_list, id); - return make_cleanup_ui_out_end (uiout, ui_out_type_list); -} - void ui_out::field_int (const char *fldname, int value) { @@ -513,14 +469,16 @@ void ui_out::field_core_addr (const char *fldname, struct gdbarch *gdbarch, CORE_ADDR address) { - field_string (fldname, print_core_address (gdbarch, address)); + field_string (fldname, print_core_address (gdbarch, address), + ui_out_style_kind::ADDRESS); } void -ui_out::field_stream (const char *fldname, string_file &stream) +ui_out::field_stream (const char *fldname, string_file &stream, + ui_out_style_kind style) { if (!stream.empty ()) - field_string (fldname, stream.c_str ()); + field_string (fldname, stream.c_str (), style); else field_skip (fldname); stream.clear (); @@ -541,7 +499,8 @@ ui_out::field_skip (const char *fldname) } void -ui_out::field_string (const char *fldname, const char *string) +ui_out::field_string (const char *fldname, const char *string, + ui_out_style_kind style) { int fldno; int width; @@ -549,7 +508,13 @@ ui_out::field_string (const char *fldname, const char *string) verify_field (&fldno, &width, &align); - do_field_string (fldno, width, align, fldname, string); + do_field_string (fldno, width, align, fldname, string, style); +} + +void +ui_out::field_string (const char *fldname, const std::string &string) +{ + field_string (fldname, string.c_str ()); } /* VARARGS */ @@ -561,7 +526,6 @@ ui_out::field_fmt (const char *fldname, const char *format, ...) int width; ui_align align; - /* Will not align, but has to call anyway. */ verify_field (&fldno, &width, &align); va_start (args, format); @@ -619,7 +583,7 @@ ui_out::test_flags (ui_out_flags mask) } bool -ui_out::is_mi_like_p () +ui_out::is_mi_like_p () const { return do_is_mi_like_p (); }