2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

	* vty.h: Remove fields in struct vty that were related to VTY_CONTINUE
	  capabilities (that were used only in bgpd/bgp_route.c and are now
	  removed).  Also remove some other fields that were not being
	  used at all.
	* vty.c: (vty_execute) Do not test for obsolete status values VTY_START
	  and VTY_CONTINUE.
	  (vty_read) Remove calls to vty->output_func since that was part
	  of the VTY_CONTINUE infrastructure that has been removed.
	  (vty_flush) Remove code to support VTY_START and VTY_CONTINUE.
	  (vty_close) Remove code to cancel vty->t_output thread, since that
	  thread was never actually used.
	* bgp_route.c: Remove all code related to VTY_CONTINUE; this feature
	  is deprecated because the output did not represent a single point
	  in time.  All output needs to be generated inline and buffered
	  by the library code.
	  (route_vty_out,route_vty_out_tag,damp_route_vty_out,
	   flap_route_vty_out) Remove code to count number of lines of output,
	   since this was only useful for VTY_CONTINUE behavior.
	  (bgp_show_callback) Removed.
	  (bgp_show_table) Remove hooks for VTY_CONTINUE callback support.
	  As a result, there's a new output_arg argument to this function.
	  Make function static.
	  (bgp_show) Make function static and add a new output_arg argument.
	  Change all functions that call bgp_show or bgp_show_table to
	  pass the new output_arg argument (that used to be passed inside
	  vty->output_arg).
	* bgp_mplsvpn.c: Remove declarations of functions defined in
	  bgp_route.c; these declarations belong in bgp_route.h.
	* bgp_route.h: Declare 3 global functions used in both bgp_route.c
	  and in bgp_mplsvpn.c.
diff --git a/lib/vty.c b/lib/vty.c
index e6bcb61..1ef552f 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -1206,9 +1206,7 @@
   vty->cp = vty->length = 0;
   vty_clear_buf (vty);
 
-  if (vty->status != VTY_CLOSE 
-      && vty->status != VTY_START
-      && vty->status != VTY_CONTINUE)
+  if (vty->status != VTY_CLOSE )
     vty_prompt (vty);
 
   return ret;
@@ -1310,8 +1308,6 @@
 	    case CONTROL('C'):
 	    case 'q':
 	    case 'Q':
-	      if (vty->output_func)
-		(*vty->output_func) (vty, 1);
 	      vty_buffer_reset (vty);
 	      break;
 #if 0 /* More line does not work for "show ip bgp".  */
@@ -1321,8 +1317,6 @@
 	      break;
 #endif
 	    default:
-	      if (vty->output_func)
-		(*vty->output_func) (vty, 0);
 	      break;
 	    }
 	  continue;
@@ -1472,55 +1466,6 @@
       }
 
   /* Function execution continue. */
-  if (vty->status == VTY_START || vty->status == VTY_CONTINUE)
-    {
-      if (vty->status == VTY_CONTINUE)
-	erase = 1;
-      else
-	erase = 0;
-
-      if (vty->output_func == NULL)
-	dont_more = 1;
-      else
-	dont_more = 0;
-
-      if (vty->lines == 0)
-	{
-	  erase = 0;
-	  dont_more = 1;
-	}
-
-      buffer_flush_vty_all (vty->obuf, vty->fd, erase, dont_more);
-
-      if (vty->status == VTY_CLOSE)
-	{
-	  vty_close (vty);
-	  return 0;
-	}
-
-      if (vty->output_func == NULL)
-	{
-	  vty->status = VTY_NORMAL;
-	  vty_prompt (vty);
-	  vty_event (VTY_WRITE, vty_sock, vty);
-	}
-      else
-	vty->status = VTY_MORE;
-
-      if (vty->lines == 0)
-	{
-	  if (vty->output_func == NULL)
-	    vty_event (VTY_READ, vty_sock, vty);
-	  else
-	    {
-	      if (vty->output_func)
-		(*vty->output_func) (vty, 0);
-	      vty_event (VTY_WRITE, vty_sock, vty);
-	    }
-	}
-    }
-  else
-    {
       if (vty->status == VTY_MORE || vty->status == VTY_MORELINE)
 	erase = 1;
       else
@@ -1554,7 +1499,6 @@
 	  if (vty->lines == 0)
 	    vty_event (VTY_WRITE, vty_sock, vty);
 	}
-    }
 
   return 0;
 }
@@ -2075,8 +2019,6 @@
     thread_cancel (vty->t_write);
   if (vty->t_timeout)
     thread_cancel (vty->t_timeout);
-  if (vty->t_output)
-    thread_cancel (vty->t_output);
 
   /* Flush buffer. */
   if (! buffer_empty (vty->obuf))