Date: Sat, 2 Jun 2012 02:04:16 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: John Baldwin <jhb@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, Eitan Adler <eadler@FreeBSD.org>, Bruce Evans <brde@optusnet.com.au> Subject: Re: svn commit: r236377 - head/sys/dev/vxge/vxgehal Message-ID: <20120602015640.P3206@besplex.bde.org> In-Reply-To: <201206011024.49122.jhb@freebsd.org> References: <201206010423.q514NKtf083043@svn.freebsd.org> <20120601150242.V1226@besplex.bde.org> <CAF6rxg=MWEDPVND8rZKM72P-1Z9GG%2Bqn99qHhbCNRwmFG=3buA@mail.gmail.com> <201206011024.49122.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 1 Jun 2012, John Baldwin wrote: > On Friday, June 01, 2012 2:23:42 am Eitan Adler wrote: >> On 31 May 2012 22:13, Bruce Evans <brde@optusnet.com.au> wrote: >>> This seems to change a style by (excessive parentheses for a normal >>> equality test) into logic bug (assignment of dtrh instead of compariing >>> with it). >> >> intentional - perhaps my commit message was poorly worded. >> >> The comment above says >> 283 /* >> 284 * restore a previously allocated dtrh at current offset and update >> 285 * the available reserve length accordingly. If dtrh is null just >> 286 * update the reserve length, only >> 287 */ >> >> and gnn confirmed that the patch as committed is correct. Oops. > This is why I personally loathe assignment side effects in boolean expressions > for control flow. I tend to write this sort of thing instead as: > > channel->dtr_arr[dtr_index].dtr = dtrh; > if (dtrh != NULL) { Except here you would have written: channel->dtr_arr[dtr_index].dtr = dtrh; if (dtrh == NULL) return; to avoid a large compound statement for the null case. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120602015640.P3206>