One of the first actions of gw_election is to check whether curr_gw is not NULL. In that case it will jumps to out. The rest of the code (before out) can now assume that gw_node is NULL. Therefore the router is only changed when curr_gw_tmp. This makes some printks in this block unnecessary which handle the case that curr_gw_tmp is NULL.
Signed-off-by: Sven Eckelmann sven@narfation.org --- gateway_client.c | 24 +++++------------------- 1 files changed, 5 insertions(+), 19 deletions(-)
diff --git a/gateway_client.c b/gateway_client.c index 65f3953..939fbfd 100644 --- a/gateway_client.c +++ b/gateway_client.c @@ -185,29 +185,15 @@ void gw_election(struct bat_priv *bat_priv) neigh_node_free_ref(router); }
- if (curr_gw != curr_gw_tmp) { + if (curr_gw_tmp) { router = orig_node_get_router(curr_gw_tmp->orig_node); if (!router) goto unlock;
- if ((curr_gw) && (!curr_gw_tmp)) - bat_dbg(DBG_BATMAN, bat_priv, - "Removing selected gateway - " - "no gateway in range\n"); - else if ((!curr_gw) && (curr_gw_tmp)) - bat_dbg(DBG_BATMAN, bat_priv, - "Adding route to gateway %pM " - "(gw_flags: %i, tq: %i)\n", - curr_gw_tmp->orig_node->orig, - curr_gw_tmp->orig_node->gw_flags, - router->tq_avg); - else - bat_dbg(DBG_BATMAN, bat_priv, - "Changing route to gateway %pM " - "(gw_flags: %i, tq: %i)\n", - curr_gw_tmp->orig_node->orig, - curr_gw_tmp->orig_node->gw_flags, - router->tq_avg); + bat_dbg(DBG_BATMAN, bat_priv, + "Adding route to gateway %pM (gw_flags: %i, tq: %i)\n", + curr_gw_tmp->orig_node->orig, + curr_gw_tmp->orig_node->gw_flags, router->tq_avg);
neigh_node_free_ref(router); gw_select(bat_priv, curr_gw_tmp);