summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2002-10-03 22:34:58 +0000
committerJeff Johnston <jjohnstn@redhat.com>2002-10-03 22:34:58 +0000
commit9fce65fced11546a20ca0cf57fdbe3fe628faa6b (patch)
tree27f4d2b4ea49632ecea100b86671d88bda2db3fe
parente0310b2c66735907a0cf21cc1066a6eeee2820f3 (diff)
downloadgdb-9fce65fced11546a20ca0cf57fdbe3fe628faa6b.tar.gz
2002-10-03 Jeff Johnston <jjohnstn@redhat.com>
* 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
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/stack.c13
-rw-r--r--gdb/ui-out.c17
-rw-r--r--gdb/ui-out.h4
4 files changed, 39 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 70a67311884..d300975cb41 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2002-10-03 Jeff Johnston <jjohnstn@redhat.com>
+ * 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 <jjohnstn@redhat.com>
+
* MAINTAINERS: Add self to Write After Approval list.
2002-10-02 Elena Zannoni <ezannoni@redhat.com>
diff --git a/gdb/stack.c b/gdb/stack.c
index b1cd9c7edde..f36e651a375 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 ("<function called from gdb>\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 ("<signal handler called>\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 4a4a9228540..da7740f4ca6 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 797c2fe960d..c8ed9dd504e 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);