diff mbox series

[2/3] connection: Optimize conditional '&&' clauses.

Message ID 20231130002309.1322111-3-gerickson@nuovations.com (mailing list archive)
State Not Applicable, archived
Headers show
Series connection: Optimize Conditional '&&' Clauses in '__connman_connection_gateway_remove' | expand

Commit Message

Grant Erickson Nov. 30, 2023, 12:23 a.m. UTC
This optimizes the conditional '&&' clauses in
'__connman_connection_gateway_remove' to take advantage of stored,
local state in 'set_default[46]' thereby avoiding redundant checks of
'do_ipv[46]', 'data->ipv[46]_config', and 'data->ipv[46]_config->vpn'.

In '__connman_connection_gateway_remove', local variables
'set_default[46]' are set to reflect the state of 'do_ipv[46] &&
data->ipv[46]_config' as well as that of 'data->ipv[46]_config->vpn',
effectively forming a three-conditional '&&'.

Then, shortly thereafter, with no intervening mutations of 'data',
'do_ipv[46]', 'data->ipv[46]_config', and 'data->ipv[46]_config->vpn'
are checked again, along with 'data->index >= 0', in a
four-conditional '&&'. Since the first three of those checks are
redundant and simply reflect the state of 'set_default[46]', three of
those four conditional '&&' terms can simply be replaced with
'set_default[46]'.

This change makes that replacement.
---
 src/connection.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/src/connection.c b/src/connection.c
index b5349834c813..647631e54324 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -1640,13 +1640,11 @@  void __connman_connection_gateway_remove(struct connman_service *service,
 
     /* If necessary, delete any VPN-related host routes. */
 
-	if (do_ipv4 && data->ipv4_config &&
-			data->ipv4_config->vpn && data->index >= 0)
+	if (set_default4 && data->index >= 0)
 		connman_inet_del_host_route(data->ipv4_config->vpn_phy_index,
 						data->ipv4_config->gateway);
 
-	if (do_ipv6 && data->ipv6_config &&
-			data->ipv6_config->vpn && data->index >= 0)
+	if (set_default6 && data->index >= 0)
 		connman_inet_del_ipv6_host_route(
 					data->ipv6_config->vpn_phy_index,
 						data->ipv6_config->gateway);