gateway: merge 2 code blocks
authorFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 23 Aug 2012 12:33:28 +0000 (14:33 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Fri, 24 Aug 2012 08:50:05 +0000 (10:50 +0200)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Reviewed-by: Henning Rogge <henning.rogge@fkie.fraunhofer.de>
src/gateway.c

index 5244e8f..86df0b0 100644 (file)
@@ -485,21 +485,21 @@ bool olsr_set_inet_gateway(union olsr_ip_addr *originator, bool ipv4, bool ipv6)
   ipv4 = ipv4 && (olsr_cnf->ip_version == AF_INET || olsr_cnf->use_niit);
   ipv6 = ipv6 && (olsr_cnf->ip_version == AF_INET6);
 
+  entry = node2gateway(avl_find(&gateway_tree, originator));
+
   if (ipv4) {
     current_ipv4_gw = NULL;
+    if (entry != NULL && entry->ipv4 && (!entry->ipv4nat || olsr_cnf->smart_gw_allow_nat)) {
+      /* valid ipv4 gateway */
+      current_ipv4_gw = entry;
+    }
   }
   if (ipv6) {
     current_ipv6_gw = NULL;
-  }
-
-  entry = node2gateway(avl_find(&gateway_tree, originator));
-  if (entry != NULL && ipv4 && entry->ipv4 && (!entry->ipv4nat || olsr_cnf->smart_gw_allow_nat)) {
-    /* valid ipv4 gateway */
-    current_ipv4_gw = entry;
-  }
-  if (entry != NULL && ipv6 && entry->ipv6) {
-    /* valid ipv6 gateway */
-    current_ipv6_gw = entry;
+    if (entry != NULL && entry->ipv6) {
+      /* valid ipv6 gateway */
+      current_ipv6_gw = entry;
+    }
   }
 
   /* handle IPv4 */