2006-04-07 Andrew Stubbs <andrew.stubbs@st.com>
gdb/ * cli/cli-script.c (struct user_args): Add command field. (arg_cleanup): Free command string. (setup_user_args): Copy the command line before relying on it. gdb/testsuite/ * gdb.base/commands.exp (recursive_source_test): New test.
This commit is contained in:
parent
f2e349f91a
commit
e28493f226
4 changed files with 51 additions and 1 deletions
|
@ -54,6 +54,9 @@ static int control_level;
|
|||
struct user_args
|
||||
{
|
||||
struct user_args *next;
|
||||
/* It is necessary to store a malloced copy of the command line to
|
||||
ensure that the arguments are not overwritten before they are used. */
|
||||
char *command;
|
||||
struct
|
||||
{
|
||||
char *arg;
|
||||
|
@ -483,6 +486,7 @@ arg_cleanup (void *ignore)
|
|||
_("arg_cleanup called with no user args.\n"));
|
||||
|
||||
user_args = user_args->next;
|
||||
xfree (oargs->command);
|
||||
xfree (oargs);
|
||||
}
|
||||
|
||||
|
@ -507,6 +511,8 @@ setup_user_args (char *p)
|
|||
if (p == NULL)
|
||||
return old_chain;
|
||||
|
||||
user_args->command = p = xstrdup (p);
|
||||
|
||||
while (*p)
|
||||
{
|
||||
char *start_arg;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue