diff options
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/mi/mi-cmd-info.c | 4 | ||||
-rw-r--r-- | gdb/osdata.c | 13 | ||||
-rw-r--r-- | gdb/osdata.h | 6 |
4 files changed, 29 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 821aeaf..fe1243b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,16 @@ 2017-04-05 Pedro Alves <palves@redhat.com> + * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of + info_osdata_command. + * osdata.c (info_osdata_command): Rename to ... + (info_osdata): ... this. Constify 'type' parameter, and remove + the 'from_tty' parameter. Accept NULL TYPE. + (info_osdata_command): New function. + * osdata.h (info_osdata_command): Remove declaration. + (info_osdata): New declaration. + +2017-04-05 Pedro Alves <palves@redhat.com> + * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert) (mi_cmd_dprintf_insert, mi_cmd_break_passcount) (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command' diff --git a/gdb/mi/mi-cmd-info.c b/gdb/mi/mi-cmd-info.c index eba1ca2..1a96d6f 100644 --- a/gdb/mi/mi-cmd-info.c +++ b/gdb/mi/mi-cmd-info.c @@ -106,10 +106,10 @@ mi_cmd_info_os (const char *command, char **argv, int argc) switch (argc) { case 0: - info_osdata_command ("", 0); + info_osdata (NULL); break; case 1: - info_osdata_command (argv[0], 0); + info_osdata (argv[0]); break; default: error (_("Usage: -info-os [INFOTYPE]")); diff --git a/gdb/osdata.c b/gdb/osdata.c index d63ff5a..4b33ccb 100644 --- a/gdb/osdata.c +++ b/gdb/osdata.c @@ -287,7 +287,7 @@ get_osdata_column (struct osdata_item *item, const char *name) } void -info_osdata_command (char *type, int from_tty) +info_osdata (const char *type) { struct ui_out *uiout = current_uiout; struct osdata *osdata = NULL; @@ -297,12 +297,15 @@ info_osdata_command (char *type, int from_tty) int nrows; int col_to_skip = -1; + if (type == NULL) + type = ""; + osdata = get_osdata (type); old_chain = make_cleanup_osdata_free (osdata); nrows = VEC_length (osdata_item_s, osdata->items); - if (!type && nrows == 0) + if (*type == '\0' && nrows == 0) error (_("Available types of OS data not reported.")); if (!VEC_empty (osdata_item_s, osdata->items)) @@ -407,6 +410,12 @@ info_osdata_command (char *type, int from_tty) do_cleanups (old_chain); } +static void +info_osdata_command (char *arg, int from_tty) +{ + info_osdata (arg); +} + extern initialize_file_ftype _initialize_osdata; /* -Wmissing-prototypes */ void diff --git a/gdb/osdata.h b/gdb/osdata.h index bda0112..5921384 100644 --- a/gdb/osdata.h +++ b/gdb/osdata.h @@ -49,6 +49,10 @@ void osdata_free (struct osdata *); struct cleanup *make_cleanup_osdata_free (struct osdata *data); struct osdata *get_osdata (const char *type); const char *get_osdata_column (struct osdata_item *item, const char *name); -void info_osdata_command (char *type, int from_tty); + +/* Dump TYPE info to the current uiout builder. If TYPE is either + NULL or empty, then dump the top level table that lists the + available types of OS data. */ +void info_osdata (const char *type); #endif /* OSDATA_H */ |