Page 1 of 1

POSSIBLE mistake in SALVO2.2 !

PostPosted: Fri Jul 06, 2001 8:00 am
by luben

Looking into your SALVO.H files I accidentally felt on a place that I think is a mistake, or maybe I wrong.


// line 983
#define OSTA_TIMEDOUT 6 /* 110b */


// line 1829

#define OSTimedOut() OScTcbP->u.runStatus.state && OSTA_TIMEDOUT

It's not hard to see that using the OSTimedOut() will return always u.runStatus.state , just because one of the arguments of the function (&&) is always TRUE.

I looked at the old SALVO2.1 SALVO.H and I saw that there is used (==) instead of (&&) - I think this is more meaningful. In fact you're looking for OSTA_TIMEDOUT == 6 (timed out). Using && has different meaning and because one argument in macro is always TRUE, there is no sense to add it into macro at all. I mean, if && is the right logical operation then why in the macro you put argument that is always TRUE.

Or I wrong somewhere?


[This message has been edited by luben (edited July 06, 2001).]

[This message has been edited by luben (edited July 06, 2001).]