diff options
Diffstat (limited to 'ripngd')
| -rw-r--r-- | ripngd/ripng_main.c | 19 | 
1 files changed, 13 insertions, 6 deletions
diff --git a/ripngd/ripng_main.c b/ripngd/ripng_main.c index aec74bb4..3a7ed4a0 100644 --- a/ripngd/ripng_main.c +++ b/ripngd/ripng_main.c @@ -155,7 +155,7 @@ main (int argc, char **argv)  {    char *p;    char *vty_addr = NULL; -  int vty_port = 0; +  int vty_port = RIPNG_VTY_PORT;    int daemon_mode = 0;    char *config_file = NULL;    char *progname; @@ -197,10 +197,18 @@ main (int argc, char **argv)  	  break;          case 'i':            pid_file = optarg; -          break; +          break;   	case 'P': -	  vty_port = atoi (optarg); -	  break; +          /* Deal with atoi() returning 0 on failure, and ripngd not +             listening on ripngd port... */ +          if (strcmp(optarg, "0") == 0)  +            { +              vty_port = 0; +              break; +            }  +          vty_port = atoi (optarg); +          vty_port = (vty_port ? vty_port : RIPNG_VTY_PORT); +          break;  	case 'r':  	  retain_mode = 1;  	  break; @@ -237,8 +245,7 @@ main (int argc, char **argv)      daemon (0, 0);    /* Create VTY socket */ -  vty_serv_sock (vty_addr, -		 vty_port ? vty_port : RIPNG_VTY_PORT, RIPNG_VTYSH_PATH); +  vty_serv_sock (vty_addr, vty_port, RIPNG_VTYSH_PATH);    /* Process id file create. */    pid_output (pid_file);  | 
