aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2000-08-02 05:40:25 +0000
committerAndrew Cagney <cagney@redhat.com>2000-08-02 05:40:25 +0000
commit8e2481732f9f81db319019e749a74dab370c0f0c (patch)
treebfac9cdc90093cccff69d79f248452197a4496c1 /gdb/remote.c
parent4e005f2e7fb326a6a5414d832aab826108f6d8ed (diff)
downloadgdb-8e2481732f9f81db319019e749a74dab370c0f0c.zip
gdb-8e2481732f9f81db319019e749a74dab370c0f0c.tar.gz
gdb-8e2481732f9f81db319019e749a74dab370c0f0c.tar.bz2
Use add_set_auto_boolean_cmd() to implement ``set remote ?-packet''
command.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c65
1 files changed, 18 insertions, 47 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index fff0ff7..317954f 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -518,52 +518,18 @@ enum packet_support
PACKET_DISABLE
};
-enum packet_detect
- {
- PACKET_AUTO_DETECT = 0,
- PACKET_MANUAL_DETECT
- };
-
struct packet_config
{
- const char *state;
char *name;
char *title;
- enum packet_detect detect;
+ enum cmd_auto_boolean detect;
enum packet_support support;
};
-static const char packet_support_auto[] = "auto";
-static const char packet_enable[] = "enable";
-static const char packet_disable[] = "disable";
-static const char *packet_support_enums[] =
-{
- packet_support_auto,
- packet_enable,
- packet_disable,
- 0,
-};
-
static void
set_packet_config_cmd (struct packet_config *config, struct cmd_list_element *c)
{
- if (config->state == packet_enable)
- {
- config->detect = PACKET_MANUAL_DETECT;
- config->support = PACKET_ENABLE;
- }
- else if (config->state == packet_disable)
- {
- config->detect = PACKET_MANUAL_DETECT;
- config->support = PACKET_DISABLE;
- }
- else if (config->state == packet_support_auto)
- {
- config->detect = PACKET_AUTO_DETECT;
- config->support = PACKET_SUPPORT_UNKNOWN;
- }
- else
- internal_error ("Bad enum value");
+ init_packet_config (config);
}
static void
@@ -584,13 +550,15 @@ show_packet_config_cmd (struct packet_config *config)
}
switch (config->detect)
{
- case PACKET_AUTO_DETECT:
+ case CMD_AUTO_BOOLEAN_AUTO:
printf_filtered ("Support for remote protocol `%s' (%s) packet is auto-detected, currently %s.\n",
config->name, config->title, support);
break;
- case PACKET_MANUAL_DETECT:
- printf_filtered ("Support for remote protocol `%s' (%s) is currently %s.\n",
+ case CMD_AUTO_BOOLEAN_TRUE:
+ case CMD_AUTO_BOOLEAN_FALSE:
+ printf_filtered ("Support for remote protocol `%s' (%s) packet is currently %s.\n",
config->name, config->title, support);
+ break;
}
}
@@ -611,15 +579,15 @@ add_packet_config_cmd (config, name, title, set_func, show_func,
char *full_name;
config->name = name;
config->title = title;
+ config->detect = CMD_AUTO_BOOLEAN_AUTO;
+ config->support = PACKET_SUPPORT_UNKNOWN;
asprintf (&set_doc, "Set use of remote protocol `%s' (%s) packet",
name, title);
asprintf (&show_doc, "Show current use of remote protocol `%s' (%s) packet",
name, title);
asprintf (&full_name, "%s-packet", name);
- c = add_set_enum_cmd (full_name,
- class_obscure, packet_support_enums,
- &config->state,
- set_doc, setlist);
+ c = add_set_auto_boolean_cmd (full_name, class_obscure,
+ &config->detect, set_doc, setlist);
c->function.sfunc = set_func;
add_cmd (full_name, class_obscure, show_func, show_doc, showlist);
}
@@ -629,11 +597,14 @@ init_packet_config (struct packet_config *config)
{
switch (config->detect)
{
- case PACKET_AUTO_DETECT:
- config->support = PACKET_SUPPORT_UNKNOWN;
+ case CMD_AUTO_BOOLEAN_TRUE:
+ config->support = PACKET_ENABLE;
break;
- case PACKET_MANUAL_DETECT:
- /* let the user beware */
+ case CMD_AUTO_BOOLEAN_FALSE:
+ config->support = PACKET_DISABLE;
+ break;
+ case CMD_AUTO_BOOLEAN_AUTO:
+ config->support = PACKET_SUPPORT_UNKNOWN;
break;
}
}