mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-10 23:57:03 +08:00
2011-11-21 Kwok Cheung Yeung <kcy@codesourcery.com>
* osdata.c (info_osdata_command): Rename nprocs to nrows. Handle the case where osdata->items is empty. Rename column names to a canonical form to avoid problems with unusual column names.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2011-11-21 Kwok Cheung Yeung <kcy@codesourcery.com>
|
||||||
|
|
||||||
|
* osdata.c (info_osdata_command): Rename nprocs to nrows. Handle
|
||||||
|
the case where osdata->items is empty. Rename column names to a
|
||||||
|
canonical form to avoid problems with unusual column names.
|
||||||
|
|
||||||
2011-11-21 Yao Qi <yao@codesourcery.com>
|
2011-11-21 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
* MAINTAINERS (Write After Approval): Keep list in alphabetical order.
|
* MAINTAINERS (Write After Approval): Keep list in alphabetical order.
|
||||||
|
53
gdb/osdata.c
53
gdb/osdata.c
@ -293,28 +293,37 @@ info_osdata_command (char *type, int from_tty)
|
|||||||
{
|
{
|
||||||
struct ui_out *uiout = current_uiout;
|
struct ui_out *uiout = current_uiout;
|
||||||
struct osdata *osdata = NULL;
|
struct osdata *osdata = NULL;
|
||||||
struct osdata_item *last;
|
struct osdata_item *last = NULL;
|
||||||
struct cleanup *old_chain;
|
struct cleanup *old_chain;
|
||||||
int ncols;
|
int ncols = 0;
|
||||||
int nprocs;
|
int nrows;
|
||||||
|
|
||||||
osdata = get_osdata (type);
|
osdata = get_osdata (type);
|
||||||
old_chain = make_cleanup_osdata_free (osdata);
|
old_chain = make_cleanup_osdata_free (osdata);
|
||||||
|
|
||||||
nprocs = VEC_length (osdata_item_s, osdata->items);
|
nrows = VEC_length (osdata_item_s, osdata->items);
|
||||||
|
|
||||||
if (!type && nprocs == 0)
|
if (!type && nrows == 0)
|
||||||
error (_("Available types of OS data not reported."));
|
error (_("Available types of OS data not reported."));
|
||||||
|
|
||||||
|
if (!VEC_empty (osdata_item_s, osdata->items))
|
||||||
|
{
|
||||||
|
last = VEC_last (osdata_item_s, osdata->items);
|
||||||
|
if (last->columns)
|
||||||
|
ncols = VEC_length (osdata_column_s, last->columns);
|
||||||
|
}
|
||||||
|
|
||||||
last = VEC_last (osdata_item_s, osdata->items);
|
make_cleanup_ui_out_table_begin_end (uiout, ncols, nrows,
|
||||||
if (last && last->columns)
|
|
||||||
ncols = VEC_length (osdata_column_s, last->columns);
|
|
||||||
else
|
|
||||||
ncols = 0;
|
|
||||||
|
|
||||||
make_cleanup_ui_out_table_begin_end (uiout, ncols, nprocs,
|
|
||||||
"OSDataTable");
|
"OSDataTable");
|
||||||
|
|
||||||
|
/* With no columns/items, we just output an empty table, but we
|
||||||
|
still output the table. This matters for MI. */
|
||||||
|
if (ncols == 0)
|
||||||
|
{
|
||||||
|
do_cleanups (old_chain);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (last && last->columns)
|
if (last && last->columns)
|
||||||
{
|
{
|
||||||
struct osdata_column *col;
|
struct osdata_column *col;
|
||||||
@ -324,13 +333,18 @@ info_osdata_command (char *type, int from_tty)
|
|||||||
VEC_iterate (osdata_column_s, last->columns,
|
VEC_iterate (osdata_column_s, last->columns,
|
||||||
ix, col);
|
ix, col);
|
||||||
ix++)
|
ix++)
|
||||||
ui_out_table_header (uiout, 10, ui_left,
|
{
|
||||||
col->name, col->name);
|
char col_name[32];
|
||||||
|
|
||||||
|
snprintf (col_name, 32, "col%d", ix);
|
||||||
|
ui_out_table_header (uiout, 10, ui_left,
|
||||||
|
col_name, col->name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ui_out_table_body (uiout);
|
ui_out_table_body (uiout);
|
||||||
|
|
||||||
if (nprocs != 0)
|
if (nrows != 0)
|
||||||
{
|
{
|
||||||
struct osdata_item *item;
|
struct osdata_item *item;
|
||||||
int ix_items;
|
int ix_items;
|
||||||
@ -353,8 +367,13 @@ info_osdata_command (char *type, int from_tty)
|
|||||||
VEC_iterate (osdata_column_s, item->columns,
|
VEC_iterate (osdata_column_s, item->columns,
|
||||||
ix_cols, col);
|
ix_cols, col);
|
||||||
ix_cols++)
|
ix_cols++)
|
||||||
ui_out_field_string (uiout, col->name, col->value);
|
{
|
||||||
|
char col_name[32];
|
||||||
|
|
||||||
|
snprintf (col_name, 32, "col%d", ix_cols);
|
||||||
|
ui_out_field_string (uiout, col_name, col->value);
|
||||||
|
}
|
||||||
|
|
||||||
do_cleanups (old_chain);
|
do_cleanups (old_chain);
|
||||||
|
|
||||||
ui_out_text (uiout, "\n");
|
ui_out_text (uiout, "\n");
|
||||||
|
Reference in New Issue
Block a user