* localized the hash stuff. We shouldn't need it anywhere else.
authorBernd Petrovitsch <bernd@firmix.at>
Thu, 28 Jun 2007 22:34:52 +0000 (22:34 +0000)
committerBernd Petrovitsch <bernd@firmix.at>
Thu, 28 Jun 2007 22:34:52 +0000 (22:34 +0000)
src/hashing.c
src/olsr_types.h

index f8ae670..8b605ea 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: hashing.c,v 1.11 2007/04/20 13:46:04 bernd67 Exp $
+ * $Id: hashing.c,v 1.12 2007/06/28 22:34:52 bernd67 Exp $
  */
 
 #include "olsr_protocol.h"
 #include "defs.h"
 
 /**
- *Hashing function. Creates a key based on
- *an 32-bit address.
- *@param address the address to hash
- *@return the hash(a value in the 0-31 range)
+ * Hashing function. Creates a key based on
+ * an 32-bit address.
+ * @param address the address to hash
+ * @return the hash(a value in the 0-31 range)
  */
-olsr_u32_t
-olsr_hashing(union olsr_ip_addr *address)
+olsr_u32_t olsr_hashing(union olsr_ip_addr *address)
 {
-  olsr_u32_t hash;
-  char *tmp;
-
-  if(olsr_cnf->ip_version == AF_INET)
-    /* IPv4 */  
-    hash = address->v4x[0] ^ address->v4x[1] ^ address->v4x[2] ^ address->v4x[3];
-  else
-    {
-      /* IPv6 */
-      tmp = (char *) &address->v6;
-      hash = (ntohl(*tmp));
+    olsr_u32_t hash;
+    if(olsr_cnf->ip_version == AF_INET) {
+        /* IPv4 */  
+        const olsr_u8_t * const v4x = &address;
+        hash = v4x[0] ^ v4x[1] ^ v4x[2] ^ v4x[3];
+    } else {
+        /* IPv6 */
+        const char * const tmp = (char *)&address->v6;
+        hash = ntohl(*tmp);
     }
-
-  hash &= HASHMASK;
-
-  return hash;
+    return hash & HASHMASK;
 }
+
+/*
+ * Local Variables:
+ * mode: c
+ * style: linux
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
index aee5ca1..76f595a 100644 (file)
@@ -36,7 +36,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: olsr_types.h,v 1.7 2007/04/25 22:08:09 bernd67 Exp $
+ * $Id: olsr_types.h,v 1.8 2007/06/28 22:34:52 bernd67 Exp $
  */
 
 /*
@@ -95,7 +95,6 @@ union olsr_ip_addr
   struct in_addr v4;
   */
   olsr_u32_t v4;
-  olsr_u8_t v4x[4];
   struct in6_addr v6;
 };