mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-29 15:18:34 +08:00
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:
@ -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;
|
||||
|
Reference in New Issue
Block a user