0
0
mirror of https://github.com/OpenVPN/openvpn.git synced 2024-09-20 03:52:28 +02:00

Merged add_bypass_address() and add_host_route_if_nonlocal()

The add_host_route_if_nonlocal() function is too simple to really
benefit from calling add_bypass_address() when this function is the
only caller to this function.

Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
Acked-by: Peter Stuge <peter@stuge.se>
This commit is contained in:
David Sommerseth 2010-11-15 09:00:12 +01:00
parent 7581c8fd6f
commit 7c18c63539

34
route.c
View File

@ -59,26 +59,6 @@ print_bypass_addresses (const struct route_bypass *rb)
#endif
static bool
add_bypass_address (struct route_bypass *rb, const in_addr_t a)
{
int i;
for (i = 0; i < rb->n_bypass; ++i)
{
if (a == rb->bypass[i]) /* avoid duplicates */
return true;
}
if (rb->n_bypass < N_ROUTE_BYPASS)
{
rb->bypass[rb->n_bypass++] = a;
return true;
}
else
{
return false;
}
}
struct route_option_list *
new_route_option_list (const int max_routes, struct gc_arena *a)
{
@ -2124,8 +2104,18 @@ netmask_to_netbits (const in_addr_t network, const in_addr_t netmask, int *netbi
static void
add_host_route_if_nonlocal (struct route_bypass *rb, const in_addr_t addr)
{
if (test_local_addr(addr) == TLA_NONLOCAL && addr != 0 && addr != ~0)
add_bypass_address (rb, addr);
if (test_local_addr(addr) == TLA_NONLOCAL && addr != 0 && addr != ~0) {
int i;
for (i = 0; i < rb->n_bypass; ++i)
{
if (addr == rb->bypass[i]) /* avoid duplicates */
return;
}
if (rb->n_bypass < N_ROUTE_BYPASS)
{
rb->bypass[rb->n_bypass++] = addr;
}
}
}
static void