* const'ified functions
[olsrd.git] / src / local_hna_set.c
index d227652..6e52e12 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: local_hna_set.c,v 1.12 2007/02/10 19:27:32 bernd67 Exp $
+ * $Id: local_hna_set.c,v 1.14 2007/10/15 20:58:33 bernd67 Exp $
  */
 
 #include "defs.h"
@@ -44,7 +44,7 @@
 #include "olsr.h"
 
 void
-add_local_hna4_entry(union olsr_ip_addr *net, union olsr_ip_addr *mask)
+add_local_hna4_entry(const union olsr_ip_addr *net, const union olsr_ip_addr *mask)
 {
   struct hna4_entry *new_entry;
 
@@ -60,14 +60,14 @@ add_local_hna4_entry(union olsr_ip_addr *net, union olsr_ip_addr *mask)
 
 
 void
-add_local_hna6_entry(union olsr_ip_addr *net, olsr_u16_t prefix_len)
+add_local_hna6_entry(const union olsr_ip_addr *net, const olsr_u16_t prefix_len)
 {
   struct hna6_entry *new_entry;
 
   new_entry = olsr_malloc(sizeof(struct hna6_entry), "Add local HNA entry 6");
   
   memcpy(&new_entry->net, net, sizeof(struct in6_addr));
-  prefix_len = prefix_len;
+  new_entry->prefix_len = prefix_len;
 
   /* Queue */
   new_entry->next = olsr_cnf->hna6_entries;
@@ -76,7 +76,7 @@ add_local_hna6_entry(union olsr_ip_addr *net, olsr_u16_t prefix_len)
 
 
 int
-remove_local_hna4_entry(union olsr_ip_addr *net, union olsr_ip_addr *mask)
+remove_local_hna4_entry(const union olsr_ip_addr *net, const union olsr_ip_addr *mask)
 {
   struct hna4_entry *h4 = olsr_cnf->hna4_entries, *h4prev = NULL;
 
@@ -104,11 +104,11 @@ remove_local_hna4_entry(union olsr_ip_addr *net, union olsr_ip_addr *mask)
 
 
 int
-remove_local_hna6_entry(union olsr_ip_addr *net, olsr_u16_t prefix_len)
+remove_local_hna6_entry(const union olsr_ip_addr *net, const olsr_u16_t prefix_len)
 {
-  struct hna6_entry *h6 = olsr_cnf->hna6_entries, *h6prev = NULL;
+  struct hna6_entry *h6, *h6prev = NULL;
 
-  while(h6)
+  for(h6 = olsr_cnf->hna6_entries; h6; h6 = h6->next)
     {
       if((memcmp(net, &h6->net, olsr_cnf->ipsize) == 0) && 
         (prefix_len == h6->prefix_len))
@@ -123,14 +123,12 @@ remove_local_hna6_entry(union olsr_ip_addr *net, olsr_u16_t prefix_len)
          return 1;
        }
       h6prev = h6;
-      h6 = h6->next;
     }
-
   return 0;
 }
 
 struct hna4_entry *
-find_local_hna4_entry(union olsr_ip_addr *net, olsr_u32_t mask)
+find_local_hna4_entry(const union olsr_ip_addr *net, const olsr_u32_t mask)
 {
   struct hna4_entry *h4 = olsr_cnf->hna4_entries;
 
@@ -150,7 +148,7 @@ find_local_hna4_entry(union olsr_ip_addr *net, olsr_u32_t mask)
 
 
 struct hna6_entry *
-find_local_hna6_entry(union olsr_ip_addr *net, olsr_u16_t prefix_len)
+find_local_hna6_entry(const union olsr_ip_addr *net, const olsr_u16_t prefix_len)
 {
   struct hna6_entry *h6 = olsr_cnf->hna6_entries;
 
@@ -171,19 +169,16 @@ find_local_hna6_entry(union olsr_ip_addr *net, olsr_u16_t prefix_len)
 
 
 int
-check_inet_gw()
+check_inet_gw(void)
 {
-  struct hna4_entry *h4 = olsr_cnf->hna4_entries;
-
   if(olsr_cnf->ip_version == AF_INET)
     {
-      while(h4)
+      struct hna4_entry *h4;
+      for(h4 = olsr_cnf->hna4_entries; h4; h4 = h4->next)
        {
          if(h4->netmask.v4 == 0 && h4->net.v4 == 0)
            return 1;
-         h4 = h4->next;
        }
-      return 0;
     }
   return 0;