[3/4] constify do_set_command and do_show_command

Message ID 1403209788-1015-4-git-send-email-tromey@redhat.com
State Committed
Headers

Commit Message

Tom Tromey June 19, 2014, 8:29 p.m. UTC
  This changes do_set_command and do_show_command to take const
arguments.

2014-06-19  Tom Tromey  <tromey@redhat.com>

	* cli/cli-setshow.c (do_set_command): Make "arg" const.
	(do_show_command): Make "arg" const.
	* cli/cli-setshow.h (do_set_command, do_show_command): Update.
---
 gdb/ChangeLog         |  6 ++++++
 gdb/cli/cli-setshow.c | 12 +++++++-----
 gdb/cli/cli-setshow.h |  4 ++--
 3 files changed, 15 insertions(+), 7 deletions(-)
  

Patch

diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c
index d14d361..61ff085 100644
--- a/gdb/cli/cli-setshow.c
+++ b/gdb/cli/cli-setshow.c
@@ -148,7 +148,7 @@  is_unlimited_literal (const char *arg)
    other command).  C is the command list element for the command.  */
 
 void
-do_set_command (char *arg, int from_tty, struct cmd_list_element *c)
+do_set_command (const char *arg, int from_tty, struct cmd_list_element *c)
 {
   /* A flag to indicate the option is changed or not.  */
   int option_changed = 0;
@@ -233,13 +233,15 @@  do_set_command (char *arg, int from_tty, struct cmd_list_element *c)
 	if (arg != NULL)
 	  {
 	    /* Clear trailing whitespace of filename.  */
-	    char *ptr = arg + strlen (arg) - 1;
+	    const char *ptr = arg + strlen (arg) - 1;
+	    char *copy;
 
 	    while (ptr >= arg && (*ptr == ' ' || *ptr == '\t'))
 	      ptr--;
-	    *(ptr + 1) = '\0';
+	    copy = xstrndup (arg, ptr + 1 - arg);
 
-	    val = tilde_expand (arg);
+	    val = tilde_expand (copy);
+	    xfree (copy);
 	  }
 	else
 	  val = xstrdup ("");
@@ -564,7 +566,7 @@  do_set_command (char *arg, int from_tty, struct cmd_list_element *c)
    other command).  C is the command list element for the command.  */
 
 void
-do_show_command (char *arg, int from_tty, struct cmd_list_element *c)
+do_show_command (const char *arg, int from_tty, struct cmd_list_element *c)
 {
   struct ui_out *uiout = current_uiout;
   struct cleanup *old_chain;
diff --git a/gdb/cli/cli-setshow.h b/gdb/cli/cli-setshow.h
index a68d610..7619bad 100644
--- a/gdb/cli/cli-setshow.h
+++ b/gdb/cli/cli-setshow.h
@@ -23,9 +23,9 @@  struct cmd_list_element;
    Returns 1 for true, 0 for false, and -1 if invalid.  */
 extern int parse_cli_boolean_value (const char *arg);
 
-extern void do_set_command (char *arg, int from_tty,
+extern void do_set_command (const char *arg, int from_tty,
 			    struct cmd_list_element *c);
-extern void do_show_command (char *arg, int from_tty,
+extern void do_show_command (const char *arg, int from_tty,
 			     struct cmd_list_element *c);
 
 extern void cmd_show_list (struct cmd_list_element *list, int from_tty,