]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospf6d: Fix parse_type_spec
authorDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 28 Apr 2017 02:04:56 +0000 (22:04 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 28 Apr 2017 14:55:45 +0000 (10:55 -0400)
The function parse_type_spec was always looking in argv[0] of
for figuring out the type of the command.  Since the type location
could change, use the passed in idx_lsa.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
ospf6d/ospf6d.c

index b067a66e27cf41a0443e112ce4f4a1ec9b2c5a22..aa219c78071f78944089ecce7867c793a0cfcf41 100644 (file)
@@ -147,19 +147,19 @@ parse_type_spec (int idx_lsa, int argc, struct cmd_token **argv)
 
   if (argc > idx_lsa)
     {
-      if (strmatch (argv[0]->text, "router"))
+      if (strmatch (argv[idx_lsa]->text, "router"))
         type = htons (OSPF6_LSTYPE_ROUTER);
-      else if (strmatch (argv[0]->text, "network"))
+      else if (strmatch (argv[idx_lsa]->text, "network"))
         type = htons (OSPF6_LSTYPE_NETWORK);
-      else if (strmatch (argv[0]->text, "as-external"))
+      else if (strmatch (argv[idx_lsa]->text, "as-external"))
         type = htons (OSPF6_LSTYPE_AS_EXTERNAL);
-      else if (strmatch (argv[0]->text, "intra-prefix"))
+      else if (strmatch (argv[idx_lsa]->text, "intra-prefix"))
         type = htons (OSPF6_LSTYPE_INTRA_PREFIX);
-      else if (strmatch (argv[0]->text, "inter-router"))
+      else if (strmatch (argv[idx_lsa]->text, "inter-router"))
         type = htons (OSPF6_LSTYPE_INTER_ROUTER);
-      else if (strmatch (argv[0]->text, "inter-prefix"))
+      else if (strmatch (argv[idx_lsa]->text, "inter-prefix"))
         type = htons (OSPF6_LSTYPE_INTER_PREFIX);
-      else if (strmatch (argv[0]->text, "link"))
+      else if (strmatch (argv[idx_lsa]->text, "link"))
         type = htons (OSPF6_LSTYPE_LINK);
     }