From 0c083ee9d870bf02a36563ae1807f3894ac24219 Mon Sep 17 00:00:00 2001 From: paul Date: Sun, 10 Oct 2004 12:54:58 +0000 Subject: 2004-10-10 Paul Jakma * ospf6_route.c: Add const qualifier to various char arrays of constants. signed/unsigned fixes. (ospf6_linkstate_table_show) argv is const * ospf6_snmp.c: listnode typedef is dead. (ospf6_snmp_init) Take struct thread_master arg, needed for smux_init. * ospf6_snmp.h: update ospf6_snmp_init declaration. * ospf6d.c: (ospf6_init) add const qualifier to sargv, pass master to ospf_snmp6_init. * ospf6_asbr.c: const char update. * ospf6_interface.c: ditto, plus signed/unsigned fixes. (ipv6_ospf6_cost) Check whether cost fits in u_int32_t and use strtoul. * ospf6_intra.c: const char update. Parenthesise expression. * ospf6_lsa.c: signed/unsigned and const char updates. * ospf6_proto.c: ditto. * ospf6_message.c: ditto. * ospf6_lsdb.c: signed/unsigned update. * ospf6_main.c: const char update. * ospf6_neighbor.c: ditto. * ospf6_spf.c: ditto. * ospf6_top.c: ditto. --- ospf6d/ospf6_interface.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'ospf6d/ospf6_interface.c') diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index 85f908ed..99d5acbc 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -44,7 +44,7 @@ unsigned char conf_debug_ospf6_interface = 0; -char *ospf6_interface_state_str[] = +const char *ospf6_interface_state_str[] = { "None", "Down", @@ -107,7 +107,7 @@ struct ospf6_interface * ospf6_interface_create (struct interface *ifp) { struct ospf6_interface *oi; - int iobuflen; + unsigned int iobuflen; oi = (struct ospf6_interface *) XMALLOC (MTYPE_OSPF6_IF, sizeof (struct ospf6_interface)); @@ -261,7 +261,7 @@ void ospf6_interface_if_add (struct interface *ifp) { struct ospf6_interface *oi; - int iobuflen; + unsigned int iobuflen; oi = (struct ospf6_interface *) ifp->info; if (oi == NULL) @@ -774,8 +774,8 @@ ospf6_interface_show (struct vty *vty, struct interface *ifp) struct prefix *p; struct listnode *i; char strbuf[64], drouter[32], bdrouter[32]; - char *updown[3] = {"down", "up", NULL}; - char *type; + const char *updown[3] = {"down", "up", NULL}; + const char *type; struct timeval res, now; char duration[32]; struct ospf6_lsa *lsa; @@ -1058,7 +1058,7 @@ DEFUN (ipv6_ospf6_ifmtu, { struct ospf6_interface *oi; struct interface *ifp; - int ifmtu, iobuflen; + unsigned int ifmtu, iobuflen; struct listnode *node; struct ospf6_neighbor *on; @@ -1119,7 +1119,7 @@ DEFUN (no_ipv6_ospf6_ifmtu, { struct ospf6_interface *oi; struct interface *ifp; - int iobuflen; + unsigned int iobuflen; struct listnode *node; struct ospf6_neighbor *on; @@ -1168,6 +1168,7 @@ DEFUN (ipv6_ospf6_cost, { struct ospf6_interface *oi; struct interface *ifp; + unsigned long int lcost; ifp = (struct interface *) vty->index; assert (ifp); @@ -1177,11 +1178,19 @@ DEFUN (ipv6_ospf6_cost, oi = ospf6_interface_create (ifp); assert (oi); - if (oi->cost == strtol (argv[0], NULL, 10)) - return CMD_SUCCESS; - - oi->cost = strtol (argv[0], NULL, 10); + lcost = strtol (argv[0], NULL, 10); + if (lcost > UINT32_MAX) + { + vty_out (vty, "Cost %ld is out of range%s", lcost, VNL); + return CMD_WARNING; + } + + if (oi->cost == lcost) + return CMD_SUCCESS; + + oi->cost = lcost; + /* update cost held in route_connected list in ospf6_interface */ ospf6_interface_connected_route_update (oi->interface); -- cgit v1.2.3