diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-10-22 21:39:09 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-10-22 21:39:09 +0000 |
commit | f1c07ab0ca71fdadc64f2838f87f39784aee5b63 (patch) | |
tree | 669beaa649a52386e7e6431a687d5a74e7d3fbbe /gdb/target.c | |
parent | c9ac89782df8198d0c48219364b15d3af5efa0dd (diff) | |
download | gdb-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.c | 20 |
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 (¤t_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) { |