* mi/mi-cmds.h (mi_execute_command): Make "cmd" const.
authorKeith Seitz <keiths@redhat.com>
Tue, 12 Mar 2013 18:50:39 +0000 (18:50 +0000)
committerKeith Seitz <keiths@redhat.com>
Tue, 12 Mar 2013 18:50:39 +0000 (18:50 +0000)
* mi/mi-interp.c (mi_interpreter_exec): Make "command" const.
Remove temporary copy of input string.
(mi_execute_command_wrapper): Make "cmd" const.
* mi/mi-main.c (mi_execute_command): Make "string_ptr" const.
* mi/mi-parse.c (mi_parse_argv): Make "args" const.
Use const strings.
(mi_parse): Make "cmd" const.
Use const strings.
* mi/mi-parse.h (mi_parse): Make "cmd" const.

gdb/ChangeLog
gdb/mi/mi-cmds.h
gdb/mi/mi-interp.c
gdb/mi/mi-main.c
gdb/mi/mi-parse.c
gdb/mi/mi-parse.h

index 092d6ef..19e12a7 100644 (file)
@@ -1,5 +1,18 @@
 2013-03-12  Keith Seitz  <keiths@redhat.com>
 
+       * mi/mi-cmds.h (mi_execute_command): Make "cmd" const.
+       * mi/mi-interp.c (mi_interpreter_exec): Make "command" const.
+       Remove temporary copy of input string.
+       (mi_execute_command_wrapper): Make "cmd" const.
+       * mi/mi-main.c (mi_execute_command): Make "string_ptr" const.
+       * mi/mi-parse.c (mi_parse_argv): Make "args" const.
+       Use const strings.
+       (mi_parse): Make "cmd" const.
+       Use const strings.
+       * mi/mi-parse.h (mi_parse): Make "cmd" const.
+
+2013-03-12  Keith Seitz  <keiths@redhat.com>
+
        * ada-lang.c (ada_read_renaming_var_value): Pass const
        pointer to expression string to parse_exp_1.
        (create_excep_cond_exprs): Likewise.
index 3859a40..fdf6f9c 100644 (file)
@@ -157,6 +157,6 @@ extern int mi_debug_p;
 /* Raw console output - FIXME: should this be a parameter? */
 extern struct ui_file *raw_stdout;
 
-extern void mi_execute_command (char *cmd, int from_tty);
+extern void mi_execute_command (const char *cmd, int from_tty);
 
 #endif
index d1fe33c..2702f4f 100644 (file)
@@ -41,7 +41,7 @@
 /* These are the interpreter setup, etc. functions for the MI
    interpreter.  */
 
-static void mi_execute_command_wrapper (char *cmd);
+static void mi_execute_command_wrapper (const char *cmd);
 static void mi_execute_command_input_handler (char *cmd);
 static void mi_command_loop (int mi_version);
 
@@ -217,10 +217,7 @@ mi_interpreter_suspend (void *data)
 static struct gdb_exception
 mi_interpreter_exec (void *data, const char *command)
 {
-  char *tmp = alloca (strlen (command) + 1);
-
-  strcpy (tmp, command);
-  mi_execute_command_wrapper (tmp);
+  mi_execute_command_wrapper (command);
   return exception_none;
 }
 
@@ -309,7 +306,7 @@ mi_interp_query_hook (const char *ctlstr, va_list ap)
 }
 
 static void
-mi_execute_command_wrapper (char *cmd)
+mi_execute_command_wrapper (const char *cmd)
 {
   mi_execute_command (cmd, stdin == instream);
 }
index 37294e0..20777a3 100644 (file)
@@ -1962,7 +1962,7 @@ mi_print_exception (const char *token, struct gdb_exception exception)
 }
 
 void
-mi_execute_command (char *cmd, int from_tty)
+mi_execute_command (const char *cmd, int from_tty)
 {
   char *token;
   struct mi_parse *command = NULL;
index 407869d..15fb778 100644 (file)
@@ -32,7 +32,7 @@
    target char.  */
 
 static int
-mi_parse_escape (char **string_ptr)
+mi_parse_escape (const char **string_ptr)
 {
   int c = *(*string_ptr)++;
 
@@ -103,9 +103,9 @@ mi_parse_escape (char **string_ptr)
 }
 
 static void
-mi_parse_argv (char *args, struct mi_parse *parse)
+mi_parse_argv (const char *args, struct mi_parse *parse)
 {
-  char *chp = args;
+  const char *chp = args;
   int argc = 0;
   char **argv = xmalloc ((argc + 1) * sizeof (char *));
 
@@ -115,7 +115,7 @@ mi_parse_argv (char *args, struct mi_parse *parse)
       char *arg;
 
       /* Skip leading white space.  */
-      chp = skip_spaces (chp);
+      chp = skip_spaces_const (chp);
       /* Three possibilities: EOF, quoted string, or other text. */
       switch (*chp)
        {
@@ -127,7 +127,7 @@ mi_parse_argv (char *args, struct mi_parse *parse)
          {
            /* A quoted string.  */
            int len;
-           char *start = chp + 1;
+           const char *start = chp + 1;
 
            /* Determine the buffer size.  */
            chp = start;
@@ -184,7 +184,7 @@ mi_parse_argv (char *args, struct mi_parse *parse)
            /* An unquoted string.  Accumulate all non-blank
               characters into a buffer.  */
            int len;
-           char *start = chp;
+           const char *start = chp;
 
            while (*chp != '\0' && !isspace (*chp))
              {
@@ -229,9 +229,9 @@ mi_parse_cleanup (void *arg)
 }
 
 struct mi_parse *
-mi_parse (char *cmd, char **token)
+mi_parse (const char *cmd, char **token)
 {
-  char *chp;
+  const char *chp;
   struct mi_parse *parse = XMALLOC (struct mi_parse);
   struct cleanup *cleanup;
 
@@ -244,7 +244,7 @@ mi_parse (char *cmd, char **token)
   cleanup = make_cleanup (mi_parse_cleanup, parse);
 
   /* Before starting, skip leading white space.  */
-  cmd = skip_spaces (cmd);
+  cmd = skip_spaces_const (cmd);
 
   /* Find/skip any token and then extract it.  */
   for (chp = cmd; *chp >= '0' && *chp <= '9'; chp++)
@@ -256,7 +256,7 @@ mi_parse (char *cmd, char **token)
   /* This wasn't a real MI command.  Return it as a CLI_COMMAND.  */
   if (*chp != '-')
     {
-      chp = skip_spaces (chp);
+      chp = skip_spaces_const (chp);
       parse->command = xstrdup (chp);
       parse->op = CLI_COMMAND;
 
@@ -267,7 +267,7 @@ mi_parse (char *cmd, char **token)
 
   /* Extract the command.  */
   {
-    char *tmp = chp + 1;       /* discard ``-'' */
+    const char *tmp = chp + 1; /* discard ``-'' */
 
     for (; *chp && !isspace (*chp); chp++)
       ;
@@ -282,7 +282,7 @@ mi_parse (char *cmd, char **token)
     error (_("Undefined MI command: %s"), parse->command);
 
   /* Skip white space following the command.  */
-  chp = skip_spaces (chp);
+  chp = skip_spaces_const (chp);
 
   /* Parse the --thread and --frame options, if present.  At present,
      some important commands, like '-break-*' are implemented by
@@ -310,6 +310,8 @@ mi_parse (char *cmd, char **token)
         }
       if (strncmp (chp, "--thread-group ", tgs) == 0)
        {
+         char *endp;
+
          option = "--thread-group";
          if (parse->thread_group != -1)
            error (_("Duplicate '--thread-group' option"));
@@ -317,30 +319,37 @@ mi_parse (char *cmd, char **token)
          if (*chp != 'i')
            error (_("Invalid thread group id"));
          chp += 1;
-         parse->thread_group = strtol (chp, &chp, 10);
+         parse->thread_group = strtol (chp, &endp, 10);
+         chp = endp;
        }
       else if (strncmp (chp, "--thread ", ts) == 0)
        {
+         char *endp;
+
          option = "--thread";
          if (parse->thread != -1)
            error (_("Duplicate '--thread' option"));
          chp += ts;
-         parse->thread = strtol (chp, &chp, 10);
+         parse->thread = strtol (chp, &endp, 10);
+         chp = endp;
        }
       else if (strncmp (chp, "--frame ", fs) == 0)
        {
+         char *endp;
+
          option = "--frame";
          if (parse->frame != -1)
            error (_("Duplicate '--frame' option"));
          chp += fs;
-         parse->frame = strtol (chp, &chp, 10);
+         parse->frame = strtol (chp, &endp, 10);
+         chp = endp;
        }
       else
        break;
 
       if (*chp != '\0' && !isspace (*chp))
        error (_("Invalid value for the '%s' option"), option);
-      chp = skip_spaces (chp);
+      chp = skip_spaces_const (chp);
     }
 
   /* For new argv commands, attempt to return the parsed argument
index 0dd1815..324ae5d 100644 (file)
@@ -60,7 +60,7 @@ struct mi_parse
    the TOKEN field of the resultant mi_parse object, to be freed by
    mi_parse_free.  */
 
-extern struct mi_parse *mi_parse (char *cmd, char **token);
+extern struct mi_parse *mi_parse (const char *cmd, char **token);
 
 /* Free a command returned by mi_parse_command.  */