Re: [PATCH 2/2] mdadm.c: fix compile error "switch condition has boolean value"

From: jes . sorensen
Date: Wed Mar 29 2017 - 11:49:19 EST


Gioh Kim <gi-oh.kim@xxxxxxxxxxxxxxxx> writes:
> Remove a boolean expression in switch condition
> to prevent compile error of some compilers.

Please be specific, which compile is unable to handle this?

> Signed-off-by: Gioh Kim <gi-oh.kim@xxxxxxxxxxxxxxxx>
> ---
> mdadm.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/mdadm.c b/mdadm.c
> index 08ddcab..a98a051 100644
> --- a/mdadm.c
> +++ b/mdadm.c
> @@ -1905,11 +1905,11 @@ static int misc_list(struct mddev_dev *devlist,
> rv |= SetAction(dv->devname, c->action);
> continue;
> }
> - switch(dv->devname[0] == '/') {
> - case 0:
> + switch(dv->devname[0]) {
> + default:
> mdfd = open_dev(dv->devname);
> if (mdfd >= 0) break;
> - case 1:
> + case '/':
> mdfd = open_mddev(dv->devname, 1);
> }
> if (mdfd>=0) {

While I agree the original code is ugly, I am not convinced your
replacement is a lot prettier.

Thanks,
Jes