Henri Verbeet wrote:
2008/8/27 Nikolay Sivov bunglehead@gmail.com:
Markus Hitter wrote:
if (!attr || !attr->ObjectName) return STATUS_INVALID_PARAMETER;
Shouldn't this be splitted? It isn't safe to rely on evaluation order. Or is it a default compiler setting for us?
This is well defined in C. !attr will be evaluated first, and if it evaluates to true, the rest of the condition won't be evaluated. This is also known as short-circuit evaluation.
I thought it's possible to override this: not a evaluation order of course but the completeness of evaluation for debug purpose.