From 52c6a6ac2dbf7264ce348f9abf1360a2c354aea0 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Thu, 3 Oct 2002 22:34:58 +0000 Subject: [PATCH] 2002-10-03 Jeff Johnston * ui-out.h (ui_out_field_fmt_int): New prototype. * ui-out.c (ui_out_field_fmt_int): New function allowing specification of field width and alignment. * stack.c (print_frame_info_base): When printing frame level, use ui_out_field_fmt_int with a width of 2 and left alignment. Fix for PR gdb/192 --- gdb/ChangeLog | 9 +++++++++ gdb/stack.c | 13 +++++++++---- gdb/ui-out.c | 17 +++++++++++++++++ gdb/ui-out.h | 4 ++++ 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 70a6731..d300975 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 2002-10-03 Jeff Johnston + * ui-out.h (ui_out_field_fmt_int): New prototype. + * ui-out.c (ui_out_field_fmt_int): New function allowing specification + of field width and alignment. + * stack.c (print_frame_info_base): When printing frame level, use + ui_out_field_fmt_int with a width of 2 and left alignment. Fix for + PR gdb/192 + +2002-10-03 Jeff Johnston + * MAINTAINERS: Add self to Write After Approval list. 2002-10-02 Elena Zannoni diff --git a/gdb/stack.c b/gdb/stack.c index b1cd9c7..f36e651 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -358,7 +358,10 @@ print_frame_info_base (struct frame_info *fi, int level, int source, int args) /* Do this regardless of SOURCE because we don't have any source to list for this frame. */ if (level >= 0) - printf_filtered ("#%-2d ", level); + { + ui_out_text (uiout, "#"); + ui_out_field_fmt_int (uiout, 2, ui_left, "level", level); + } annotate_function_call (); printf_filtered ("\n"); annotate_frame_end (); @@ -371,7 +374,10 @@ print_frame_info_base (struct frame_info *fi, int level, int source, int args) /* Do this regardless of SOURCE because we don't have any source to list for this frame. */ if (level >= 0) - printf_filtered ("#%-2d ", level); + { + ui_out_text (uiout, "#"); + ui_out_field_fmt_int (uiout, 2, ui_left, "level", level); + } annotate_signal_handler_caller (); printf_filtered ("\n"); annotate_frame_end (); @@ -548,8 +554,7 @@ print_frame (struct frame_info *fi, if (level >= 0) { ui_out_text (uiout, "#"); - ui_out_field_fmt (uiout, "level", "%-2d", level); - ui_out_spaces (uiout, 1); + ui_out_field_fmt_int (uiout, 2, ui_left, "level", level); } if (addressprint) if (fi->pc != sal.pc || !sal.symtab || source == LOC_AND_ADDRESS) diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 4a4a922..da7740f 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -486,6 +486,23 @@ ui_out_field_int (struct ui_out *uiout, } void +ui_out_field_fmt_int (struct ui_out *uiout, + int input_width, + enum ui_align input_align, + const char *fldname, + int value) +{ + int fldno; + int width; + int align; + struct ui_out_level *current = current_level (uiout); + + verify_field (uiout, &fldno, &width, &align); + + uo_field_int (uiout, fldno, input_width, input_align, fldname, value); +} + +void ui_out_field_core_addr (struct ui_out *uiout, const char *fldname, CORE_ADDR address) diff --git a/gdb/ui-out.h b/gdb/ui-out.h index 797c2fe..c8ed9dd 100644 --- a/gdb/ui-out.h +++ b/gdb/ui-out.h @@ -119,6 +119,10 @@ extern struct cleanup *make_cleanup_ui_out_tuple_begin_end (struct ui_out *uiout extern void ui_out_field_int (struct ui_out *uiout, const char *fldname, int value); +extern void ui_out_field_fmt_int (struct ui_out *uiout, int width, + enum ui_align align, const char *fldname, + int value); + extern void ui_out_field_core_addr (struct ui_out *uiout, const char *fldname, CORE_ADDR address); -- 2.7.4