aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-10-22 21:39:09 +0000
committerAndrew Cagney <cagney@redhat.com>2003-10-22 21:39:09 +0000
commitf1c07ab0ca71fdadc64f2838f87f39784aee5b63 (patch)
tree669beaa649a52386e7e6431a687d5a74e7d3fbbe /gdb/target.c
parentc9ac89782df8198d0c48219364b15d3af5efa0dd (diff)
downloadgdb-f1c07ab0ca71fdadc64f2838f87f39784aee5b63.zip
gdb-f1c07ab0ca71fdadc64f2838f87f39784aee5b63.tar.gz
gdb-f1c07ab0ca71fdadc64f2838f87f39784aee5b63.tar.bz2
2003-10-22 Andrew Cagney <cagney@redhat.com>
* target.c (target_close): New function. (debug_to_close): Use "target_close". (push_target): Use "target_close". (unpush_target): Use "target_close". (pop_target): Use "target_close". * target.h (struct target_ops): Add "to_xclose". (target_open): Delete macro. Move comment to "to_open". (target_close): Replace macro with function that takes a target. * top.c (quit_target): Pass "current_target" to "target_close".
Diffstat (limited to 'gdb/target.c')
-rw-r--r--gdb/target.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/gdb/target.c b/gdb/target.c
index b7d398b..2677fb3 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -672,8 +672,7 @@ push_target (struct target_ops *t)
struct target_ops *tmp = (*cur);
(*cur) = (*cur)->beneath;
tmp->beneath = NULL;
- if (tmp->to_close)
- (tmp->to_close) (0);
+ target_close (tmp, 0);
}
/* We have removed all targets in our stratum, now add the new one. */
@@ -698,8 +697,7 @@ unpush_target (struct target_ops *t)
struct target_ops **cur;
struct target_ops *tmp;
- if (t->to_close)
- t->to_close (0); /* Let it clean up */
+ target_close (t, 0);
/* Look for the specified target. Note that we assume that a target
can only occur once in the target stack. */
@@ -726,7 +724,7 @@ unpush_target (struct target_ops *t)
void
pop_target (void)
{
- (current_target.to_close) (0); /* Let it clean up */
+ target_close (&current_target, 0); /* Let it clean up */
if (unpush_target (target_stack) == 1)
return;
@@ -1600,11 +1598,19 @@ debug_to_open (char *args, int from_tty)
static void
debug_to_close (int quitting)
{
- debug_target.to_close (quitting);
-
+ target_close (&debug_target, quitting);
fprintf_unfiltered (gdb_stdlog, "target_close (%d)\n", quitting);
}
+void
+target_close (struct target_ops *targ, int quitting)
+{
+ if (targ->to_xclose != NULL)
+ targ->to_xclose (targ, quitting);
+ else if (targ->to_close != NULL)
+ targ->to_close (quitting);
+}
+
static void
debug_to_attach (char *args, int from_tty)
{