Change mi_parse_argv to a method
authorTom Tromey <tromey@adacore.com>
Mon, 20 Mar 2023 16:48:50 +0000 (10:48 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 23 May 2023 16:09:27 +0000 (10:09 -0600)
This changes mi_parse_argv to be a method of mi_parse.  This is just a
minor cleanup.

gdb/mi/mi-cmds.c
gdb/mi/mi-parse.c
gdb/mi/mi-parse.h
gdb/python/py-micmd.c

index ca8c633e2185172ca140ae56d48b2403d71d7e6a..f8cae4131d89309dd3aa17a60d5afbc97fd99052 100644 (file)
@@ -49,7 +49,7 @@ struct mi_command_mi : public mi_command
      with arguments contained within PARSE.  */
   void invoke (struct mi_parse *parse) const override
   {
-    mi_parse_argv (parse->args (), parse);
+    parse->parse_argv ();
 
     if (parse->argv == nullptr)
       error (_("Problem parsing arguments: %s %s"), parse->command,
index bf3b534e5900b4aca17b53297ae2ae402342db90..f077eb36a7c00675933d7bbf7b5a4fcdf0858f9f 100644 (file)
@@ -107,9 +107,9 @@ mi_parse_escape (const char **string_ptr)
 }
 
 void
-mi_parse_argv (const char *args, struct mi_parse *parse)
+mi_parse::parse_argv ()
 {
-  const char *chp = args;
+  const char *chp = m_args.get ();
   int argc = 0;
   char **argv = XNEWVEC (char *, argc + 1);
 
@@ -124,8 +124,8 @@ mi_parse_argv (const char *args, struct mi_parse *parse)
       switch (*chp)
        {
        case '\0':
-         parse->argv = argv;
-         parse->argc = argc;
+         this->argv = argv;
+         this->argc = argc;
          return;
        case '"':
          {
index d4ac3f002e472f8a65d0f1a05be57e53f15cee06..edb615473545bd97ab6aa6f8e2c2f8aec86e48dd 100644 (file)
@@ -46,6 +46,9 @@ struct mi_parse
 
     DISABLE_COPY_AND_ASSIGN (mi_parse);
 
+    /* Split the arguments into argc/argv and store the result.  */
+    void parse_argv ();
+
     /* Return the full argument string, as used by commands which are
        implemented as CLI commands.  */
     const char *args () const
@@ -90,8 +93,4 @@ extern std::unique_ptr<struct mi_parse> mi_parse (const char *cmd,
 
 enum print_values mi_parse_print_values (const char *name);
 
-/* Split ARGS into argc/argv and store the result in PARSE.  */
-
-extern void mi_parse_argv (const char *args, struct mi_parse *parse);
-
 #endif /* MI_MI_PARSE_H */
index 88d52db22023386be3aae63789eb3b0c19135498..7027210d0d84999fd4610c96fde9d3955d2bc455 100644 (file)
@@ -355,7 +355,7 @@ mi_command_py::invoke (struct mi_parse *parse) const
 
   pymicmd_debug_printf ("this = %p, name = %s", this, name ());
 
-  mi_parse_argv (parse->args (), parse);
+  parse->parse_argv ();
 
   if (parse->argv == nullptr)
     error (_("Problem parsing arguments: %s %s"), parse->command,