linux: netlink_process_link: always determine the oif
authorFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 10 Feb 2016 09:47:57 +0000 (10:47 +0100)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 10 Feb 2016 13:32:41 +0000 (14:32 +0100)
This simplifies it a bit more.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/linux/kernel_routes_nl.c

index 3f363c7..3684060 100644 (file)
@@ -120,7 +120,6 @@ static void netlink_process_link(struct nlmsghdr *h)
   char * ifaceName = NULL;
 
   iface = if_ifwithindex(ifi->ifi_index);
-  oif = NULL;
 
   if (!iface) {
     ifaceName = if_indextoname(ifi->ifi_index, namebuffer);
@@ -128,8 +127,10 @@ static void netlink_process_link(struct nlmsghdr *h)
     ifaceName = iface->int_name;
   }
 
+  oif = ifaceName ? olsrif_ifwithname(ifaceName) : NULL;
+
   if (!iface && ((ifi->ifi_flags & IFF_UP) == IFF_UP)) {
-    if (ifaceName && ((oif = olsrif_ifwithname(ifaceName)) != NULL)) {
+    if (oif) {
       /* try to take interface up, will trigger ifchange */
       chk_if_up(oif, 3);
     }