summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando Nasser <fnasser@redhat.com>2001-01-24 16:28:20 +0000
committerFernando Nasser <fnasser@redhat.com>2001-01-24 16:28:20 +0000
commitfe55946e1475a559ac2a7454dc9a3e3cd52fbfad (patch)
tree5c435b10c816356078ec73e6ec6320c6c22d9768
parentf1a9af024fad41aeb4e825d1f3c58c0a8e88d956 (diff)
downloadgdb-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/ChangeLog8
-rw-r--r--gdb/infcmd.c29
-rw-r--r--gdb/inferior.h4
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;