[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
Re: lynx-dev Re: LYNX-DEV lynx_w32.zip feedback
From:
pg
Subject:
Re: lynx-dev Re: LYNX-DEV lynx_w32.zip feedback
Date:
1998年4月15日 12:29:46 -0600 (MDT)
In a recent note, T.E.Dickey said:
> Date: 1998年4月15日 12:28:42 -0400 (EDT)
>
> > > We could work around that by making the macro have the if statement
> > > the way it does now:
> > > #define DPRINTF(p) if (TRACE) dprintf p
> > >
> > Or, should it be:
> >
> > > #define DPRINTF(p) { if (TRACE) dprintf p; }
> >
> > to avoid dangling-else problems? The syntax of C leaves no proper way
> > to do this.
> well, if I put the if inside the function we don't have to worry about
> the compilers that don't like the curly braces either.
>
Perhaps safest is:
#define DPRINTF(p) ( TRACE && dprintf p )
Which avoids braces, encapsulates with parentheses (always recommended
for macro definitions), and avoids the "open if" problem in section
"Preprocessor 2.3" of Alan R. Feuer's "C Puzzle Book".
-- gil