* target.c (unpush_target): Fix handling of removal of top target.
authorStu Grossman <grossman@cygnus>
Sat, 23 Jul 1994 08:01:09 +0000 (08:01 +0000)
committerStu Grossman <grossman@cygnus>
Sat, 23 Jul 1994 08:01:09 +0000 (08:01 +0000)
gdb/ChangeLog
gdb/target.c

index 1260e51dd6f4c2a739b0b53939a5d5707e5d8a24..1f809c9a918ae8ab559c3d3f34b9dcbe994fcb1c 100644 (file)
@@ -1,3 +1,7 @@
+Sat Jul 23 00:58:15 1994  Stu Grossman  (grossman@cygnus.com)
+
+       * target.c (unpush_target):  Fix handling of removal of top target.
+
 Fri Jul 22 17:30:39 1994  Stu Grossman  (grossman@cygnus.com)
 
        * Makefile.in: Add stuff to build nlmstub.
index f68b9ab6cd95031e0333bffa92f00903a46f463f..10ff09cac12e458228e64a3da9a8439dac365f78 100644 (file)
@@ -443,6 +443,8 @@ unpush_target (t)
 {
   struct target_stack_item *cur, *prev;
 
+  t->to_close (0);             /* Let it clean up */
+
   /* Look for the specified target.  Note that we assume that a target
      can only occur once in the target stack. */
 
@@ -456,13 +458,14 @@ unpush_target (t)
   /* Unchain the target */
 
   if (!prev)
-    target_stack = NULL;
+    target_stack = cur->next;
   else
     prev->next = cur->next;
 
   free (cur);                  /* Release the target_stack_item */
 
-  (t->to_close) (0);           /* Let it clean up */
+  update_current_target ();
+  cleanup_target (&current_target);
 
   return 1;
 }