diff options
| author | Stephen Hemminger <shemminger@vyatta.com> | 2009-12-08 12:00:50 +0300 | 
|---|---|---|
| committer | Denis Ovsienko <infrastation@yandex.ru> | 2009-12-08 12:00:50 +0300 | 
| commit | 38cc00cd823fe945c7748de18c3e8932d98dd8f8 (patch) | |
| tree | 51f79a6ff37f8858b569f55f27480c4b47eb2aac /lib | |
| parent | 0d6388abc7a5da2a20a4854c400c8e176127e480 (diff) | |
lib: make match functions take const args
* table.c: general type safety and compiler help:
  * maskbit[]: become const
  * route_node_match(): take const args
  * route_node_match_ipv4(): idem
  * route_node_match_ipv6(): idem
  * check_bit(): idem, plus adjust local vars typing
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/table.c | 18 | ||||
| -rw-r--r-- | lib/table.h | 12 | 
2 files changed, 16 insertions, 14 deletions
| diff --git a/lib/table.c b/lib/table.c index 70fc0b24..06c64539 100644 --- a/lib/table.c +++ b/lib/table.c @@ -125,7 +125,7 @@ route_table_free (struct route_table *rt)  }  /* Utility mask array. */ -static u_char maskbit[] =  +static const u_char maskbit[] =  {    0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff  }; @@ -170,11 +170,11 @@ route_common (struct prefix *n, struct prefix *p, struct prefix *new)  /* Check bit of the prefix. */  static int -check_bit (u_char *prefix, u_char prefixlen) +check_bit (const u_char *prefix, u_char prefixlen)  { -  int offset; -  int shift; -  u_char *p = (u_char *)prefix; +  unsigned int offset; +  unsigned int shift; +  const u_char *p = prefix;    assert (prefixlen <= 128); @@ -221,7 +221,7 @@ route_unlock_node (struct route_node *node)  /* Find matched prefix. */  struct route_node * -route_node_match (struct route_table *table, struct prefix *p) +route_node_match (const struct route_table *table, const struct prefix *p)  {    struct route_node *node;    struct route_node *matched; @@ -247,7 +247,8 @@ route_node_match (struct route_table *table, struct prefix *p)  }  struct route_node * -route_node_match_ipv4 (struct route_table *table, struct in_addr *addr) +route_node_match_ipv4 (const struct route_table *table, +		       const struct in_addr *addr)  {    struct prefix_ipv4 p; @@ -261,7 +262,8 @@ route_node_match_ipv4 (struct route_table *table, struct in_addr *addr)  #ifdef HAVE_IPV6  struct route_node * -route_node_match_ipv6 (struct route_table *table, struct in6_addr *addr) +route_node_match_ipv6 (const struct route_table *table, +		       const struct in6_addr *addr)  {    struct prefix_ipv6 p; diff --git a/lib/table.h b/lib/table.h index 45ec6067..41d1fa70 100644 --- a/lib/table.h +++ b/lib/table.h @@ -66,13 +66,13 @@ extern struct route_node *route_node_get (struct route_table *,  extern struct route_node *route_node_lookup (struct route_table *,                                               struct prefix *);  extern struct route_node *route_lock_node (struct route_node *node); -extern struct route_node *route_node_match (struct route_table *,  -                                            struct prefix *); -extern struct route_node *route_node_match_ipv4 (struct route_table *, -					  struct in_addr *); +extern struct route_node *route_node_match (const struct route_table *, +                                            const struct prefix *); +extern struct route_node *route_node_match_ipv4 (const struct route_table *, +						 const struct in_addr *);  #ifdef HAVE_IPV6 -extern struct route_node *route_node_match_ipv6 (struct route_table *, -					  struct in6_addr *); +extern struct route_node *route_node_match_ipv6 (const struct route_table *, +						 const struct in6_addr *);  #endif /* HAVE_IPV6 */  #endif /* _ZEBRA_TABLE_H */ | 
