Diff for /embedaddon/quagga/lib/command.c between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2012/10/09 09:22:28 version 1.1.1.3, 2013/07/21 23:54:39
Line 84  static const char *default_motd = Line 84  static const char *default_motd =
 "\r\n\  "\r\n\
 Hello, this is " QUAGGA_PROGNAME " (version " QUAGGA_VERSION ").\r\n\  Hello, this is " QUAGGA_PROGNAME " (version " QUAGGA_VERSION ").\r\n\
 " QUAGGA_COPYRIGHT "\r\n\  " QUAGGA_COPYRIGHT "\r\n\
\r\n";" GIT_INFO "\r\n";
   
   
 static const struct facility_map {  static const struct facility_map {
Line 868  cmd_ipv6_match (const char *str) Line 868  cmd_ipv6_match (const char *str)
   if (ret == 1)    if (ret == 1)
     return exact_match;      return exact_match;
   
  while (*str != '\0')  return no_match;
    { 
      switch (state) 
        { 
        case STATE_START: 
          if (*str == ':') 
            { 
              if (*(str + 1) != ':' && *(str + 1) != '\0') 
                return no_match; 
              colons--; 
              state = STATE_COLON; 
            } 
          else 
            { 
              sp = str; 
              state = STATE_ADDR; 
            } 
 
          continue; 
        case STATE_COLON: 
          colons++; 
          if (*(str + 1) == ':') 
            state = STATE_DOUBLE; 
          else 
            { 
              sp = str + 1; 
              state = STATE_ADDR; 
            } 
          break; 
        case STATE_DOUBLE: 
          if (double_colon) 
            return no_match; 
 
          if (*(str + 1) == ':') 
            return no_match; 
          else 
            { 
              if (*(str + 1) != '\0') 
                colons++; 
              sp = str + 1; 
              state = STATE_ADDR; 
            } 
 
          double_colon++; 
          nums++; 
          break; 
        case STATE_ADDR: 
          if (*(str + 1) == ':' || *(str + 1) == '\0') 
            { 
              if (str - sp > 3) 
                return no_match; 
 
              nums++; 
              state = STATE_COLON; 
            } 
          if (*(str + 1) == '.') 
            state = STATE_DOT; 
          break; 
        case STATE_DOT: 
          state = STATE_ADDR; 
          break; 
        default: 
          break; 
        } 
 
      if (nums > 8) 
        return no_match; 
 
      if (colons > 7) 
        return no_match; 
 
      str++; 
    } 
 
#if 0 
  if (nums < 11) 
    return partly_match; 
#endif /* 0 */ 
 
  return exact_match; 
 }  }
   
 static enum match_type  static enum match_type
Line 1033  cmd_ipv6_prefix_match (const char *str) Line 954  cmd_ipv6_prefix_match (const char *str)
               if (*(str + 1) == ':')                if (*(str + 1) == ':')
                 state = STATE_COLON;                  state = STATE_COLON;
               else if (*(str + 1) == '.')                else if (*(str + 1) == '.')
                state = STATE_DOT;                {
                   if (colons || double_colon)
                     state = STATE_DOT;
                   else
                     return no_match;
                 }
               else if (*(str + 1) == '/')                else if (*(str + 1) == '/')
                 state = STATE_SLASH;                  state = STATE_SLASH;
             }              }
Line 2483  DEFUN (show_version, Line 2409  DEFUN (show_version,
 {  {
   vty_out (vty, "Quagga %s (%s).%s", QUAGGA_VERSION, host.name?host.name:"",    vty_out (vty, "Quagga %s (%s).%s", QUAGGA_VERSION, host.name?host.name:"",
            VTY_NEWLINE);             VTY_NEWLINE);
  vty_out (vty, "%s%s", QUAGGA_COPYRIGHT, VTY_NEWLINE);  vty_out (vty, "%s%s%s", QUAGGA_COPYRIGHT, GIT_INFO, VTY_NEWLINE);
   
   return CMD_SUCCESS;    return CMD_SUCCESS;
 }  }

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>