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 | 07091751ffb7774332fbf4e1bdf103df83a0a554 (patch) | |
tree | 54bfc11f9cd5c8953332b9af32f0ee1c8fbbe6b5 | |
parent | 554064594b5fa51c31a4d57917b379233780d18f (diff) | |
download | gdb-07091751ffb7774332fbf4e1bdf103df83a0a554.zip gdb-07091751ffb7774332fbf4e1bdf103df83a0a554.tar.gz gdb-07091751ffb7774332fbf4e1bdf103df83a0a554.tar.bz2 |
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 d17d68b..1626806 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 d4a6fc0..91c6fac 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 474d278..79fe569 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; |