[lvm-devel] Fwd: [linux-lvm] LVM2.2.02.103/tools/lvchange.c:779: bad if test ?
Brassow Jonathan
jbrassow at redhat.com
Thu Oct 24 15:48:23 UTC 2013
yup. We could just get rid of the checks for t, y, and n. The important one is the check for ':'.
Basically, we are asking if the user has supplied a mode (i.e. ':{n|y|t}). If not, then the meaning is the same as ':y' which we then append.
Later code checks if the last character is a proper y, n, or t; and errors if it is not.
The reason this logic hasn't caused any problems is because we only care about the ':' anyway - the rest is useless.
brassow
On Oct 24, 2013, at 6:51 AM, Marian Csontos wrote:
> And the && is wrong as well.
> So || instead of && and inside braces &&s instead of ||s.
>
> Now it matches anything /[^:].$/ but I believe it was intended to be /[^:].$|:[tyn]$/ which is wrong too but in fact should be /[^:].$/ so it is in fact weirdly written correct implementation. =8-O
>
> I wonder, is it possible to have the PV matching /:[^tyn]$/?
> In such case it is, then /:[tyn]$/ should be valid as well, shold not it?
>
> I suggest:
>
> if /[^:]./:
> - add default
> else if /:[^tyn]$/
> - should be internal error
> - recovery: last character should be _replaced_ by default
> else # /:[tyn]/
> - NOP
>
> -- Martian
>
> -------- Original Message --------
> Subject: [linux-lvm] LVM2.2.02.103/tools/lvchange.c:779: bad if test ?
> Date: Wed, 23 Oct 2013 20:26:04 +0000
> From: David Binderman <dcb314 at hotmail.com>
> Reply-To: LVM general discussion and development <linux-lvm at redhat.com>
> To: linux-lvm at redhat.com <linux-lvm at redhat.com>
>
> Hello there,
>
> I just compiled LVM2.2.02.103 with the extra Linux gcc compiler
> flag -Wlogical-op
>
> It said
>
> lvchange.c:779:10: warning: logical 'or' of collectively exhaustive tests is always true [-Wlogical-op]
>
> Source code is
>
> ((tmp_str[tmp_str_len - 1] != 't') ||
> (tmp_str[tmp_str_len - 1] != 'y') ||
> (tmp_str[tmp_str_len - 1] != 'n'))))
>
> Suggest swap || for &&
>
> Regards
>
> David Binderman
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm at redhat.com
> https://www.redhat.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
>
>
> --
> lvm-devel mailing list
> lvm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/lvm-devel
More information about the lvm-devel
mailing list