]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Show `delete` sub-option for `set [l]comm-list <list> delete`
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Wed, 26 Jun 2019 12:06:10 +0000 (15:06 +0300)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Wed, 10 Jul 2019 14:23:30 +0000 (17:23 +0300)
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_routemap.c

index 30159f9023d67992c886b5ff1d038635988ea7a7..c7008d7902437d7cb97f28556f41fd470b8d56b3 100644 (file)
@@ -4219,17 +4219,14 @@ DEFUN (set_community_delete,
        "Delete matching communities\n")
 {
        int idx_comm_list = 2;
-       char *str;
-
-       str = XCALLOC(MTYPE_TMP,
-                     strlen(argv[idx_comm_list]->arg) + strlen(" delete") + 1);
-       strcpy(str, argv[idx_comm_list]->arg);
-       strcpy(str + strlen(argv[idx_comm_list]->arg), " delete");
+       char *args;
 
+       args = argv_concat(argv, argc, idx_comm_list);
        generic_set_add(vty, VTY_GET_CONTEXT(route_map_index), "comm-list",
-                       str);
+                       args);
+
+       XFREE(MTYPE_TMP, args);
 
-       XFREE(MTYPE_TMP, str);
        return CMD_SUCCESS;
 }
 
@@ -4318,16 +4315,14 @@ DEFUN (set_lcommunity_delete,
        "Large Community-list name\n"
        "Delete matching large communities\n")
 {
-       char *str;
-
-       str = XCALLOC(MTYPE_TMP, strlen(argv[2]->arg) + strlen(" delete") + 1);
-       strcpy(str, argv[2]->arg);
-       strcpy(str + strlen(argv[2]->arg), " delete");
+       int idx_lcomm_list = 2;
+       char *args;
 
+       args = argv_concat(argv, argc, idx_lcomm_list);
        generic_set_add(vty, VTY_GET_CONTEXT(route_map_index),
-                       "large-comm-list", str);
+                       "large-comm-list", args);
 
-       XFREE(MTYPE_TMP, str);
+       XFREE(MTYPE_TMP, args);
        return CMD_SUCCESS;
 }