Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Jun 2006 15:44:30 +0300
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        Saifi <saifi@twincling.org>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: __P macro
Message-ID:  <20060608124430.GD4442@gothmog.pc>
In-Reply-To: <20060608051546.27320.qmail@coolhost77.com>
References:  <20060608051546.27320.qmail@coolhost77.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2006-06-08 10:45, Saifi <saifi@twincling.org> wrote:
> Hi:
>
> Most of the racoon code uses __P macro.
>
> and the __P macro is defined as -
>
> #undef __P
> #ifndef __P
> #if __STDC__
> #define __P(protos) protos
> #else
> #define __P(protos) ()
> #endif
> #endif
>
> It seems to make many expressions difficult to read -
> eg.
>
> static int (*pkrecvf[]) __P((caddr_t *)) = {
>  ...
> }
>
> What is the downside if this macro is not used in defining new
> function prototypes ?  (working with FreeBSD 5.4 and above with
> gcc 3.x compiler)

Your program may fail to compile with compilers that do not
support ANSI C function prototypes.  This includes some old,
pre-ANSI compilers.  How important these compilers are for your
particular application is debatable though.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060608124430.GD4442>