Re: [-mm patch] unionfs: make functions static

Adrian Bunk
2007-07-02T02:27:41Z

On Sun, Jul 01, 2007 at 09:42:49PM -0400, Josef Sipek wrote:
> On Sun, Jul 01, 2007 at 10:23:30PM +0200, Adrian Bunk wrote:
> > This patch makes some needlessly global functions static.
> >
> ...
> > --- linux-2.6.22-rc6-mm1/fs/unionfs/lookup.c.old 2007-07-01 00:05:02.000000000 +0200
> > +++ linux-2.6.22-rc6-mm1/fs/unionfs/lookup.c 2007-07-01 00:06:05.000000000 +0200
> > @@ -18,6 +18,8 @@
> >
> > #include "union.h"
> >
> > +static int realloc_dentry_private_data(struct dentry *dentry);
> > +
> > /* is the filename valid == !(whiteout for a file or opaque dir marker) */
>
> I forget who said it, but someone wasn't very happy with prototypes like
> that in .c files. What's the prefered way - are they ok for static symbols?

It might have even been me who said this - but about global functions.

For global functions, prototypes in header files allow gcc to check
whether the prototype matches the actual function. With a prototype
in the C file of the caller that's not possible, and if they are
different it can result in nasty runtime errors.

For static functions that's not an issue since gcc sees both the
prototype and the actual function.

> Josef "Jeff" Sipek.

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed