From: Jo-Philipp Wich Date: Sun, 22 May 2011 13:09:51 +0000 (+0200) Subject: iw: Fix calculation of fractional multicast rates X-Git-Tag: v3.0~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e399be8c09ff962594afd5b3e0d111fc40aac38b;p=thirdparty%2Fiw.git iw: Fix calculation of fractional multicast rates Due to missing brackets around the "(int) rate * 10" expression the float value of "rate" is converted to an integer first and then multiplied which results for example in "50" instead of the expected "55" for a give rate of 5.5 Mbps, resulting in an invalid argument error from iw. This patch simply puts the multiplication expression in brackets, so that the type cast is performed on the result and not the first operand. Signed-off-by: Jo-Philipp Wich --- diff --git a/ibss.c b/ibss.c index ca8a4ec..b70dee3 100644 --- a/ibss.c +++ b/ibss.c @@ -104,7 +104,7 @@ static int join_ibss(struct nl80211_state *state, if (*end != '\0') return 1; - NLA_PUT_U32(msg, NL80211_ATTR_MCAST_RATE, (int) rate * 10); + NLA_PUT_U32(msg, NL80211_ATTR_MCAST_RATE, (int)(rate * 10)); argv++; argc--; }