2005-03-08 Paul Jakma <paul.jakma@sun.com>

	* command.c: (cmd_describe_command_real) sign compile warning fix
	  (cmd_complete_command_real) ditto.
	  (config_list_cmd) Don't list hidden or deprecated commands,
	  hiding these from tab completion is still to be done.
	* command.h: cmd attr enum should start at 1.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index ca5d4c3..03ca581 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,6 +1,11 @@
 2005-03-08 Paul Jakma <paul.jakma@sun.com>
 
-	* command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE
+	* command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
+	  (cmd_describe_command_real) sign compile warning fix
+	  (cmd_complete_command_real) ditto.
+	  (config_list_cmd) Don't list hidden or deprecated commands,
+	  hiding these from tab completion is still to be done.
+	* command.h: cmd attr enum should start at 1.
 	* vty.c: (vty_hello) suggestions from Andrew, read by line and
 	  stub out trailling non-printable characters on each line thus
 	  allowing us to specify VTY_NEWLINE to vty_out.
diff --git a/lib/command.c b/lib/command.c
index 7656f68..d83ebe1 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -1,5 +1,5 @@
 /*
-   $Id: command.c,v 1.39 2005/03/08 15:16:57 paul Exp $
+   $Id: command.c,v 1.40 2005/03/08 15:56:42 paul Exp $
 
    Command interpreter routine for virtual terminal [aka TeletYpe]
    Copyright (C) 1997, 98, 99 Kunihiro Ishiguro
@@ -1561,12 +1561,12 @@
 static vector
 cmd_describe_command_real (vector vline, struct vty *vty, int *status)
 {
-  int i;
+  unsigned int i;
   vector cmd_vector;
 #define INIT_MATCHVEC_SIZE 10
   vector matchvec;
   struct cmd_element *cmd_element;
-  int index;
+  unsigned int index;
   int ret;
   enum match_type match;
   char *command;
@@ -1757,12 +1757,12 @@
 static char **
 cmd_complete_command_real (vector vline, struct vty *vty, int *status)
 {
-  int i;
+  unsigned int i;
   vector cmd_vector = vector_copy (cmd_node_vector (cmdvec, vty->node));
 #define INIT_MATCHVEC_SIZE 10
   vector matchvec;
   struct cmd_element *cmd_element;
-  int index = vector_max (vline) - 1;
+  unsigned int index = vector_max (vline) - 1;
   char **match_str;
   struct desc *desc;
   vector descvec;
@@ -2483,7 +2483,9 @@
   struct cmd_element *cmd;
 
   for (i = 0; i < vector_max (cnode->cmd_vector); i++)
-    if ((cmd = vector_slot (cnode->cmd_vector, i)) != NULL)
+    if ((cmd = vector_slot (cnode->cmd_vector, i)) != NULL
+        && !(cmd->attr == CMD_ATTR_DEPRECATED 
+             || cmd->attr == CMD_ATTR_HIDDEN))
       vty_out (vty, "  %s%s", cmd->string,
 	       VTY_NEWLINE);
   return CMD_SUCCESS;
diff --git a/lib/command.h b/lib/command.h
index 1480833..6fd42fa 100644
--- a/lib/command.h
+++ b/lib/command.h
@@ -122,7 +122,7 @@
 
 enum
 {
-  CMD_ATTR_DEPRECATED,
+  CMD_ATTR_DEPRECATED = 1,
   CMD_ATTR_HIDDEN,
 };