HI All,

There is a compiler error in the 2.15 version of CPIO (and maybe in
some previous versions, do not know for sure).  I do not know if this
bug has already been reported or not.  I assume that this bug is
related to the type of compiler I am using or else this would have
already been reported and presumably fixed.

The bug is at two places in the code base.  The bug is due to the
missing arguments on the declaration and definition of the global
variable 'xstat'.  I know that the C standards allow (or allowed) for
missing arguments in declarations, but my compiler is complaining
about this issue nonetheless. (for some reason).

The two files involved are:
src/extern.h
src/global.c
The original (buggy) version of the 'xstat' variable looks like:

src/extern.h: extern int (*xstat) ();
and
src/global.c: int (*xstat) ();

The fixed versions are:

src/extern.h: extern int (*xstat) (const char *,struct stat *);
and
src/global.c: int (*xstat) (const char *,struct stat *);

The compiler (using whatever default arguments supplied by the CPIO
build configuration) complained that when the 'xstat' variable is used
(calling the associated function) that too many arguments were
supplied.  I think that the build used the first compiler on my box
that it found, which was (I think) GNU GCC 14.2.0.

Regards,

----
Dave

Reply via email to