diff options
author | Tom Tromey <tom@tromey.com> | 2017-04-23 10:21:50 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-08-03 07:58:51 -0600 |
commit | 4a2b031d5452226cf7894f313b3aac603f7ec5fb (patch) | |
tree | 8230279453a3136b5d29f238fec14112e1ae80cb /gdb/linux-thread-db.c | |
parent | fd9770d81fba7ad860e8bcfbc13c77f21041f1f3 (diff) | |
download | gdb-4a2b031d5452226cf7894f313b3aac603f7ec5fb.zip gdb-4a2b031d5452226cf7894f313b3aac603f7ec5fb.tar.gz gdb-4a2b031d5452226cf7894f313b3aac603f7ec5fb.tar.bz2 |
Introduce and use ui_out_emit_table
This introduces ui_out_emit_table, similar to the other existing
ui_out RAII classes, and then uses it in a number of places. This
replaces some cleanups.
ChangeLog
2017-08-03 Tom Tromey <tom@tromey.com>
* tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
(info_static_tracepoint_markers_command): Likewise.
* solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
* skip.c (skip_info): Use ui_out_emit_table.
* progspace.c (print_program_space): Use ui_out_emit_table.
* osdata.c (info_osdata): Use ui_out_emit_table.
* mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
ui_out_emit_table.
* linux-thread-db.c (info_auto_load_libthread_db): Use
ui_out_emit_table.
* inferior.c (print_inferior): Use ui_out_emit_table.
* gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
* breakpoint.c (breakpoint_1): Use ui_out_emit_table.
* auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
* ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
* ui-out.h (class ui_out_emit_table): New.
Diffstat (limited to 'gdb/linux-thread-db.c')
-rw-r--r-- | gdb/linux-thread-db.c | 68 |
1 files changed, 36 insertions, 32 deletions
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c index 86254f8..cf68013 100644 --- a/gdb/linux-thread-db.c +++ b/gdb/linux-thread-db.c @@ -1623,45 +1623,49 @@ info_auto_load_libthread_db (char *args, int from_tty) if (info_count > 0 && args == auto_load_info_scripts_pattern_nl) uiout->text ("\n"); - make_cleanup_ui_out_table_begin_end (uiout, 2, unique_filenames, - "LinuxThreadDbTable"); + { + ui_out_emit_table table_emitter (uiout, 2, unique_filenames, + "LinuxThreadDbTable"); - uiout->table_header (max_filename_len, ui_left, "filename", "Filename"); - uiout->table_header (pids_len, ui_left, "PIDs", "Pids"); - uiout->table_body (); + uiout->table_header (max_filename_len, ui_left, "filename", "Filename"); + uiout->table_header (pids_len, ui_left, "PIDs", "Pids"); + uiout->table_body (); - pids = (char *) xmalloc (max_pids_len + 1); - make_cleanup (xfree, pids); + pids = (char *) xmalloc (max_pids_len + 1); + make_cleanup (xfree, pids); - /* Note I is incremented inside the cycle, not at its end. */ - for (i = 0; i < info_count;) - { - ui_out_emit_tuple tuple_emitter (uiout, NULL); - char *pids_end; - - info = array[i]; - uiout->field_string ("filename", info->filename); - pids_end = pids; + /* Note I is incremented inside the cycle, not at its end. */ + for (i = 0; i < info_count;) + { + ui_out_emit_tuple tuple_emitter (uiout, NULL); + char *pids_end; - while (i < info_count && strcmp (info->filename, array[i]->filename) == 0) - { - if (pids_end != pids) - { - *pids_end++ = ','; - *pids_end++ = ' '; - } - pids_end += xsnprintf (pids_end, &pids[max_pids_len + 1] - pids_end, - "%u", array[i]->pid); - gdb_assert (pids_end < &pids[max_pids_len + 1]); + info = array[i]; + uiout->field_string ("filename", info->filename); + pids_end = pids; - i++; - } - *pids_end = '\0'; + while (i < info_count && strcmp (info->filename, + array[i]->filename) == 0) + { + if (pids_end != pids) + { + *pids_end++ = ','; + *pids_end++ = ' '; + } + pids_end += xsnprintf (pids_end, + &pids[max_pids_len + 1] - pids_end, + "%u", array[i]->pid); + gdb_assert (pids_end < &pids[max_pids_len + 1]); + + i++; + } + *pids_end = '\0'; - uiout->field_string ("pids", pids); + uiout->field_string ("pids", pids); - uiout->text ("\n"); - } + uiout->text ("\n"); + } + } do_cleanups (back_to); |