From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <1477689186.23018.1.camel@perches.com> From: Joe Perches Date: Fri, 28 Oct 2016 14:13:06 -0700 In-Reply-To: <20161027190150.7880-18-sw@simonwunderlich.de> References: <20161027190150.7880-1-sw@simonwunderlich.de> <20161027190150.7880-18-sw@simonwunderlich.de> Content-Type: text/plain; charset="ISO-8859-1" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [B.A.T.M.A.N.] [PATCH 17/17] batman-adv: Avoid precedence issues in macros List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Simon Wunderlich , davem@davemloft.net Cc: netdev@vger.kernel.org, b.a.t.m.a.n@lists.open-mesh.org On Thu, 2016-10-27 at 21:01 +0200, Simon Wunderlich wrote: > From: Sven Eckelmann > > It must be avoided that arguments to a macro are evaluated ungrouped (which > enforces normal operator precendence). Otherwise the result of the macro > is not well defined. Curiosity: in net/batman-adv/tp_meter.c static int batadv_tp_send(void *arg) { struct batadv_tp_vars *tp_vars = arg; struct batadv_priv *bat_priv = tp_vars->bat_priv; struct batadv_hard_iface *primary_if = NULL; struct batadv_orig_node *orig_node = NULL; size_t payload_len, packet_len; int err = 0; if (unlikely(tp_vars->role != BATADV_TP_SENDER)) { err = BATADV_TP_REASON_DST_UNREACHABLE; tp_vars->reason = err; goto out; } orig_node = batadv_orig_hash_find(bat_priv, tp_vars->other_end); if (unlikely(!orig_node)) { err = BATADV_TP_REASON_DST_UNREACHABLE; tp_vars->reason = err; goto out; } primary_if = batadv_primary_if_get_selected(bat_priv); if (unlikely(!primary_if)) { err = BATADV_TP_REASON_DST_UNREACHABLE; goto out; } err is not used in the out block Is the last if block supposed to set tp_vars->reason to err?