aboutsummaryrefslogtreecommitdiff
path: root/sim/m32c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2014-02-20 00:28:17 -0500
committerMike Frysinger <vapier@gentoo.org>2014-03-10 22:57:29 -0400
commit60d847df0b9691b7cb38bfba41b9d6aafd97efc2 (patch)
treea2fa4e54d1c4bc8a82cdc5fbd65f5958875356cf /sim/m32c
parent61d1ce24e894c08a701efc5794012161ef101a60 (diff)
downloadgdb-60d847df0b9691b7cb38bfba41b9d6aafd97efc2.zip
gdb-60d847df0b9691b7cb38bfba41b9d6aafd97efc2.tar.gz
gdb-60d847df0b9691b7cb38bfba41b9d6aafd97efc2.tar.bz2
sim: constify arg to sim_do_command
It is rare for people to want to modify the cmd arg. In general, they really shouldn't be, but a few still do. For those who misbehave, dupe the string locally so they can bang on it.
Diffstat (limited to 'sim/m32c')
-rw-r--r--sim/m32c/ChangeLog5
-rw-r--r--sim/m32c/gdb-if.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/sim/m32c/ChangeLog b/sim/m32c/ChangeLog
index e202191..2abe643 100644
--- a/sim/m32c/ChangeLog
+++ b/sim/m32c/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-10 Mike Frysinger <vapier@gentoo.org>
+
+ * gdb-if.c (sim_do_command): Add const to cmd. Move args
+ to top and add const. Call strdup on cmd and free at end.
+
2014-03-05 Mike Frysinger <vapier@gentoo.org>
* gdb-if.c (sim_load): Add const to prog.
diff --git a/sim/m32c/gdb-if.c b/sim/m32c/gdb-if.c
index bec9d48..a617b7c 100644
--- a/sim/m32c/gdb-if.c
+++ b/sim/m32c/gdb-if.c
@@ -650,11 +650,12 @@ sim_stop_reason (SIM_DESC sd, enum sim_stop *reason_p, int *sigrc_p)
}
void
-sim_do_command (SIM_DESC sd, char *cmd)
+sim_do_command (SIM_DESC sd, const char *cmd)
{
- check_desc (sd);
+ const char *args;
+ char *p = strdup (cmd);
- char *p = cmd;
+ check_desc (sd);
/* Skip leading whitespace. */
while (isspace (*p))
@@ -667,7 +668,6 @@ sim_do_command (SIM_DESC sd, char *cmd)
/* Null-terminate the command word, and record the start of any
further arguments. */
- char *args;
if (*p)
{
*p = '\0';
@@ -701,6 +701,8 @@ sim_do_command (SIM_DESC sd, char *cmd)
else
printf ("The 'sim' command expects either 'trace' or 'verbose'"
" as a subcommand.\n");
+
+ free (p);
}
char **