diff options
author | Fernando Nasser <fnasser@redhat.com> | 2001-01-24 16:28:20 +0000 |
---|---|---|
committer | Fernando Nasser <fnasser@redhat.com> | 2001-01-24 16:28:20 +0000 |
commit | fe55946e1475a559ac2a7454dc9a3e3cd52fbfad (patch) | |
tree | 5c435b10c816356078ec73e6ec6320c6c22d9768 | |
parent | f1a9af024fad41aeb4e825d1f3c58c0a8e88d956 (diff) | |
download | gdb-fe55946e1475a559ac2a7454dc9a3e3cd52fbfad.tar.gz |
2001-01-24 Fernando Nasser <fnasser@redhat.com>
* infcmd.c (get_inferior_args, set_inferior_args): Accessor functions
for the inferior program arguments.
(run_command, run_no_args_command, init_infcmd)): Use accessor
functions to set the inferior program arguments.
* inferior.h: Add definitions to the accessor functions above.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/infcmd.c | 29 | ||||
-rw-r--r-- | gdb/inferior.h | 4 |
3 files changed, 34 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d17d68b4831..16268067284 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2001-01-24 Fernando Nasser <fnasser@redhat.com> + + * infcmd.c (get_inferior_args, set_inferior_args): Accessor functions + for the inferior program arguments. + (run_command, run_no_args_command, init_infcmd)): Use accessor + functions to set the inferior program arguments. + * inferior.h: Add definitions to the accessor functions above. + 2001-01-23 Jim Blandy <jimb@redhat.com> * dwarf2read.c (read_tag_const_type, read_tag_volatile_type): diff --git a/gdb/infcmd.c b/gdb/infcmd.c index d4a6fc0834e..91c6fac16e1 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -191,6 +191,23 @@ int step_multi; struct environ *inferior_environ; +/* Accessor routines. */ + +char * +get_inferior_args (void) +{ + return inferior_args; +} + +char * +set_inferior_args (char *newargs) +{ + char *saved_args = inferior_args; + + inferior_args = newargs; + + return saved_args; +} /* This function detects whether or not a '&' character (indicating background execution) has been added as *the last* of the arguments ARGS @@ -280,7 +297,6 @@ Start it from the beginning? ")) } else { - char *cmd; int async_exec = strip_bg_char (&args); /* If we get a request for running in the bg but the target @@ -299,9 +315,8 @@ Start it from the beginning? ")) /* If there were other args, beside '&', process them. */ if (args) { - cmd = concat ("set args ", args, NULL); - make_cleanup (xfree, cmd); - execute_command (cmd, from_tty); + char *old_args = set_inferior_args (xstrdup (args)); + xfree (old_args); } } @@ -335,8 +350,8 @@ Start it from the beginning? ")) static void run_no_args_command (char *args, int from_tty) { - execute_command ("set args", from_tty); - run_command ((char *) NULL, from_tty); + char *old_args = set_inferior_args (xstrdup ("")); + xfree (old_args); } @@ -1944,7 +1959,7 @@ Register name as argument means describe only that register."); add_info ("float", float_info, "Print the status of the floating point unit\n"); - inferior_args = savestring ("", 1); /* Initially no args */ + set_inferior_args (xstrdup ("")); /* Initially no args */ inferior_environ = make_environ (); init_environ (inferior_environ); } diff --git a/gdb/inferior.h b/gdb/inferior.h index 474d2788a1f..79fe5693d1d 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -285,6 +285,10 @@ extern void tty_command (char *, int); extern void attach_command (char *, int); +extern char *get_inferior_arg (void); + +extern char *set_inferior_arg (char *); + /* Last signal that the inferior received (why it stopped). */ extern enum target_signal stop_signal; |