From 07091751ffb7774332fbf4e1bdf103df83a0a554 Mon Sep 17 00:00:00 2001 From: Fernando Nasser Date: Wed, 24 Jan 2001 16:28:20 +0000 Subject: [PATCH] 2001-01-24 Fernando Nasser * 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. --- gdb/ChangeLog | 8 ++++++++ gdb/infcmd.c | 29 ++++++++++++++++++++++------- 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 + + * 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 * 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; -- 2.30.2