*
* This algorithm could be made faster if needed
*/
-static int encap_same(struct bgp_attr_encap_subtlv *h1,
- struct bgp_attr_encap_subtlv *h2)
+static int encap_same(const struct bgp_attr_encap_subtlv *h1,
+ const struct bgp_attr_encap_subtlv *h2)
{
- struct bgp_attr_encap_subtlv *p;
- struct bgp_attr_encap_subtlv *q;
+ const struct bgp_attr_encap_subtlv *p;
+ const struct bgp_attr_encap_subtlv *q;
if (h1 == h2)
return 1;
static int encap_hash_cmp(const void *p1, const void *p2)
{
- return encap_same((struct bgp_attr_encap_subtlv *)p1,
- (struct bgp_attr_encap_subtlv *)p2);
+ return encap_same((const struct bgp_attr_encap_subtlv *)p1,
+ (const struct bgp_attr_encap_subtlv *)p2);
}
static void encap_init(void)
{
struct bgp *bgp = VTY_GET_CONTEXT(bgp);
int idx = 0;
- const char *no = strmatch(argv[0]->text, (char *)"no") ? "no" : NULL;
+ const char *no = strmatch(argv[0]->text, "no") ? "no" : NULL;
char *ifname = argv_find(argv, argc, "INTERFACE", &idx) ?
argv[idx]->arg : NULL;
if (redist->map_name) {
map_ret =
- route_map_apply(redist->map, (struct prefix *)p,
- RMAP_ISIS, &area_info);
+ route_map_apply(redist->map, p, RMAP_ISIS, &area_info);
if (map_ret == RMAP_DENYMATCH)
area_info.distance = 255;
}
}
isis_redist_update_ext_reach(area, level, redist, p,
- (struct prefix_ipv6 *)src_p, info);
+ (const struct prefix_ipv6 *)src_p,
+ info);
}
}
if (prefix_cmp(&va->N.ip.dest, &vb->N.ip.dest))
return 0;
- return prefix_cmp((struct prefix *)&va->N.ip.src,
- (struct prefix *)&vb->N.ip.src) == 0;
+ return prefix_cmp((const struct prefix *)&va->N.ip.src,
+ (const struct prefix *)&vb->N.ip.src) == 0;
}
return memcmp(va->N.id, vb->N.id, ISIS_SYS_ID_LEN + 1) == 0;
switch (a->source.type) {
case HELLO_LINK:
- if (if_cmp_name_func((char *)a->source.link.ia->iface->name,
- (char *)b->source.link.ia->iface->name) < 0)
+ if (if_cmp_name_func(a->source.link.ia->iface->name,
+ b->source.link.ia->iface->name) < 0)
return (-1);
- if (if_cmp_name_func((char *)a->source.link.ia->iface->name,
- (char *)b->source.link.ia->iface->name) > 0)
+ if (if_cmp_name_func(a->source.link.ia->iface->name,
+ b->source.link.ia->iface->name) > 0)
return (1);
return (ldp_addrcmp(a->source.link.ia->af,
&a->source.link.src_addr, &b->source.link.src_addr));
static __inline int
iface_compare(const struct iface *a, const struct iface *b)
{
- return (if_cmp_name_func((char *)a->name, (char *)b->name));
+ return if_cmp_name_func(a->name, b->name);
}
struct iface *
static __inline int
l2vpn_if_compare(const struct l2vpn_if *a, const struct l2vpn_if *b)
{
- return (if_cmp_name_func((char *)a->ifname, (char *)b->ifname));
+ return if_cmp_name_func(a->ifname, b->ifname);
}
struct l2vpn_if *
static __inline int
l2vpn_pw_compare(const struct l2vpn_pw *a, const struct l2vpn_pw *b)
{
- return (if_cmp_name_func((char *)a->ifname, (char *)b->ifname));
+ return if_cmp_name_func(a->ifname, b->ifname);
}
struct l2vpn_pw *
*/
static int compare_completions(const void *fst, const void *snd)
{
- struct cmd_token *first = *(struct cmd_token **)fst,
- *secnd = *(struct cmd_token **)snd;
+ const struct cmd_token *first = *(const struct cmd_token * const *)fst,
+ *secnd = *(const struct cmd_token * const *)snd;
return strcmp(first->text, secnd->text);
}
* before all numbers. Examples: de0 < de1, de100 < fxp0 < xl0, devpty <
* devpty0, de0 < del0
*/
-int if_cmp_name_func(char *p1, char *p2)
+int if_cmp_name_func(const char *p1, const char *p2)
{
unsigned int l1, l2;
long int x1, x2;
if (!*p2)
return 1;
- x1 = strtol(p1, &p1, 10);
- x2 = strtol(p2, &p2, 10);
+ x1 = strtol(p1, (char **)&p1, 10);
+ x2 = strtol(p2, (char **)&p2, 10);
/* let's compare numbers now */
if (x1 < x2)
static int if_cmp_func(const struct interface *ifp1,
const struct interface *ifp2)
{
- return if_cmp_name_func((char *)ifp1->name, (char *)ifp2->name);
+ return if_cmp_name_func(ifp1->name, ifp2->name);
}
static int if_cmp_index_func(const struct interface *ifp1,
#endif /* IFF_VIRTUAL */
/* Prototypes. */
-extern int if_cmp_name_func(char *, char *);
+extern int if_cmp_name_func(const char *p1, const char *p2);
/*
* Passing in VRF_UNKNOWN is a valid thing to do, unless we
const struct prefix *dst_p, *src_p;
srcdest_rnode_prefixes(rn, &dst_p, &src_p);
- return srcdest2str(dst_p, (struct prefix_ipv6*)src_p, str, size);
+ return srcdest2str(dst_p, (const struct prefix_ipv6 *)src_p, str, size);
}