Use add_set_auto_boolean_cmd() to implement ``set remote ?-packet''
authorAndrew Cagney <cagney@redhat.com>
Wed, 2 Aug 2000 05:40:25 +0000 (05:40 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 2 Aug 2000 05:40:25 +0000 (05:40 +0000)
command.

gdb/ChangeLog
gdb/TODO
gdb/remote.c

index d0adb91f13ed475c08debbf984f4eab8d78f383e..1c1e9f7693f6d04b66fa33c2c77cb90550347f5f 100644 (file)
@@ -1,3 +1,11 @@
+Wed Aug  2 14:46:18 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * remote.c (enum packet_detect, packet_support_enums,
+       packet_support_auto, packet_enable, packet_disable): Delete.
+       (show_packet_config_cmd, set_packet_config_cmd,
+       init_packet_config): Use add_set_auto_boolean_cmd.
+       * TODO: Update.
+       
 Wed Aug  2 13:06:25 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * remote-udi.c (udi_xfer_inferior_memory, udi_files_info,
index 44be23918d4d61562badc18f32c6d3349a64cc57..63ee0b4a2a1ad6ce87bb8e75412144d590edf3d7 100644 (file)
--- a/gdb/TODO
+++ b/gdb/TODO
@@ -632,13 +632,6 @@ Get DEC/Compaq to contribute their Modula-3 support.
 
 --
 
-set/show remote X-packet ...
-
-``(gdb) help set remote X-packet'' doesn't list the applicable
-responses.  The help message needs to be expanded.
-
---
-
 Remote protocol doco feedback.
 
 Too much feedback to mention needs to be merged in (901660).  Search
index fff0ff75377846befa8396a6c8a6ef38c758d8f8..317954f548d0baee19ed16134b225a4d889031fd 100644 (file)
@@ -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;
     }
 }