@lupyuen Unless the right side is secretly a variable: because someone has been developing in C in hubris mode (aka "I don't need fatal warnings, I know what I'm doing").

@chrysn Haha I doubt that's the intention 😉 I changed "=" to "==" and it seems to work fine

Follow

@lupyuen @chrysn
Yeah, it probably should be a "==", although I've often seen guys take advantage of the way "AND" conditionals are processed in order to assign variables (if the first condition is in not true, it won't bother to execute the second test and so the variable won't get assigned, but if the first condition is true the variable is assigned. It's bad form but seems to be accepted practice in some scripting languages.

@Pat @lupyuen I stand corrected: Neither gcc nor clang warn about this with -Werror -Wextra -pedantic. The needless parentheses hide the error (in a single statement there'd be a "warning: suggest parentheses around assignment used as truth value"), but nothing complains :-(

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.