Use ui_out for "maint info frame-unwinders"
authorTom Tromey <tromey@adacore.com>
Wed, 22 Mar 2023 16:51:50 +0000 (10:51 -0600)
committerTom Tromey <tromey@adacore.com>
Fri, 7 Apr 2023 15:17:55 +0000 (09:17 -0600)
This changes "maint info frame-unwinders" to use ui-out.  This makes
the table slightly nicer.  In general I think it's better to use
ui-out for tables.

gdb/frame-unwind.c

index a3673dde77a89294e7173eb1f7aad6b3d7a28e57..866b2e6b4a67d2db5e8cf5bcd689390e0e40a5e4 100644 (file)
@@ -347,13 +347,22 @@ maintenance_info_frame_unwinders (const char *args, int from_tty)
   struct gdbarch *gdbarch = target_gdbarch ();
   struct frame_unwind_table *table = get_frame_unwind_table (gdbarch);
 
+  ui_out *uiout = current_uiout;
+  ui_out_emit_table table_emitter (uiout, 2, -1, "FrameUnwinders");
+  uiout->table_header (27, ui_left, "name", "Name");
+  uiout->table_header (25, ui_left, "type", "Type");
+  uiout->table_body ();
+
   for (struct frame_unwind_table_entry *entry = table->list; entry != NULL;
        entry = entry->next)
     {
       const char *name = entry->unwinder->name;
       const char *type = frame_type_str (entry->unwinder->type);
 
-      gdb_printf (gdb_stdout, "%-16s\t%-16s\n", name, type);
+      ui_out_emit_list tuple_emitter (uiout, nullptr);
+      uiout->field_string ("name", name);
+      uiout->field_string ("type", type);
+      uiout->text ("\n");
     }
 }