on1 construct

Brad Spear brad at sdcrdcf.UUCP
Thu Nov 8 06:18:08 AEST 1984

Silly me. If I had thought about it for 10 more minutes, I would have had a
better version the first time.  In this case, the _f doesn't have to be
negated every time. I thought I had ruled this case out, but I made a mistake
somewhere originally, and it does work.  Note that it depends on the fact
that "_f" is evaluated before "!(_f=FALSE)", which is what C is supposed to

#define ON_FIRST_TIME   static char _f = TRUE; if (_f && !(_f=FALSE))

This expression can be used like:

{       declarations ...

	  blah1, blah1, blah1 ...
	blah2, blah2, blah2 ...

It will cause "blah1, blah1, blah1 ..." to be executed the first time only.

It would be nice if someone could figure out how to make a non-function block
return a value, then the expression could go anywhere, and the _f could be
totally invisible.

Brad Spear

More information about the Comp.lang.c mailing list