PUD: cfg: simplify isMulticast function
authorFerry Huberts <ferry.huberts@pelagic.nl>
Mon, 4 Jun 2012 07:15:18 +0000 (09:15 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 7 Jun 2012 22:30:02 +0000 (00:30 +0200)
and inline it

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
lib/pud/src/configuration.c
lib/pud/src/netTools.c
lib/pud/src/netTools.h

index 243d4ca..c9638a4 100644 (file)
@@ -673,7 +673,7 @@ int setRxMcAddr(const char *value, void *data __attribute__ ((unused)), set_plug
                *port = htons(PUD_RX_MC_PORT_DEFAULT);
        }
 
-       if (!isMulticast(addr.in.sa_family, &addr)) {
+       if (!isMulticast(&addr)) {
                pudError(false, "Configured %s (%s) is not a multicast address",
                                valueName, value);
                return true;
@@ -953,7 +953,7 @@ int setTxMcAddr(const char *value, void *data __attribute__ ((unused)), set_plug
                *port = htons(PUD_TX_MC_PORT_DEFAULT);
        }
 
-       if (!isMulticast(addr.in.sa_family, &addr)) {
+       if (!isMulticast(&addr)) {
                pudError(false, "Configured %s (%s) is not a multicast address",
                                valueName, value);
                return true;
index 5925fb8..1c54e75 100644 (file)
@@ -6,32 +6,7 @@
 /* OLSR includes */
 
 /* System includes */
-#include <assert.h>
 #include <sys/ioctl.h>
-#include <unistd.h>
-
-/**
- Determine whether an IP address (v4 or v6) is a multicast address.
-
- @param addressFamily
- The address family (AF_INET or AF_INET6)
- @param addr
- An IP address (v4 or v6)
-
- @return
- - true when the address is a multicast address
- - false otherwise
- */
-bool isMulticast(int addressFamily, union olsr_sockaddr *addr) {
-       assert(addr != NULL);
-       assert((addressFamily == AF_INET) || (addressFamily == AF_INET6));
-
-       if (addressFamily == AF_INET) {
-               return IN_MULTICAST(ntohl(addr->in4.sin_addr.s_addr));
-       }
-
-       return IN6_IS_ADDR_MULTICAST(&addr->in6.sin6_addr);
-}
 
 /**
  Get the hardware address (MAC) of an interface
index a6c5658..1b44fe3 100644 (file)
@@ -7,10 +7,31 @@
 #include "olsr_types.h"
 
 /* System includes */
+#include <assert.h>
+#include <unistd.h>
 #include <stdbool.h>
 #include <net/if.h>
 
-bool isMulticast(int addressFamily, union olsr_sockaddr *addr);
+/**
+ Determine whether an IP address (v4 or v6) is a multicast address.
+
+ @param addr
+ An IP address (v4 or v6)
+
+ @return
+ - true when the address is a multicast address
+ - false otherwise
+ */
+static inline bool isMulticast(union olsr_sockaddr *addr) {
+       assert(addr != NULL);
+
+       if (addr->in.sa_family == AF_INET) {
+               return IN_MULTICAST(ntohl(addr->in4.sin_addr.s_addr));
+       }
+
+       return IN6_IS_ADDR_MULTICAST(&addr->in6.sin6_addr);
+}
+
 
 unsigned char * getHardwareAddress(const char * ifName, int family,
                struct ifreq *ifr);