This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFC 2/8] Add a "context" argument to add_setshow_enum_cmd
- From: Tom Tromey <tom at tromey dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tom at tromey dot com>
- Date: Thu, 6 Sep 2018 15:12:57 -0600
- Subject: [RFC 2/8] Add a "context" argument to add_setshow_enum_cmd
- References: <20180906211303.11029-1-tom@tromey.com>
This adds a "context" argument to add_setshow_enum_cmd. Now
add_setshow_enum_cmd will call set_cmd_context on both of the new
commands. This is used in a later patch.
gdb/ChangeLog
2018-09-06 Tom Tromey <tom@tromey.com>
* command.h (add_setshow_enum_cmd): Add "context" argument.
* cli/cli-decode.c (add_setshow_enum_cmd): Add "context"
argument. Call set_cmd_context.
---
gdb/ChangeLog | 6 ++++++
gdb/cli/cli-decode.c | 10 +++++++---
gdb/command.h | 3 ++-
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index 83dd67efe3f..4a75c41c910 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -495,16 +495,20 @@ add_setshow_enum_cmd (const char *name,
cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
- struct cmd_list_element **show_list)
+ struct cmd_list_element **show_list,
+ void *context)
{
- struct cmd_list_element *c;
+ struct cmd_list_element *c, *show;
add_setshow_cmd_full (name, theclass, var_enum, var,
set_doc, show_doc, help_doc,
set_func, show_func,
set_list, show_list,
- &c, NULL);
+ &c, &show);
c->enums = enumlist;
+
+ set_cmd_context (c, context);
+ set_cmd_context (show, context);
}
const char * const auto_boolean_enums[] = { "on", "off", "auto", NULL };
diff --git a/gdb/command.h b/gdb/command.h
index 3dde2475cb1..cf4def2bcdb 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -300,7 +300,8 @@ extern void add_setshow_enum_cmd (const char *name,
cmd_const_sfunc_ftype *set_func,
show_value_ftype *show_func,
struct cmd_list_element **set_list,
- struct cmd_list_element **show_list);
+ struct cmd_list_element **show_list,
+ void *context = nullptr);
extern void add_setshow_auto_boolean_cmd (const char *name,
enum command_class theclass,
--
2.13.6