diff options
-rw-r--r-- | lib/ChangeLog | 6 | ||||
-rw-r--r-- | lib/command.c | 10 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 3af0d0b2..d50b8590 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,9 @@ +2005-01-02 Hasso Tepper <hasso at quagga.net> + + * command.c: Revert int -> unsigned int fixes in + cmd_describe_command_real() and cmd_complete_command_real(). index can + be actually negative and it caused crash with "do<TAB>" in vty. + 2004-12-29 Greg Troxel <gdt@poblano.ir.bbn.com> * sockopt.c (getsockopt_ipv4_ifindex): Document calling diff --git a/lib/command.c b/lib/command.c index 2766c414..b1260af9 100644 --- a/lib/command.c +++ b/lib/command.c @@ -1,5 +1,5 @@ /* - $Id: command.c,v 1.30 2004/12/17 23:16:33 ajs Exp $ + $Id: command.c,v 1.31 2005/01/02 18:51:01 hasso Exp $ Command interpreter routine for virtual terminal [aka TeletYpe] Copyright (C) 1997, 98, 99 Kunihiro Ishiguro @@ -1565,12 +1565,12 @@ cmd_try_do_shortcut (enum node_type node, char* first_word) { static vector cmd_describe_command_real (vector vline, struct vty *vty, int *status) { - unsigned int i; + int i; vector cmd_vector; #define INIT_MATCHVEC_SIZE 10 vector matchvec; struct cmd_element *cmd_element; - unsigned int index; + int index; int ret; enum match_type match; char *command; @@ -1761,12 +1761,12 @@ cmd_lcd (char **matched) static char ** cmd_complete_command_real (vector vline, struct vty *vty, int *status) { - unsigned int i; + 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; - unsigned int index = vector_max (vline) - 1; + int index = vector_max (vline) - 1; char **match_str; struct desc *desc; vector descvec; |