diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c index d3081887c4..e3aa9305d5 100644 --- a/bgpd/bgp_mplsvpn.c +++ b/bgpd/bgp_mplsvpn.c @@ -760,12 +760,12 @@ DEFUN (show_ip_bgp_vpnv4_all_neighbor_routes, union sockunion su; struct peer *peer; int ret; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); ret = str2sockunion (argv[0], &su); if (ret < 0) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -781,7 +781,7 @@ DEFUN (show_ip_bgp_vpnv4_all_neighbor_routes, peer = peer_lookup (NULL, &su); if (! peer || ! peer->afc[AFI_IP][SAFI_MPLS_VPN]) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -794,7 +794,7 @@ DEFUN (show_ip_bgp_vpnv4_all_neighbor_routes, return CMD_WARNING; } - return bgp_show_mpls_vpn (vty, NULL, bgp_show_type_neighbor, &su, 0, use_json); + return bgp_show_mpls_vpn (vty, NULL, bgp_show_type_neighbor, &su, 0, uj); } DEFUN (show_ip_bgp_vpnv4_rd_neighbor_routes, @@ -815,12 +815,12 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_routes, union sockunion su; struct peer *peer; struct prefix_rd prd; - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); ret = str2prefix_rd (argv[0], &prd); if (! ret) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -836,7 +836,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_routes, ret = str2sockunion (argv[1], &su); if (ret < 0) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -852,7 +852,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_routes, peer = peer_lookup (NULL, &su); if (! peer || ! peer->afc[AFI_IP][SAFI_MPLS_VPN]) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -865,7 +865,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_routes, return CMD_WARNING; } - return bgp_show_mpls_vpn (vty, &prd, bgp_show_type_neighbor, &su, 0, use_json); + return bgp_show_mpls_vpn (vty, &prd, bgp_show_type_neighbor, &su, 0, uj); } DEFUN (show_ip_bgp_vpnv4_all_neighbor_advertised_routes, @@ -884,12 +884,12 @@ DEFUN (show_ip_bgp_vpnv4_all_neighbor_advertised_routes, int ret; struct peer *peer; union sockunion su; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); ret = str2sockunion (argv[0], &su); if (ret < 0) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -904,7 +904,7 @@ DEFUN (show_ip_bgp_vpnv4_all_neighbor_advertised_routes, peer = peer_lookup (NULL, &su); if (! peer || ! peer->afc[AFI_IP][SAFI_MPLS_VPN]) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -917,7 +917,7 @@ DEFUN (show_ip_bgp_vpnv4_all_neighbor_advertised_routes, return CMD_WARNING; } - return show_adj_route_vpn (vty, peer, NULL, use_json); + return show_adj_route_vpn (vty, peer, NULL, uj); } DEFUN (show_ip_bgp_vpnv4_rd_neighbor_advertised_routes, @@ -938,12 +938,12 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_advertised_routes, struct peer *peer; struct prefix_rd prd; union sockunion su; - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); ret = str2sockunion (argv[1], &su); if (ret < 0) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -958,7 +958,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_advertised_routes, peer = peer_lookup (NULL, &su); if (! peer || ! peer->afc[AFI_IP][SAFI_MPLS_VPN]) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -974,7 +974,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_advertised_routes, ret = str2prefix_rd (argv[0], &prd); if (! ret) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -987,7 +987,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_neighbor_advertised_routes, return CMD_WARNING; } - return show_adj_route_vpn (vty, peer, &prd, use_json); + return show_adj_route_vpn (vty, peer, &prd, uj); } void diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 02b629e2e5..594794da2e 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -7483,8 +7483,7 @@ DEFUN (show_ip_bgp, BGP_STR "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); - return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json); + return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json(argc, argv)); } DEFUN (show_ip_bgp_ipv4, @@ -7498,13 +7497,13 @@ DEFUN (show_ip_bgp_ipv4, "Address Family modifier\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) return bgp_show (vty, NULL, AFI_IP, SAFI_MULTICAST, bgp_show_type_normal, - NULL, use_json); + NULL, uj); - return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json); + return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, bgp_show_type_normal, NULL, uj); } ALIAS (show_ip_bgp_ipv4, @@ -7526,8 +7525,7 @@ DEFUN (show_ip_bgp_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv)); } DEFUN (show_ip_bgp_route_pathtype, @@ -7541,12 +7539,12 @@ DEFUN (show_ip_bgp_route_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[1], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj); } DEFUN (show_bgp_ipv4_safi_route_pathtype, @@ -7562,18 +7560,18 @@ DEFUN (show_bgp_ipv4_safi_route_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[3] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, uj); else if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj); } DEFUN (show_ip_bgp_ipv4_route, @@ -7588,12 +7586,12 @@ DEFUN (show_ip_bgp_ipv4_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, uj); - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, uj); } ALIAS (show_ip_bgp_ipv4_route, @@ -7618,8 +7616,7 @@ DEFUN (show_ip_bgp_vpnv4_all_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_ALL, use_json(argc, argv)); } @@ -7637,7 +7634,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_route, { int ret; struct prefix_rd prd; - u_char use_json = (argv[2] != NULL); + u_char uj= use_json(argc, argv); ret = str2prefix_rd (argv[0], &prd); if (! ret) @@ -7645,7 +7642,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_route, vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE); return CMD_WARNING; } - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, uj); } DEFUN (show_ip_bgp_prefix, @@ -7657,8 +7654,7 @@ DEFUN (show_ip_bgp_prefix, "IP prefix /, e.g., 35.0.0.0/8\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv)); } DEFUN (show_ip_bgp_prefix_pathtype, @@ -7672,11 +7668,11 @@ DEFUN (show_ip_bgp_prefix_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[1], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj); } DEFUN (show_ip_bgp_ipv4_prefix, @@ -7691,12 +7687,12 @@ DEFUN (show_ip_bgp_ipv4_prefix, "IP prefix /, e.g., 35.0.0.0/8\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, uj); - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, uj); } ALIAS (show_ip_bgp_ipv4_prefix, @@ -7724,18 +7720,18 @@ DEFUN (show_ip_bgp_ipv4_prefix_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[3] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, uj); else if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj); } ALIAS (show_ip_bgp_ipv4_prefix_pathtype, @@ -7762,8 +7758,7 @@ DEFUN (show_ip_bgp_vpnv4_all_prefix, "IP prefix /, e.g., 35.0.0.0/8\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 1, BGP_PATH_ALL, use_json(argc, argv)); } DEFUN (show_ip_bgp_vpnv4_rd_prefix, @@ -7780,7 +7775,6 @@ DEFUN (show_ip_bgp_vpnv4_rd_prefix, { int ret; struct prefix_rd prd; - u_char use_json = (argv[2] != NULL); ret = str2prefix_rd (argv[0], &prd); if (! ret) @@ -7788,7 +7782,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_prefix, vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE); return CMD_WARNING; } - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 0, BGP_PATH_ALL, use_json(argc, argv)); } DEFUN (show_ip_bgp_view, @@ -7802,7 +7796,6 @@ DEFUN (show_ip_bgp_view, "JavaScript Object Notation\n") { struct bgp *bgp; - u_char use_json = (argv[1] != NULL); /* BGP structure lookup. */ bgp = bgp_lookup_by_name (argv[0]); @@ -7812,7 +7805,7 @@ DEFUN (show_ip_bgp_view, return CMD_WARNING; } - return bgp_show (vty, bgp, AFI_IP, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json); + return bgp_show (vty, bgp, AFI_IP, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json(argc, argv)); } DEFUN (show_ip_bgp_view_route, @@ -7826,8 +7819,7 @@ DEFUN (show_ip_bgp_view_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); - return bgp_show_route (vty, argv[0], argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, argv[0], argv[1], AFI_IP, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv)); } DEFUN (show_ip_bgp_view_prefix, @@ -7841,8 +7833,7 @@ DEFUN (show_ip_bgp_view_prefix, "IP prefix /, e.g., 35.0.0.0/8\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); - return bgp_show_route (vty, argv[0], argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, argv[0], argv[1], AFI_IP, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv)); } #ifdef HAVE_IPV6 @@ -7853,9 +7844,8 @@ DEFUN (show_bgp, BGP_STR "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, - NULL, use_json); + NULL, use_json(argc, argv)); } ALIAS (show_bgp, @@ -7876,12 +7866,12 @@ DEFUN (show_bgp_ipv6_safi, "Address Family modifier\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) return bgp_show (vty, NULL, AFI_IP6, SAFI_MULTICAST, bgp_show_type_normal, - NULL, use_json); + NULL, uj); - return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json); + return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, NULL, uj); } static void @@ -7901,10 +7891,9 @@ DEFUN (show_ipv6_bgp, BGP_STR "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); bgp_show_ipv6_bgp_deprecate_warning(vty); return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, - NULL, use_json); + NULL, use_json(argc, argv)); } DEFUN (show_bgp_route, @@ -7915,8 +7904,7 @@ DEFUN (show_bgp_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv)); } ALIAS (show_bgp_route, @@ -7939,11 +7927,11 @@ DEFUN (show_bgp_ipv6_safi_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, uj); - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, uj); } DEFUN (show_bgp_route_pathtype, @@ -7956,11 +7944,11 @@ DEFUN (show_bgp_route_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[1], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj); } ALIAS (show_bgp_route_pathtype, @@ -7987,17 +7975,17 @@ DEFUN (show_bgp_ipv6_safi_route_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[3] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_MULTIPATH, uj); else if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_MULTIPATH, uj); } /* old command */ @@ -8010,9 +7998,8 @@ DEFUN (show_ipv6_bgp_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); bgp_show_ipv6_bgp_deprecate_warning(vty); - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv)); } DEFUN (show_bgp_prefix, @@ -8023,8 +8010,7 @@ DEFUN (show_bgp_prefix, "IPv6 prefix /\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv)); } ALIAS (show_bgp_prefix, @@ -8047,11 +8033,11 @@ DEFUN (show_bgp_ipv6_safi_prefix, "IPv6 prefix /, e.g., 3ffe::/16\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, uj); - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, uj); } DEFUN (show_bgp_prefix_pathtype, @@ -8064,11 +8050,11 @@ DEFUN (show_bgp_prefix_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[1], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj); } ALIAS (show_bgp_prefix_pathtype, @@ -8095,17 +8081,17 @@ DEFUN (show_bgp_ipv6_safi_prefix_pathtype, "Display only multipaths\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[3] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_MULTIPATH, uj); else if (strncmp (argv[2], "b", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_BESTPATH, uj); else - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, use_json); + return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_MULTIPATH, uj); } /* old command */ @@ -8118,9 +8104,8 @@ DEFUN (show_ipv6_bgp_prefix, "IPv6 prefix /, e.g., 3ffe::/16\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); bgp_show_ipv6_bgp_deprecate_warning(vty); - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv)); } DEFUN (show_bgp_view, @@ -8133,17 +8118,16 @@ DEFUN (show_bgp_view, "JavaScript Object Notation\n") { struct bgp *bgp; - u_char use_json = (argv[1] != NULL); /* BGP structure lookup. */ bgp = bgp_lookup_by_name (argv[0]); if (bgp == NULL) - { - vty_out (vty, "Can't find BGP view %s%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; - } - - return bgp_show (vty, bgp, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json); + { + vty_out (vty, "Can't find BGP view %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return bgp_show (vty, bgp, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, NULL, use_json(argc, argv)); } ALIAS (show_bgp_view, @@ -8166,8 +8150,7 @@ DEFUN (show_bgp_view_route, "Network in the BGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); - return bgp_show_route (vty, argv[0], argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, argv[0], argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv)); } ALIAS (show_bgp_view_route, @@ -8191,8 +8174,7 @@ DEFUN (show_bgp_view_prefix, "IPv6 prefix /\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); - return bgp_show_route (vty, argv[0], argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, argv[0], argv[1], AFI_IP6, SAFI_UNICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv)); } ALIAS (show_bgp_view_prefix, @@ -8215,10 +8197,9 @@ DEFUN (show_ipv6_mbgp, MBGP_STR "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); bgp_show_ipv6_bgp_deprecate_warning(vty); return bgp_show (vty, NULL, AFI_IP6, SAFI_MULTICAST, bgp_show_type_normal, - NULL, use_json); + NULL, use_json(argc, argv)); } /* old command */ @@ -8231,9 +8212,8 @@ DEFUN (show_ipv6_mbgp_route, "Network in the MBGP routing table to display\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); bgp_show_ipv6_bgp_deprecate_warning(vty); - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST, NULL, 0, BGP_PATH_ALL, use_json(argc, argv)); } /* old command */ @@ -8246,9 +8226,8 @@ DEFUN (show_ipv6_mbgp_prefix, "IPv6 prefix /, e.g., 3ffe::/16\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); bgp_show_ipv6_bgp_deprecate_warning(vty); - return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, use_json); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_MULTICAST, NULL, 1, BGP_PATH_ALL, use_json(argc, argv)); } #endif @@ -11020,18 +10999,13 @@ DEFUN (show_ip_bgp_neighbor_prefix_counts, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST, use_json); + return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST, uj); } DEFUN (show_bgp_ipv6_neighbor_prefix_counts, @@ -11048,18 +11022,13 @@ DEFUN (show_bgp_ipv6_neighbor_prefix_counts, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; - return bgp_peer_counts (vty, peer, AFI_IP6, SAFI_UNICAST, use_json); + return bgp_peer_counts (vty, peer, AFI_IP6, SAFI_UNICAST, uj); } DEFUN (show_ip_bgp_ipv4_neighbor_prefix_counts, @@ -11079,21 +11048,16 @@ DEFUN (show_ip_bgp_ipv4_neighbor_prefix_counts, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[1], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[1], uj); if (! peer) return CMD_WARNING; if (strncmp (argv[0], "m", 1) == 0) - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_MULTICAST, use_json); + return bgp_peer_counts (vty, peer, AFI_IP, SAFI_MULTICAST, uj); - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST, use_json); + return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST, uj); } DEFUN (show_ip_bgp_vpnv4_neighbor_prefix_counts, @@ -11113,18 +11077,13 @@ DEFUN (show_ip_bgp_vpnv4_neighbor_prefix_counts, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_MPLS_VPN, use_json); + return bgp_peer_counts (vty, peer, AFI_IP, SAFI_MPLS_VPN, uj); } static void @@ -11382,23 +11341,17 @@ DEFUN (show_ip_bgp_view_neighbor_advertised_route, "JavaScript Object Notation\n") { struct peer *peer; - - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, NULL, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, NULL, uj); } DEFUN (show_ip_bgp_neighbor_advertised_route, @@ -11417,14 +11370,9 @@ DEFUN (show_ip_bgp_neighbor_advertised_route, { struct peer *peer; const char *rmap_name = NULL; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; @@ -11433,7 +11381,7 @@ DEFUN (show_ip_bgp_neighbor_advertised_route, || (argc == 3)) rmap_name = argv[1]; - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, rmap_name, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, rmap_name, uj); } ALIAS (show_ip_bgp_neighbor_advertised_route, @@ -11467,14 +11415,9 @@ DEFUN (show_ip_bgp_ipv4_neighbor_advertised_route, { struct peer *peer; const char *rmap_name = NULL; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[1], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[1], uj); if (! peer) return CMD_WARNING; @@ -11482,9 +11425,9 @@ DEFUN (show_ip_bgp_ipv4_neighbor_advertised_route, rmap_name = argv[2]; if (strncmp (argv[0], "m", 1) == 0) - return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 0, rmap_name, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 0, rmap_name, uj); else - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, rmap_name, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0, rmap_name, uj); } ALIAS (show_ip_bgp_ipv4_neighbor_advertised_route, @@ -11520,22 +11463,17 @@ DEFUN (show_bgp_view_neighbor_advertised_route, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; - return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 0, NULL, use_json); + return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 0, NULL, uj); } ALIAS (show_bgp_view_neighbor_advertised_route, @@ -11568,14 +11506,9 @@ DEFUN (show_bgp_neighbor_advertised_route, { struct peer *peer; const char *rmap_name = NULL; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (!peer) return CMD_WARNING; @@ -11583,7 +11516,7 @@ DEFUN (show_bgp_neighbor_advertised_route, if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) rmap_name = argv[1]; - return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 0, rmap_name, use_json); + return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 0, rmap_name, uj); } ALIAS (show_bgp_neighbor_advertised_route, @@ -11629,19 +11562,14 @@ DEFUN (ipv6_mbgp_neighbor_advertised_route, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; bgp_show_ipv6_bgp_deprecate_warning(vty); - return peer_adj_routes (vty, peer, AFI_IP6, SAFI_MULTICAST, 0, NULL, use_json); + return peer_adj_routes (vty, peer, AFI_IP6, SAFI_MULTICAST, 0, NULL, uj); } #endif /* HAVE_IPV6 */ @@ -11660,32 +11588,27 @@ DEFUN (show_bgp_view_neighbor_received_routes, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - if (use_json) + if (uj) { if (argc == 3) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); } else { if (argc == 2) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); } if (! peer) return CMD_WARNING; - return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 1, NULL, use_json); + return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 1, NULL, uj); } DEFUN (show_ip_bgp_view_neighbor_received_routes, @@ -11704,22 +11627,17 @@ DEFUN (show_ip_bgp_view_neighbor_received_routes, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, NULL, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, NULL, uj); } ALIAS (show_bgp_view_neighbor_received_routes, @@ -11753,14 +11671,9 @@ DEFUN (show_ip_bgp_neighbor_received_routes, { struct peer *peer; const char *rmap_name = NULL; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; @@ -11768,7 +11681,7 @@ DEFUN (show_ip_bgp_neighbor_received_routes, if (argc == 3 || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) rmap_name = argv[1]; - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, rmap_name, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, rmap_name, uj); } ALIAS (show_ip_bgp_neighbor_received_routes, @@ -11802,14 +11715,9 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_routes, { struct peer *peer; const char *rmap_name = NULL; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[1], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[1], uj); if (! peer) return CMD_WARNING; @@ -11817,9 +11725,9 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_routes, rmap_name = argv[2]; if (strncmp (argv[0], "m", 1) == 0) - return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 1, rmap_name, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 1, rmap_name, uj); else - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, rmap_name, use_json); + return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1, rmap_name, uj); } ALIAS (show_ip_bgp_ipv4_neighbor_received_routes, @@ -11867,33 +11775,18 @@ DEFUN (show_bgp_view_afi_safi_neighbor_adv_recd_routes, int safi; int in; struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - -#ifdef HAVE_IPV6 - peer = peer_lookup_in_view (vty, argv[0], argv[3], use_json); -#else - peer = peer_lookup_in_view (vty, argv[0], argv[2], use_json); -#endif + peer = peer_lookup_in_view (vty, argv[0], argv[3], uj); if (! peer) return CMD_WARNING; -#ifdef HAVE_IPV6 afi = (strncmp (argv[1], "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP; safi = (strncmp (argv[2], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST; in = (strncmp (argv[4], "r", 1) == 0) ? 1 : 0; -#else - afi = AFI_IP; - safi = (strncmp (argv[1], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST; - in = (strncmp (argv[3], "r", 1) == 0) ? 1 : 0; -#endif - return peer_adj_routes (vty, peer, afi, safi, in, NULL, use_json); + return peer_adj_routes (vty, peer, afi, safi, in, NULL, uj); } DEFUN (show_ip_bgp_neighbor_received_prefix_filter, @@ -11914,12 +11807,7 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter, union sockunion su; struct peer *peer; int count, ret; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); ret = str2sockunion (argv[0], &su); if (ret < 0) @@ -11927,7 +11815,7 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter, peer = peer_lookup_by_conf_if (NULL, argv[0]); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_object *json_sub = NULL; @@ -11949,7 +11837,7 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter, peer = peer_lookup (NULL, &su); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -11964,16 +11852,16 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter, } sprintf (name, "%s.%d.%d", peer->host, AFI_IP, SAFI_UNICAST); - count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name, use_json); + count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name, uj); if (count) { - if (!use_json) + if (!uj) vty_out (vty, "Address family: IPv4 Unicast%s", VTY_NEWLINE); - prefix_bgp_show_prefix_list (vty, AFI_IP, name, use_json); + prefix_bgp_show_prefix_list (vty, AFI_IP, name, uj); } else { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12009,12 +11897,7 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, union sockunion su; struct peer *peer; int count, ret; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); ret = str2sockunion (argv[1], &su); if (ret < 0) @@ -12022,7 +11905,7 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, peer = peer_lookup_by_conf_if (NULL, argv[1]); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_object *json_sub = NULL; @@ -12044,7 +11927,7 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, peer = peer_lookup (NULL, &su); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12061,16 +11944,16 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, if (strncmp (argv[0], "m", 1) == 0) { sprintf (name, "%s.%d.%d", peer->host, AFI_IP, SAFI_MULTICAST); - count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name, use_json); + count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name, uj); if (count) { - if (!use_json) + if (!uj) vty_out (vty, "Address family: IPv4 Multicast%s", VTY_NEWLINE); - prefix_bgp_show_prefix_list (vty, AFI_IP, name, use_json); + prefix_bgp_show_prefix_list (vty, AFI_IP, name, uj); } else { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12085,16 +11968,16 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, else { sprintf (name, "%s.%d.%d", peer->host, AFI_IP, SAFI_UNICAST); - count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name, use_json); + count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name, uj); if (count) { - if (!use_json) + if (!uj) vty_out (vty, "Address family: IPv4 Unicast%s", VTY_NEWLINE); - prefix_bgp_show_prefix_list (vty, AFI_IP, name, use_json); + prefix_bgp_show_prefix_list (vty, AFI_IP, name, uj); } else { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12152,12 +12035,7 @@ DEFUN (show_bgp_neighbor_received_prefix_filter, union sockunion su; struct peer *peer; int count, ret; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); ret = str2sockunion (argv[0], &su); if (ret < 0) @@ -12165,7 +12043,7 @@ DEFUN (show_bgp_neighbor_received_prefix_filter, peer = peer_lookup_by_conf_if (NULL, argv[0]); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_object *json_sub = NULL; @@ -12187,7 +12065,7 @@ DEFUN (show_bgp_neighbor_received_prefix_filter, peer = peer_lookup (NULL, &su); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12202,16 +12080,16 @@ DEFUN (show_bgp_neighbor_received_prefix_filter, } sprintf (name, "%s.%d.%d", peer->host, AFI_IP6, SAFI_UNICAST); - count = prefix_bgp_show_prefix_list (NULL, AFI_IP6, name, use_json); + count = prefix_bgp_show_prefix_list (NULL, AFI_IP6, name, uj); if (count) { - if (!use_json) + if (!uj) vty_out (vty, "Address family: IPv6 Unicast%s", VTY_NEWLINE); - prefix_bgp_show_prefix_list (vty, AFI_IP6, name, use_json); + prefix_bgp_show_prefix_list (vty, AFI_IP6, name, uj); } else { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12269,19 +12147,14 @@ DEFUN (ipv6_mbgp_neighbor_received_routes, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; bgp_show_ipv6_bgp_deprecate_warning(vty); - return peer_adj_routes (vty, peer, AFI_IP6, SAFI_MULTICAST, 1, NULL,use_json); + return peer_adj_routes (vty, peer, AFI_IP6, SAFI_MULTICAST, 1, NULL, uj); } DEFUN (show_bgp_view_neighbor_received_prefix_filter, @@ -12304,18 +12177,13 @@ DEFUN (show_bgp_view_neighbor_received_prefix_filter, struct peer *peer; struct bgp *bgp; int count, ret; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); /* BGP structure lookup. */ bgp = bgp_lookup_by_name (argv[0]); if (bgp == NULL) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12334,7 +12202,7 @@ DEFUN (show_bgp_view_neighbor_received_prefix_filter, peer = peer_lookup_by_conf_if (bgp, argv[1]); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_object *json_sub = NULL; @@ -12356,7 +12224,7 @@ DEFUN (show_bgp_view_neighbor_received_prefix_filter, peer = peer_lookup (bgp, &su); if (! peer) { - if (use_json) + if (uj) { json_object *json_no = NULL; json_no = json_object_new_object(); @@ -12372,12 +12240,12 @@ DEFUN (show_bgp_view_neighbor_received_prefix_filter, } sprintf (name, "%s.%d.%d", peer->host, AFI_IP6, SAFI_UNICAST); - count = prefix_bgp_show_prefix_list (NULL, AFI_IP6, name, use_json); + count = prefix_bgp_show_prefix_list (NULL, AFI_IP6, name, uj); if (count) { - if (!use_json) + if (!uj) vty_out (vty, "Address family: IPv6 Unicast%s", VTY_NEWLINE); - prefix_bgp_show_prefix_list (vty, AFI_IP6, name, use_json); + prefix_bgp_show_prefix_list (vty, AFI_IP6, name, uj); } return CMD_SUCCESS; @@ -12435,19 +12303,14 @@ DEFUN (show_ip_bgp_neighbor_routes, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, - bgp_show_type_neighbor, use_json); + bgp_show_type_neighbor, uj); } DEFUN (show_ip_bgp_neighbor_flap, @@ -12464,19 +12327,14 @@ DEFUN (show_ip_bgp_neighbor_flap, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, - bgp_show_type_flap_neighbor, use_json); + bgp_show_type_flap_neighbor, uj); } DEFUN (show_ip_bgp_neighbor_damp, @@ -12493,19 +12351,14 @@ DEFUN (show_ip_bgp_neighbor_damp, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, - bgp_show_type_damp_neighbor, use_json); + bgp_show_type_damp_neighbor, uj); } DEFUN (show_ip_bgp_ipv4_neighbor_routes, @@ -12525,23 +12378,18 @@ DEFUN (show_ip_bgp_ipv4_neighbor_routes, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[1], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[1], uj); if (! peer) return CMD_WARNING; if (strncmp (argv[0], "m", 1) == 0) return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_MULTICAST, - bgp_show_type_neighbor, use_json); + bgp_show_type_neighbor, uj); return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, - bgp_show_type_neighbor, use_json); + bgp_show_type_neighbor, uj); } #ifdef HAVE_IPV6 @@ -12560,24 +12408,19 @@ DEFUN (show_bgp_view_neighbor_routes, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); if ((argc == 3 && argv[2] && strcmp(argv[2], "json") == 0) || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; return bgp_show_neighbor_route (vty, peer, AFI_IP6, SAFI_UNICAST, - bgp_show_type_neighbor, use_json); + bgp_show_type_neighbor, uj); } ALIAS (show_bgp_view_neighbor_routes, @@ -12610,24 +12453,19 @@ DEFUN (show_bgp_view_neighbor_damp, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); if ((argc == 3 && argv[2] && strcmp(argv[2], "json") == 0) || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; return bgp_show_neighbor_route (vty, peer, AFI_IP6, SAFI_UNICAST, - bgp_show_type_damp_neighbor, use_json); + bgp_show_type_damp_neighbor, uj); } ALIAS (show_bgp_view_neighbor_damp, @@ -12660,24 +12498,19 @@ DEFUN (show_bgp_view_neighbor_flap, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; - - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); if ((argc == 3 && argv[2] && strcmp(argv[2], "json") == 0) || (argc == 2 && argv[1] && strcmp(argv[1], "json") != 0)) - peer = peer_lookup_in_view (vty, argv[0], argv[1], use_json); + peer = peer_lookup_in_view (vty, argv[0], argv[1], uj); else - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; return bgp_show_neighbor_route (vty, peer, AFI_IP6, SAFI_UNICAST, - bgp_show_type_flap_neighbor, use_json); + bgp_show_type_flap_neighbor, uj); } ALIAS (show_bgp_view_neighbor_flap, @@ -12750,20 +12583,15 @@ DEFUN (ipv6_mbgp_neighbor_routes, "JavaScript Object Notation\n") { struct peer *peer; - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - peer = peer_lookup_in_view (vty, NULL, argv[0], use_json); + peer = peer_lookup_in_view (vty, NULL, argv[0], uj); if (! peer) return CMD_WARNING; bgp_show_ipv6_bgp_deprecate_warning(vty); return bgp_show_neighbor_route (vty, peer, AFI_IP6, SAFI_MULTICAST, - bgp_show_type_neighbor, use_json); + bgp_show_type_neighbor, uj); } ALIAS (show_bgp_view_neighbor_flap, diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 53448da349..6e218b85b8 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -8485,8 +8485,8 @@ DEFUN (show_ip_bgp_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST, use_json); + u_char uj = use_json(argc, argv); + return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST, uj); } DEFUN (show_ip_bgp_instance_summary, @@ -8500,8 +8500,8 @@ DEFUN (show_ip_bgp_instance_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST, use_json); + u_char uj = use_json(argc, argv); + return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST, uj); } DEFUN (show_ip_bgp_ipv4_summary, @@ -8516,11 +8516,11 @@ DEFUN (show_ip_bgp_ipv4_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, use_json); + return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, uj); - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST, use_json); + return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST, uj); } ALIAS (show_ip_bgp_ipv4_summary, @@ -8547,11 +8547,11 @@ DEFUN (show_ip_bgp_instance_ipv4_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[1], "m", 1) == 0) - return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_MULTICAST, use_json); + return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_MULTICAST, uj); else - return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST, use_json); + return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST, uj); } ALIAS (show_ip_bgp_instance_ipv4_summary, @@ -8577,8 +8577,8 @@ DEFUN (show_ip_bgp_vpnv4_all_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, use_json); + u_char uj = use_json(argc, argv); + return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, uj); } DEFUN (show_ip_bgp_vpnv4_rd_summary, @@ -8595,7 +8595,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_summary, { int ret; struct prefix_rd prd; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); ret = str2prefix_rd (argv[0], &prd); if (! ret) @@ -8604,7 +8604,7 @@ DEFUN (show_ip_bgp_vpnv4_rd_summary, return CMD_WARNING; } - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, use_json); + return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, uj); } #ifdef HAVE_IPV6 @@ -8616,8 +8616,7 @@ DEFUN (show_bgp_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, use_json); + return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, use_json(argc, argv)); } DEFUN (show_bgp_instance_summary, @@ -8630,8 +8629,7 @@ DEFUN (show_bgp_instance_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); - return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST, use_json); + return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST, use_json(argc, argv)); } ALIAS (show_bgp_summary, @@ -8663,11 +8661,11 @@ DEFUN (show_bgp_ipv6_safi_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST, use_json); + return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST, uj); - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, use_json); + return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, uj); } DEFUN (show_bgp_instance_ipv6_safi_summary, @@ -8683,11 +8681,11 @@ DEFUN (show_bgp_instance_ipv6_safi_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); if (strncmp (argv[1], "m", 1) == 0) - return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_MULTICAST, use_json); + return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_MULTICAST, uj); - return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST, use_json); + return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST, uj); } /* old command */ @@ -8700,8 +8698,8 @@ DEFUN (show_ipv6_bgp_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, use_json); + u_char uj = use_json(argc, argv); + return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, uj); } /* old command */ @@ -8714,8 +8712,8 @@ DEFUN (show_ipv6_mbgp_summary, "Summary of BGP neighbor status\n" "JavaScript Object Notation\n") { - u_char use_json = (argv[0] != NULL); - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST, use_json); + u_char uj = use_json(argc, argv); + return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST, uj); } #endif /* HAVE_IPV6 */ @@ -10468,14 +10466,9 @@ DEFUN (show_ip_bgp_neighbors, "Detailed information on TCP and BGP neighbor connections\n" "JavaScript Object Notation\n") { - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - return bgp_show_neighbor_vty (vty, NULL, show_all, NULL, use_json); + return bgp_show_neighbor_vty (vty, NULL, show_all, NULL, uj); } ALIAS (show_ip_bgp_neighbors, @@ -10542,14 +10535,9 @@ DEFUN (show_ip_bgp_neighbors_peer, "Neighbor on bgp configured interface\n" "JavaScript Object Notation\n") { - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[argc - 1] && strcmp(argv[argc - 1], "json") == 0) - use_json = 1; - else - use_json = 0; - - return bgp_show_neighbor_vty (vty, NULL, show_peer, argv[argc - 2], use_json); + return bgp_show_neighbor_vty (vty, NULL, show_peer, argv[argc - 2], uj); } ALIAS (show_ip_bgp_neighbors_peer, @@ -10625,14 +10613,9 @@ DEFUN (show_ip_bgp_instance_neighbors, "Detailed information on TCP and BGP neighbor connections\n" "JavaScript Object Notation\n") { - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[1] && strcmp(argv[1], "json") == 0) - use_json = 1; - else - use_json = 0; - - return bgp_show_neighbor_vty (vty, argv[0], show_all, NULL, use_json); + return bgp_show_neighbor_vty (vty, argv[0], show_all, NULL, uj); } ALIAS (show_ip_bgp_instance_neighbors, @@ -10670,14 +10653,9 @@ DEFUN (show_ip_bgp_instance_neighbors_peer, "Neighbor on bgp configured interface\n" "JavaScript Object Notation\n") { - u_char use_json; + u_char uj = use_json(argc, argv); - if (argv[2] && strcmp(argv[2], "json") == 0) - use_json = 1; - else - use_json = 0; - - return bgp_show_neighbor_vty (vty, argv[0], show_peer, argv[1], use_json); + return bgp_show_neighbor_vty (vty, argv[0], show_peer, argv[1], uj); } ALIAS (show_ip_bgp_instance_neighbors_peer, diff --git a/lib/json.c b/lib/json.c index 07b70e4f06..f78bfcd844 100644 --- a/lib/json.c +++ b/lib/json.c @@ -19,8 +19,26 @@ * 02111-1307, USA. */ +#include #include "lib/json.h" +/* + * This function assumes that the json keyword + * is the *last* keyword on the line no matter + * what. + */ +int +use_json (const int argc, const char *argv[]) +{ + if (argc == 0) + return 0; + + if (argv[argc-1] && strcmp(argv[argc-1], "json") == 0) + return 1; + + return 0; +} + void json_object_string_add(struct json_object* obj, const char *key, const char *s) diff --git a/lib/json.h b/lib/json.h index e9b1976b96..e69b10acd2 100644 --- a/lib/json.h +++ b/lib/json.h @@ -24,6 +24,7 @@ #include +extern int use_json(const int argc, const char *argv[]); extern void json_object_string_add(struct json_object* obj, const char *key, const char *s); extern void json_object_int_add(struct json_object* obj, const char *key, diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 22f38b212a..5132c7580a 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -63,7 +63,6 @@ static const char *ospf_network_type_str[] = "LOOPBACK" }; - /* Utility functions. */ static int ospf_str2area_id (const char *str, struct in_addr *area_id, int *format) @@ -3517,12 +3516,12 @@ DEFUN (show_ip_ospf, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[0] != NULL); + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return (show_ip_ospf_common(vty, ospf, use_json)); + return (show_ip_ospf_common(vty, ospf, uj)); } DEFUN (show_ip_ospf_instance, @@ -3536,13 +3535,13 @@ DEFUN (show_ip_ospf_instance, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return (show_ip_ospf_common(vty, ospf, use_json)); + return (show_ip_ospf_common(vty, ospf, uj)); } static void @@ -3912,18 +3911,12 @@ DEFUN (show_ip_ospf_interface, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json; - - if ((argv[0] && strcmp(argv[0], "json") == 0) || - (argv[1] && strcmp(argv[1], "json") == 0)) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_interface_common(vty, ospf, argc, argv, 0, use_json); + return show_ip_ospf_interface_common(vty, ospf, argc, argv, 0, uj); } DEFUN (show_ip_ospf_instance_interface, @@ -3939,19 +3932,13 @@ DEFUN (show_ip_ospf_instance_interface, { struct ospf *ospf; u_short instance = 0; - u_char use_json; - - if ((argv[1] && strcmp(argv[1], "json") == 0) || - (argv[2] && strcmp(argv[2], "json") == 0)) - use_json = 1; - else - use_json = 0; + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_interface_common(vty, ospf, argc, argv, 1, use_json); + return show_ip_ospf_interface_common(vty, ospf, argc, argv, 1, uj); } static void @@ -4080,12 +4067,12 @@ DEFUN (show_ip_ospf_neighbor, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[0] != NULL); + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_common(vty, ospf, uj); } @@ -4101,13 +4088,13 @@ DEFUN (show_ip_ospf_instance_neighbor, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_common(vty, ospf, uj); } static int @@ -4192,12 +4179,12 @@ DEFUN (show_ip_ospf_neighbor_all, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[0] != NULL); + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_all_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_all_common(vty, ospf, uj); } DEFUN (show_ip_ospf_instance_neighbor_all, @@ -4213,13 +4200,13 @@ DEFUN (show_ip_ospf_instance_neighbor_all, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_all_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_all_common(vty, ospf, uj); } static int @@ -4286,12 +4273,12 @@ DEFUN (show_ip_ospf_neighbor_int, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_int_common(vty, ospf, 0, argv, use_json); + return show_ip_ospf_neighbor_int_common(vty, ospf, 0, argv, uj); } DEFUN (show_ip_ospf_instance_neighbor_int, @@ -4307,13 +4294,13 @@ DEFUN (show_ip_ospf_instance_neighbor_int, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_int_common(vty, ospf, 1, argv, use_json); + return show_ip_ospf_neighbor_int_common(vty, ospf, 1, argv, uj); } static void @@ -4652,12 +4639,12 @@ DEFUN (show_ip_ospf_neighbor_id, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_id_common(vty, ospf, 0, argv, use_json); + return show_ip_ospf_neighbor_id_common(vty, ospf, 0, argv, uj); } DEFUN (show_ip_ospf_instance_neighbor_id, @@ -4673,13 +4660,13 @@ DEFUN (show_ip_ospf_instance_neighbor_id, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_id_common(vty, ospf, 1, argv, use_json); + return show_ip_ospf_neighbor_id_common(vty, ospf, 1, argv, uj); } static int @@ -4743,12 +4730,12 @@ DEFUN (show_ip_ospf_neighbor_detail, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[0] != NULL); + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_detail_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_detail_common(vty, ospf, uj); } DEFUN (show_ip_ospf_instance_neighbor_detail, @@ -4764,13 +4751,13 @@ DEFUN (show_ip_ospf_instance_neighbor_detail, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance (instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_detail_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_detail_common(vty, ospf, uj); } static int @@ -4841,12 +4828,12 @@ DEFUN (show_ip_ospf_neighbor_detail_all, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[0] != NULL);; + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_detail_all_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_detail_all_common(vty, ospf, uj); } DEFUN (show_ip_ospf_instance_neighbor_detail_all, @@ -4863,13 +4850,13 @@ DEFUN (show_ip_ospf_instance_neighbor_detail_all, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_detail_all_common(vty, ospf, use_json); + return show_ip_ospf_neighbor_detail_all_common(vty, ospf, uj); } static int @@ -4943,12 +4930,12 @@ DEFUN (show_ip_ospf_neighbor_int_detail, "JavaScript Object Notation\n") { struct ospf *ospf; - u_char use_json = (argv[1] != NULL); + u_char uj = use_json(argc, argv); if ((ospf = ospf_lookup()) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_int_detail_common(vty, ospf, 0, argv, use_json); + return show_ip_ospf_neighbor_int_detail_common(vty, ospf, 0, argv, uj); } DEFUN (show_ip_ospf_instance_neighbor_int_detail, @@ -4965,13 +4952,13 @@ DEFUN (show_ip_ospf_instance_neighbor_int_detail, { struct ospf *ospf; u_short instance = 0; - u_char use_json = (argv[2] != NULL); + u_char uj = use_json(argc, argv); VTY_GET_INTEGER ("Instance", instance, argv[0]); if ((ospf = ospf_lookup_instance(instance)) == NULL || !ospf->oi_running) return CMD_SUCCESS; - return show_ip_ospf_neighbor_int_detail_common(vty, ospf, 1, argv, use_json); + return show_ip_ospf_neighbor_int_detail_common(vty, ospf, 1, argv, uj); } /* Show functions */