Matthew Grant <grantma@anathoth.gen.nz>
[zebra 17290] [PATCHES] - Fixes for problems in 0.93b

portfix patch
diff --git a/ripngd/ripng_main.c b/ripngd/ripng_main.c
index aec74bb..3a7ed4a 100644
--- a/ripngd/ripng_main.c
+++ b/ripngd/ripng_main.c
@@ -155,7 +155,7 @@
 {
   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 @@
 	  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 @@
     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);