if/else block default coding style question

Robert P. J. Day rpjday at crashcourse.ca
Sat Oct 8 11:10:10 EDT 2016


On Sat, 8 Oct 2016, Valdis.Kletnieks at vt.edu wrote:

> On Sat, 08 Oct 2016 10:40:37 -0000, Nicholas Mc Guire said:
>
> >    } else if (rtlpcipriv->bt_coexist.bt_service == BT_PAN) {
> >            rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, tmp1byte);
> >    } else {
> >            rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, tmp1byte);
> >    }
>
> That *does* smell like a bug.  If nothing else, the last 'else if'
> can be removed.  Most likely case: somebody cut-n-pasted that last
> section in and failed to change it to a proper 'default' value and
> the code falls through to that one rarely enough that nobody has
> noticed.

  if that's the behaviour the developer actually wants, then yes, it's
messy. but i would be very careful just simplifying it wholesale,
since it also smacks of a typo where one copy-and-pasted to add the
default case, then forgot to tweak it to be different.

  rather than "fixing" it, i would bring it to the attention of the
maintainer, and ask him or her to resolve it.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================




More information about the Kernelnewbies mailing list