lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGRGNgVMOuWbeq8B-hrwtLvwdsVqdLV5UvCw8K6+JF5p0DHRoQ@mail.gmail.com>
Date:	Sat, 5 Dec 2015 12:32:16 +1100
From:	Julian Calaby <julian.calaby@...il.com>
To:	Finn Thain <fthain@...egraphics.com.au>
Cc:	Ondrej Zary <linux@...nbow-software.org>,
	Michael Schmitz <schmitzmic@...il.com>,
	linux-m68k@...r.kernel.org,
	linux-scsi <linux-scsi@...r.kernel.org>,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH 76/71] ncr5380: Enable PDMA for DTC chips

Hi Finn,

On Fri, Dec 4, 2015 at 7:38 PM, Finn Thain <fthain@...egraphics.com.au> wrote:
>
> On Fri, 4 Dec 2015, Julian Calaby wrote:
>
>> > -               if (overrides[current_override].board == BOARD_NCR53C400A) {
>> > +               if (overrides[current_override].board == BOARD_NCR53C400A ||
>> > +                   overrides[current_override].board == BOARD_DTC3181E) {
>>
>> These if statements are starting to get a bit long, would it make
>> sense to replace them with a flag or equivalent?
>
> To what end? Shorter lines? As in,

Pretty much, each expression is quite long and they seem to be growing
fairly rapidly as you and Ondrej discover similar boards.

>
>         if (board_is_ncr53c400a || board_is_dtc3181e) {
>                 /* ... */
>         }
>
> I suppose that could be an improvement if new flags would entirely replace
> the override.board struct member and the existing switch statement,
>
>         switch (overrides[current_override].board) {
>                 /* ... */
>         }
>
> Or maybe you meant testing a new flag something like this,
>
>         if (hostdata->ncr53c400_compatible) {
>                 /* ... */
>         }
>
> If your concern is the Don't Repeat Yourself rule, I'm not sure that new
> flag would get tested more than once (?) And it would still have to be
> assigned using an "objectionably" long expression, e.g.
>
>         hostdata->ncr53c400_compatible =
>                 overrides[current_override].board == BOARD_NCR53C400 ||
>                 overrides[current_override].board == BOARD_NCR53C400A ||
>                 overrides[current_override].board == BOARD_DTC3181E;
>
> Rather than add new flags, perhaps a 'switch' statement instead of an 'if'
> statement would be shorter (if the size of the expression is the problem).

I think switch statements would be cleaner in this particular
instance. I was thinking something like:

if (somthing->flags & NCR53C400_COMPATIBLE) {
    /* ... */
}

but if it's only ever going to be used once, then it's pretty
pointless and switch statements are cleaner.

Thanks,

-- 
Julian Calaby

Email: julian.calaby@...il.com
Profile: http://www.google.com/profiles/julian.calaby/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ