[bgpd] CID #4,#5,#9,#10, simplify aspath_print_vty usage
2006-05-12 Paul Jakma <paul.jakma@sun.com>
* bgp_aspath.{c,h}: (aspath_print_vty) take a format string,
so as to reduce burden on callers, all in bgp_route.c
* bgp_route.c: (route_vty_out{,tmp}) Update to match
aspath_print_vty, simplifying checks needed to get spacing
right. CID #4,#5.
({damp,flap}_route_vty_out) Ditto, CID #9, #10
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index 8082739..7f4f3f1 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -2,10 +2,15 @@
* bgp_attr.c: (bgp_packet_attribute) Remove dead code, Coverity
CID #1
+ * bgp_aspath.{c,h}: (aspath_print_vty) take a format string,
+ so as to reduce burden on callers, all in bgp_route.c
* bgp_route.c: (bgp_static_update_main) Remove useless NULL
check, code already assumes bgp_static can not be NULL,
fixes CID #7.
(bgp_static_update_rsclient) ditto, CID #6
+ (route_vty_out{,tmp}) Update to match aspath_print_vty,
+ simplifying checks needed to get spacing right. CID #4,#5.
+ ({damp,flap}_route_vty_out) Ditto, CID #9, #10
2006-05-08 Paul Jakma <paul.jakma@sun.com>
diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c
index 9fce6e3..d404309 100644
--- a/bgpd/bgp_aspath.c
+++ b/bgpd/bgp_aspath.c
@@ -1501,9 +1501,10 @@
/* Printing functions */
void
-aspath_print_vty (struct vty *vty, struct aspath *as)
+aspath_print_vty (struct vty *vty, const char *format, struct aspath *as)
{
- vty_out (vty, "%s", as->str);
+ assert (format);
+ vty_out (vty, format, as->str);
}
static void
diff --git a/bgpd/bgp_aspath.h b/bgpd/bgp_aspath.h
index 7fa7f20..bf23e5d 100644
--- a/bgpd/bgp_aspath.h
+++ b/bgpd/bgp_aspath.h
@@ -77,7 +77,7 @@
extern struct aspath *aspath_intern (struct aspath *);
extern void aspath_unintern (struct aspath *);
extern const char *aspath_print (struct aspath *);
-extern void aspath_print_vty (struct vty *, struct aspath *);
+extern void aspath_print_vty (struct vty *, const char *, struct aspath *);
extern void aspath_print_all_vty (struct vty *);
extern unsigned int aspath_key_make (struct aspath *);
extern int aspath_loop_check (struct aspath *, as_t);
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index c86ca5f..5623cad 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -5153,16 +5153,13 @@
vty_out (vty, "%7u ",attr->weight);
- /* Print aspath */
- if (attr->aspath)
- aspath_print_vty (vty, attr->aspath);
+ /* Print aspath */
+ if (attr->aspath)
+ aspath_print_vty (vty, "%s ", attr->aspath);
- /* Print origin */
- if (strlen (attr->aspath->str) == 0)
+ /* Print origin */
vty_out (vty, "%s", bgp_origin_str[attr->origin]);
- else
- vty_out (vty, " %s", bgp_origin_str[attr->origin]);
- }
+ }
vty_out (vty, "%s", VTY_NEWLINE);
}
@@ -5217,16 +5214,13 @@
vty_out (vty, "%7d ",attr->weight);
- /* Print aspath */
- if (attr->aspath)
- aspath_print_vty (vty, attr->aspath);
+ /* Print aspath */
+ if (attr->aspath)
+ aspath_print_vty (vty, "%s ", attr->aspath);
- /* Print origin */
- if (strlen (attr->aspath->str) == 0)
+ /* Print origin */
vty_out (vty, "%s", bgp_origin_str[attr->origin]);
- else
- vty_out (vty, " %s", bgp_origin_str[attr->origin]);
- }
+ }
vty_out (vty, "%s", VTY_NEWLINE);
}
@@ -5314,13 +5308,10 @@
{
/* Print aspath */
if (attr->aspath)
- aspath_print_vty (vty, attr->aspath);
+ aspath_print_vty (vty, "%s ", attr->aspath);
/* Print origin */
- if (strlen (attr->aspath->str) == 0)
- vty_out (vty, "%s", bgp_origin_str[attr->origin]);
- else
- vty_out (vty, " %s", bgp_origin_str[attr->origin]);
+ vty_out (vty, "%s", bgp_origin_str[attr->origin]);
}
vty_out (vty, "%s", VTY_NEWLINE);
}
@@ -5377,13 +5368,10 @@
{
/* Print aspath */
if (attr->aspath)
- aspath_print_vty (vty, attr->aspath);
+ aspath_print_vty (vty, "%s ", attr->aspath);
/* Print origin */
- if (strlen (attr->aspath->str) == 0)
- vty_out (vty, "%s", bgp_origin_str[attr->origin]);
- else
- vty_out (vty, " %s", bgp_origin_str[attr->origin]);
+ vty_out (vty, "%s", bgp_origin_str[attr->origin]);
}
vty_out (vty, "%s", VTY_NEWLINE);
}
@@ -5408,7 +5396,7 @@
if (aspath_count_hops (attr->aspath) == 0)
vty_out (vty, "Local");
else
- aspath_print_vty (vty, attr->aspath);
+ aspath_print_vty (vty, "%s", attr->aspath);
}
if (CHECK_FLAG (binfo->flags, BGP_INFO_REMOVED))