The __P has the definite down side that it looks ugly, and that in some
cases a compiler not-gcc may complain if the K&R style definition means
a different thing than the prototype;
int foo(short);
followed by
int foo(x)
short x;
{
...
}
is not happy for some compilers.
-s