I see two kinds of warnings:
        warning: logical '||' with non-zero constant will always evaluate as 
true
        warning: logical '&&' with non-zero constant will always evaluate as 
true

The first statement is true, the second false. It can say (if the case is such)
        warning: logical '&&' with zero constant will always evaluate as false
and even warn of
        warning: logical '&&' with non-zero constant will have no effect

Actually, the statement leading to the '&&' warning has both logical operators.
Warning of the 'const ||' would actually be valid but none was issued.

#define SSA_ERRMSG_CHECK_BADRC  1       /* force error logging */
...
        if (rc > 0 && (SSA_ERRMSG_CHECK_BADRC || (SSA_LOG_ERRORS & flags)))

and I would expect these two warnings for this statement:
        warning: logical '||' with non-zero constant will always evaluate as 
true
        warning: logical '&&' with non-zero constant will have no effect

-- 
Eyal Lebedinsky ([EMAIL PROTECTED]) <http://samba.org/eyal/>
        attach .zip as .dat

Reply via email to